allocator, careadlinkat: Fix double-inclusion guard.
[gnulib.git] / ChangeLog
1 2011-04-09  Bruno Haible  <bruno@clisp.org>
2
3         allocator, careadlinkat: Fix double-inclusion guard.
4         * lib/allocator.h: Fix double-inclusion guard.
5         * lib/careadlinkat.h: Likewise.
6
7 2011-04-09  Bruno Haible  <bruno@clisp.org>
8
9         relocatable-prog-wrapper: Update after module 'areadlink' changed.
10         * lib/relocwrapper.c: Update dependencies hierarchy.
11         * build-aux/install-reloc: Update list of files to be compiled.
12         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
13         lib/allocator.[hc].
14
15 2011-04-08  Eric Blake  <eblake@redhat.com>
16
17         strftime: silence gnulib-tool warning
18         * modules/strftime-tests (Depends-on): Drop automatic dependency.
19
20 2011-04-08  Bruno Haible  <bruno@clisp.org>
21
22         verify: Fix syntax error with GCC 4.6 in C++ mode.
23         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
24         (HAVE_STATIC_ASSERT): New macro.
25         (verify_true, verify): Use 'static_assert' if it is supported and
26         '_Static_assert' is not supported.
27
28 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
29
30         allocator: New module.
31         * modules/allocator, lib/allocator.c: New files.
32         * lib/allocator.h (stdlib_allocator): New decl.
33         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
34         Remove.  Do not include <stdlib.h>.
35         (careadlinkat): Use stdlib_allocator instead of rolling our own.
36         * modules/careadlinkat (Files): Remove lib/allocator.h.
37         (Depends-on): Add allocator.
38
39         stdlib: let modules use system malloc, realloc
40         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
41         if !_GL_USE_STDLIB_ALLOC.
42         (malloc, realloc): Limit this change to a smaller scope.
43
44         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
45         (malloc, realloc): Don't #undef; no longer needed.
46         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
47         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
48         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
49         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
50         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
51         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
52         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
53         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
54
55         careadlinkat: rename members to avoid problem
56         * lib/allocator.h (struct allocator): Rename members from
57         malloc/realloc to allocate/reallocate, to avoid problems if malloc
58         and realloc are #define'd.  Reported by Eric Blake in
59         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
60         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
61
62 2011-04-08  Eric Blake  <eblake@redhat.com>
63
64         nonblocking: reduce dependency
65         * tests/test-nonblocking.c: Only test sockets when in use.
66         * modules/nonblocking-tests (Depends-on): Drop socket.
67         (Makefile.am): Link even if sockets are not present.
68         * modules/pipe2-tests (Makefile.am): Likewise.
69         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
70
71         pipe2: fix O_NONBLOCK support on mingw
72         * modules/pipe2 (Depends-on): Add nonblocking.
73         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
74         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
75         * tests/test-nonblocking.c (main): Likewise.
76         * modules/pipe2-tests (Makefile.am): Avoid link failure.
77
78         fcntl-h: fix O_ACCMODE on cygwin
79         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
80         * lib/fcntl.in.h (O_ACCMODE): Fix it.
81
82         pipe-filter: drop O_NONBLOCK workarounds
83         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
84         * modules/pipe-filter-ii (Depends-on): Likewise.
85         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
86
87         nonblocking: provide O_NONBLOCK for mingw
88         * modules/nonblocking (Depends-on): Add open.
89         (configure.ac): Set new witness macro.
90         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
91         * modules/fcntl-h (Makefile.am): Substitute it.
92         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
93         nonblocking module is in use.
94         * lib/nonblocking.c: Adjust portability test.
95         * lib/open.c (open): Don't let native open see gnulib flag.
96         * tests/test-fcntl-h.c (main): Enhance test.
97         * tests/test-open.h (test_open): Likewise.
98         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
99
100         careadlink: fix compilation error on mingw
101         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
102         within struct allocator.
103
104 2011-04-06  Eric Blake  <eblake@redhat.com>
105
106         binary-io: relicense under LGPLv2+
107         * modules/binary-io (License): Relax to LGPLv2+.
108         Requested for libvirt, and required by pipe2.
109
110 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
111
112         verify: use _Static_assert if available
113         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
114         (verify_true, verify): Use it if available.  This generates better
115         diagnostics with GCC 4.6.0 and later.
116
117 2011-04-05  Bruno Haible  <bruno@clisp.org>
118
119         Remove leftover generated .h files after config.status changed.
120
121         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
122         GL_GENERATE_ALLOCA_H.
123         * modules/alloca-opt (Makefile.am): Remove alloca.h if
124         GL_GENERATE_ALLOCA_H evaluates to false.
125
126         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
127         GL_GENERATE_ARGZ_H.
128         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
129         evaluates to false.
130
131         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
132         GL_GENERATE_BYTESWAP_H.
133         * modules/byteswap (Makefile.am): Remove byteswap.h if
134         GL_GENERATE_BYTESWAP_H evaluates to false.
135
136         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
137         GL_GENERATE_ERRNO_H.
138         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
139         evaluates to false.
140
141         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
142         GL_GENERATE_FLOAT_H.
143         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
144         evaluates to false.
145
146         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
147         GL_GENERATE_FNMATCH_H.
148         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
149         GL_GENERATE_FNMATCH_H evaluates to false.
150
151         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
152         GL_GENERATE_GLOB_H.
153         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
154         evaluates to false.
155
156         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
157         automake conditional GL_GENERATE_ICONV_H.
158         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
159         evaluates to false.
160
161         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
162         GL_GENERATE_NETINET_IN_H.
163         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
164         GL_GENERATE_NETINET_IN_H evaluates to false.
165
166         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
167         conditional GL_GENERATE_PTHREAD_H.
168         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
169         * modules/pthread (Makefile.am): Remove pthread.h if
170         GL_GENERATE_PTHREAD_H evaluates to false.
171
172         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
173         GL_GENERATE_SCHED_H.
174         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
175         evaluates to false.
176
177         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
178         conditional GL_GENERATE_SELINUX_CONTEXT_H.
179         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
180         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
181
182         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
183         GL_GENERATE_STDARG_H.
184         * modules/stdarg (Makefile.am): Remove stdarg.h if
185         GL_GENERATE_STDARG_H evaluates to false.
186
187         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
188         GL_GENERATE_STDBOOL_H.
189         * modules/stdbool (Makefile.am): Remove stdbool.h if
190         GL_GENERATE_STDBOOL_H evaluates to false.
191
192         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
193         conditional GL_GENERATE_STDDEF_H.
194         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
195         * modules/stddef (Makefile.am): Remove stddef.h if
196         GL_GENERATE_STDDEF_H evaluates to false.
197
198         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
199         GL_GENERATE_STDINT_H.
200         * modules/stdint (Makefile.am): Remove stdint.h if
201         GL_GENERATE_STDINT_H evaluates to false.
202
203         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
204         GL_GENERATE_SYSEXITS_H.
205         * modules/sysexits (Makefile.am): Remove sysexits.h if
206         GL_GENERATE_SYSEXITS_H evaluates to false.
207
208         Reported by Karl Berry and Ralf Wildenhues.
209
210 2011-04-05  Bruno Haible  <bruno@clisp.org>
211
212         Ensure to rebuild generated .h files when config.status has changed.
213         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
214         config.status.
215         * modules/ctype (Makefile.am): Likewise.
216         * modules/dirent (Makefile.am): Likewise.
217         * modules/errno (Makefile.am): Likewise.
218         * modules/fcntl-h (Makefile.am): Likewise.
219         * modules/float (Makefile.am): Likewise.
220         * modules/getopt-posix (Makefile.am): Likewise.
221         * modules/glob (Makefile.am): Likewise.
222         * modules/iconv-h (Makefile.am): Likewise.
223         * modules/inttypes (Makefile.am): Likewise.
224         * modules/langinfo (Makefile.am): Likewise.
225         * modules/locale (Makefile.am): Likewise.
226         * modules/math (Makefile.am): Likewise.
227         * modules/netdb (Makefile.am): Likewise.
228         * modules/netinet_in (Makefile.am): Likewise.
229         * modules/poll-h (Makefile.am): Likewise.
230         * modules/pthread (Makefile.am): Likewise.
231         * modules/pty (Makefile.am): Likewise.
232         * modules/sched (Makefile.am): Likewise.
233         * modules/search (Makefile.am): Likewise.
234         * modules/selinux-h (Makefile.am): Likewise.
235         * modules/signal (Makefile.am): Likewise.
236         * modules/spawn (Makefile.am): Likewise.
237         * modules/stdarg (Makefile.am): Likewise.
238         * modules/stdbool (Makefile.am): Likewise.
239         * modules/stddef (Makefile.am): Likewise.
240         * modules/stdint (Makefile.am): Likewise.
241         * modules/stdio (Makefile.am): Likewise.
242         * modules/stdlib (Makefile.am): Likewise.
243         * modules/string (Makefile.am): Likewise.
244         * modules/strings (Makefile.am): Likewise.
245         * modules/sys_file (Makefile.am): Likewise.
246         * modules/sys_ioctl (Makefile.am): Likewise.
247         * modules/sys_select (Makefile.am): Likewise.
248         * modules/sys_socket (Makefile.am): Likewise.
249         * modules/sys_stat (Makefile.am): Likewise.
250         * modules/sys_time (Makefile.am): Likewise.
251         * modules/sys_times (Makefile.am): Likewise.
252         * modules/sys_utsname (Makefile.am): Likewise.
253         * modules/sys_wait (Makefile.am): Likewise.
254         * modules/sysexits (Makefile.am): Likewise.
255         * modules/termios (Makefile.am): Likewise.
256         * modules/time (Makefile.am): Likewise.
257         * modules/unistd (Makefile.am): Likewise.
258         * modules/wchar (Makefile.am): Likewise.
259         * modules/wctype-h (Makefile.am): Likewise.
260         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
261
262 2011-04-05  Bruno Haible  <bruno@clisp.org>
263
264         pipe2: Relicense under LGPLv2+.
265         * modules/pipe2 (License): Change to LGPLv2+.
266         Requested by Eric Blake, for libvirt.
267
268 2011-04-05  Bruce Korb  <bkorb@gnu.org>
269
270         bootstrap: compute gnulib_extra_files after updating build_aux
271         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
272         change build_aux or also supply gnulib_extra_files.  Handle correctly.
273
274 2011-04-05  Eric Blake  <eblake@redhat.com>
275
276         bootstrap: preserve git whitelist item sorting
277         * build-aux/bootstrap (sort_patterns): New function.
278         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
279
280 2011-04-05  Simon Josefsson  <simon@josefsson.org>
281
282         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
283         sc_space_tab check.
284
285 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
286
287         areadlink, areadlinkat: rewrite in terms of careadlinkat
288         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
289         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
290         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
291         (malloc, realloc): Remove #undefs.
292         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
293         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
294         readlink, ssize_t, stdint, unistd.
295         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
296         areadlink, stdint.
297
298         careadlinkat: new module
299         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
300         * modules/careadlinkat: New files, written by me with
301         a review and feedback from Ben Pfaff in
302         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
303
304 2011-04-01  Bruno Haible  <bruno@clisp.org>
305
306         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
307         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
308         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
309         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
310         Reported by Bruce Korb <bruce.korb@gmail.com>.
311
312 2011-04-01  Bruno Haible  <bruno@clisp.org>
313
314         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
315         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
316         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
317         * modules/wcpcpy (Depends-on): Add extensions.
318         * modules/wcpncpy (Depends-on): Likewise.
319         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
320         systems.
321         * doc/posix-functions/wcpncpy.texi: Likewise.
322         * doc/posix-functions/wcwidth.texi: Likewise.
323
324 2011-03-31  Eric Blake  <eblake@redhat.com>
325
326         nonblocking: fix mingw test failures
327         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
328         non-blocking flag on regular file.
329         (get_nonblocking_flag): Set errno on invalid fd.
330         * tests/test-nonblocking.c (main): Avoid test failure on
331         directories if fchdir is not active.
332         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
333
334 2011-03-31  Bruno Haible  <bruno@clisp.org>
335
336         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
337         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
338         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
339         Reported by Simon Josefsson <simon@josefsson.org>.
340
341 2011-03-31  Bruno Haible  <bruno@clisp.org>
342         and Eric Blake  <eblake@redhat.com>
343
344         nonblocking: new module
345         * modules/nonblocking: New module.
346         * modules/nonblocking-tests: Likewise.
347         * lib/nonblocking.h: New file.
348         * lib/nonblocking.c: Likewise.
349         * tests/test-nonblocking.c: New test.
350         * lib/ioctl.c (ioctl) [mingw]: Update comment.
351
352 2011-03-30  Bruno Haible  <bruno@clisp.org>
353
354         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
355         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
356         instead of 'printf' format for GCC >= 4.4.
357         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
358         (fprintf, printf, vfprintf, vprintf): Declare with
359         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
360         the system's vfprintf() function.
361         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
362
363 2011-03-30  Eric Blake  <eblake@redhat.com>
364
365         passfd: fix scoping bug
366         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
367         before sendmsg/recvmsg.
368
369         passfd: standardize coding conventions
370         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
371         can be learned at compile time.
372         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
373         ifdefs.
374         (sendfd, recvfd): Follow gnulib code conventions.
375
376         passfd: fix incorrect sendmsg arguments
377         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
378         incorrect msg_controllen value.
379         * modules/passfd-tests (Depends-on): Check for alarm.
380         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
381         Reported by Bastien ROUCARIES.
382
383 2011-03-30  Bruno Haible  <bruno@clisp.org>
384
385         c-strcasestr: Relicense under LGPLv2+.
386         * modules/c-strcasestr (License): Change to LGPLv2+.
387         Requested by Eric Blake, for libvirt.
388
389 2011-03-30  Simon Josefsson  <simon@josefsson.org>
390
391         * users.txt: Add libidn2.  Fix libtasn1 link.
392
393 2011-03-30  Jim Meyering  <meyering@redhat.com>
394
395         tests: readlink* ("",... fails with EINVAL on newer kernels
396         readlink and readlinkat have typically failed with ENOENT for
397         the invalid, empty file name,  "".  However, with the advent
398         of linux-2.6.39, they fail with EINVAL.
399         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
400         when operating on the empty file name.
401         * tests/test-readlink.h (test_readlink): Likewise.
402
403 2011-03-29  Bruno Haible  <bruno@clisp.org>
404
405         Relicense some modules under LGPLv2+, for libidn2.
406         * modules/array-mergesort (License): Change to LGPLv2+.
407         * modules/c-strcaseeq (License): Likewise.
408         * modules/striconveh (License): Likewise.
409         * modules/striconveha (License): Likewise.
410         * modules/uniconv/base (License): Likewise.
411         * modules/uniconv/u8-conv-from-enc (License): Likewise.
412         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
413         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
414         * modules/unictype/base (License): Likewise.
415         * modules/unictype/bidiclass-of (License): Likewise.
416         * modules/unictype/category-M (License): Likewise.
417         * modules/unictype/category-none (License): Likewise.
418         * modules/unictype/category-of (License): Likewise.
419         * modules/unictype/category-test (License): Likewise.
420         * modules/unictype/category-test-withtable (License): Likewise.
421         * modules/unictype/combining-class (License): Likewise.
422         * modules/unictype/joiningtype-of (License): Likewise.
423         * modules/unictype/scripts (License): Likewise.
424         * modules/uninorm/base (License): Likewise.
425         * modules/uninorm/canonical-decomposition (License): Likewise.
426         * modules/uninorm/composition (License): Likewise.
427         * modules/uninorm/decompose-internal (License): Likewise.
428         * modules/uninorm/decomposition-table (License): Likewise.
429         * modules/uninorm/nfc (License): Likewise.
430         * modules/uninorm/nfd (License): Likewise.
431         * modules/uninorm/u32-normalize (License): Likewise.
432         * modules/unistr/base (License): Likewise.
433         * modules/unistr/u32-cpy (License): Likewise.
434         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
435         * modules/unistr/u32-to-u8 (License): Likewise.
436         * modules/unistr/u32-uctomb (License): Likewise.
437         * modules/unistr/u8-check (License): Likewise.
438         * modules/unistr/u8-mblen (License): Likewise.
439         * modules/unistr/u8-mbtouc (License): Likewise.
440         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
441         * modules/unistr/u8-mbtoucr (License): Likewise.
442         * modules/unistr/u8-prev (License): Likewise.
443         * modules/unistr/u8-strlen (License): Likewise.
444         * modules/unistr/u8-to-u32 (License): Likewise.
445         * modules/unistr/u8-uctomb (License): Likewise.
446         * modules/unitypes (License): Likewise.
447         Requested by Simon Josefsson.
448
449 2011-03-29  Simon Josefsson  <simon@josefsson.org>
450
451         lib-symbol-visibility: Add a notice.
452         * modules/lib-symbol-visibility (Notice): New field.
453
454 2011-03-29  Bruno Haible  <bruno@clisp.org>
455
456         getaddrinfo: Doc fix.
457         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
458         section "fixed in Gnulib".
459
460 2011-03-28  Simon Josefsson  <simon@josefsson.org>
461
462         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
463         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
464
465 2011-03-26  Bruno Haible  <bruno@clisp.org>
466
467         unictype/property-byname: Reduce the number of load-time relocations.
468         * lib/unictype/pr_byname.c: Include <stdlib.h>.
469         (UC_PROPERTY_INDEX_*): New enumeration values.
470         (uc_property_byname): Convert an index from the lookup table to an
471         uc_property_t.
472         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
473         values.
474
475 2011-03-26  Bruno Haible  <bruno@clisp.org>
476
477         unictype/property-byname: Allow omitted word separators and aliases.
478         * lib/unictype/pr_byname.gperf: Add property names without word
479         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
480         for 'space'.
481
482 2011-03-26  Bruno Haible  <bruno@clisp.org>
483
484         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
485         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
486         also hyphens to space.
487         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
488         without spaces.
489         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
490
491 2011-03-26  Bruno Haible  <bruno@clisp.org>
492
493         unictype/joiningtype-byname: Recognize long names as well.
494         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
495         a long name.
496         * lib/unictype/joiningtype_byname.c: Include <string.h>,
497         unictype/joiningtype_byname.h.
498         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
499         * lib/unictype/joiningtype_byname.gperf: New file.
500         * modules/unictype/joiningtype-byname (Files): Add
501         lib/unictype/joiningtype_byname.gperf.
502         (Depends-on): Add gperf.
503         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
504         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
505         long names.
506
507         Tests for module 'unictype/joiningtype-longname'.
508         * modules/unictype/joiningtype-longname-tests: New file.
509         * tests/unictype/test-joiningtype_longname.c: New file.
510
511         New module 'unictype/joiningtype-longname'.
512         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
513         * lib/unictype/joiningtype_longname.c: New file.
514         * modules/unictype/joiningtype-longname: New file.
515         * modules/unictype/joiningtype-all (Depends-on): Add
516         unictype/joiningtype-longname.
517
518 2011-03-26  Bruno Haible  <bruno@clisp.org>
519
520         unictype/bidiclass-byname: Recognize long names as well.
521         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
522         name.
523         * lib/unictype/bidi_byname.c: Include <string.h>,
524         unictype/bidi_byname.h.
525         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
526         * lib/unictype/bidi_byname.gperf: New file.
527         * modules/unictype/bidiclass-byname (Files): Add
528         lib/unictype/bidi_byname.gperf.
529         (Depends-on): Add gperf.
530         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
531         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
532         long names.
533
534         Tests for module 'unictype/bidiclass-longname'.
535         * modules/unictype/bidiclass-longname-tests: New file.
536         * tests/unictype/test-bidi_longname.c: New file.
537
538         New module 'unictype/bidiclass-longname'.
539         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
540         * lib/unictype/bidi_longname.c: New file.
541         * modules/unictype/bidiclass-longname: New file.
542         * modules/unictype/bidiclass-all (Depends-on): Add
543         unictype/bidiclass-longname.
544
545 2011-03-26  Bruno Haible  <bruno@clisp.org>
546
547         unictype/bidi*: Rename modules.
548         * modules/unictype/bidiclass-all: Renamed from
549         modules/unictype/bidicategory-all.
550         * modules/unictype/bidiclass-name: Renamed from
551         modules/unictype/bidiclass-name.
552         (Description): Update.
553         * modules/unictype/bidiclass-name-tests: Renamed from
554         modules/unictype/bidicategory-name-tests.
555         * modules/unictype/bidiclass-byname: Renamed from
556         modules/unictype/bidicategory-byname.
557         (Description): Update.
558         * modules/unictype/bidiclass-byname-tests: Renamed from
559         modules/unictype/bidicategory-byname-tests.
560         * modules/unictype/bidiclass-of: Renamed from
561         modules/unictype/bidicategory-of.
562         (Description): Update.
563         * modules/unictype/bidiclass-of-tests: Renamed from
564         modules/unictype/bidicategory-of-tests.
565         * modules/unictype/bidiclass-test: Renamed from
566         modules/unictype/bidicategory-test.
567         (Description): Update.
568         * modules/unictype/bidiclass-test-tests: Renamed from
569         modules/unictype/bidicategory-test-tests.
570         * modules/unictype/bidicategory-all: New file, a simple redirection.
571         * modules/unictype/bidicategory-name: Likewise.
572         * modules/unictype/bidicategory-byname: Likewise.
573         * modules/unictype/bidicategory-of: Likewise.
574         * modules/unictype/bidicategory-test: Likewise.
575         * modules/unictype/property-bidi-* (Dependencies): Update.
576         * lib/unictype/bidi_*.c: Update comment.
577
578 2011-03-26  Bruno Haible  <bruno@clisp.org>
579
580         unictype/bidi*: Rename functions, part 2.
581         * modules/unictype/bidicategory-name (configure.ac): Update required
582         libunistring version.
583         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
584
585 2011-03-25  Bruno Haible  <bruno@clisp.org>
586
587         New module 'unictype/combining-class-all'.
588         * modules/unictype/combining-class-all: New file.
589
590         Tests for module 'unictype/combining-class-byname'.
591         * modules/unictype/combining-class-byname-tests: New file.
592         * tests/unictype/test-combiningclass_byname.c: New file.
593
594         New module 'unictype/combining-class-byname'.
595         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
596         * lib/unictype/combiningclass_byname.c: New file.
597         * lib/unictype/combiningclass_byname.gperf: New file.
598         * modules/unictype/combining-class-byname: New file.
599
600         Tests for module 'unictype/combining-class-longname'.
601         * modules/unictype/combining-class-longname-tests: New file.
602         * tests/unictype/test-combiningclass_longname.c: New file.
603
604         New module 'unictype/combining-class-longname'.
605         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
606         * lib/unictype/combiningclass_longname.c: New file.
607         * modules/unictype/combining-class-longname: New file.
608
609         Tests for module 'unictype/combining-class-name'.
610         * modules/unictype/combining-class-name-tests: New file.
611         * tests/unictype/test-combiningclass_name.c: New file.
612
613         New module 'unictype/combining-class-name'.
614         * lib/unictype.in.h (uc_combining_class_name): New declaration.
615         * lib/unictype/combiningclass_name.c: New file.
616         * modules/unictype/combining-class-name: New file.
617
618 2011-03-25  Bruno Haible  <bruno@clisp.org>
619
620         unictype/combining-class: Rename source files.
621         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
622         of unictype/combining.h.
623         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
624         Update.
625         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
626         * modules/unictype/combining-class (Description): Fix.
627         (Files, Makefile.am): Update.
628         * tests/unictype/test-combiningclass.c: Renamed from
629         tests/unictype/test-combining.c.
630         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
631
632 2011-03-25  Bruno Haible  <bruno@clisp.org>
633
634         unictype: Update list of canonical combining classes.
635         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
636
637 2011-03-25  Bruno Haible  <bruno@clisp.org>
638
639         unictype/category-byname: Recognize long names as well.
640         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
641         a long name.
642         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
643         unictype/categ_byname.h.
644         (UC_CATEGORY_INDEX_*): New enumeration values.
645         (uc_general_category_byname): Use uc_general_category_lookup and
646         convert from index to value.
647         * lib/unictype/categ_byname.gperf: New file.
648         * modules/unictype/category-byname (Files): Add
649         lib/unictype/categ_byname.gperf.
650         (Depends-on): Add gperf.
651         (Makefile.am): Add rule for generating unictype/categ_byname.h.
652         * tests/unictype/test-categ_byname.c (main): Test the recognition of
653         long names.
654
655         Tests for module 'unictype/category-longname'.
656         * modules/unictype/category-longname-tests: New file.
657         * tests/unictype/test-categ_longname.c: New file.
658
659         New module 'unictype/category-longname'.
660         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
661         * lib/unictype/categ_longname.c: New file.
662         * modules/unictype/category-longname: New file.
663         * modules/unictype/category-all (Depends-on): Add it.
664
665 2011-03-25  Bruno Haible  <bruno@clisp.org>
666
667         Tests for module 'unictype/category-LC'.
668         * modules/unictype/category-LC-tests: New file.
669         * tests/unictype/test-categ_LC.c: New file, automatically generated.
670
671         New module 'unictype/category-LC'.
672         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
673         (UC_CATEGORY_LC): New declaration.
674         (UC_CASED_LETTER): New macro.
675         * lib/gen-uni-tables.c (is_category_LC): New function.
676         (output_categories): Also handle category LC.
677         (UC_CATEGORY_MASK_LC): New enumeration value.
678         (general_category_byname): Also handle category LC.
679         * lib/unictype/categ_LC.c: New file.
680         * lib/unictype/categ_LC.h: New file, automatically generated.
681         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
682         category LC.
683         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
684         * modules/unictype/category-LC: New file.
685         * modules/unictype/category-byname (Depends-on): Add
686         unictype/category-LC.
687         * modules/unictype/category-all (Depends-on): Likewise.
688
689 2011-03-25  Eric Blake  <eblake@redhat.com>
690
691         xmalloc: revert yesterday's regression
692         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
693         realloc's underlying behavior (allowing allocation of zero-size
694         objects, especially if malloc-gnu is also in use).
695
696 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
697
698         maint.mk: add missing version to VC-tag
699         * top/maint.mk: git tag was missing actual tag name; add it.
700
701         valgrind: do leak checking, and exit with code 1 on error (not 0)
702         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
703         to VALGRIND.
704
705 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
706
707         posix-modules: say what it does.
708         * posix-modules: Add a line to the --help output saying what it does.
709
710 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
711
712         xmalloc: Do not leak if underlying realloc is C99 compatible.
713         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
714         This avoids a leak on C99-based systems.  See
715         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
716
717 2011-03-24  Eric Blake  <eblake@redhat.com>
718
719         realloc: document portability problem
720         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
721         passing 0 size to realloc.
722
723 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
724
725         doc: update users.txt
726         * users.txt: Add cvsps, tmpwatch
727
728 2011-03-23  Matt Rice  <ratmice@gmail.com>
729
730         doc: update users.txt
731         * users.txt: Add gdb.
732
733 2011-03-23  Jim Meyering  <meyering@redhat.com>
734
735         doc: update users.txt
736         Looking through matches up to the following URL (there are still
737         several more pages), I found several projects that use gnulib:
738         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
739         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
740         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
741
742 2011-03-22  Bruno Haible  <bruno@clisp.org>
743
744         unictype/bidi*: Rename functions.
745         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
746         uc_bidi_class, uc_is_bidi_class): New declarations.
747         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
748         uc_bidi_category_byname.
749         (uc_bidi_category_byname): New function.
750         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
751         u_bidi_category_name.
752         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
753         (uc_bidi_category_name): New function.
754         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
755         uc_bidi_category.
756         (uc_bidi_category): New function.
757         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
758         uc_is_bidi_category. Invoke uc_bidi_class.
759         (uc_is_bidi_category): New function.
760         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
761         instead of uc_bidi_category_byname.
762         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
763         instead of uc_bidi_category_name.
764         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
765         uc_bidi_category.
766         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
767         instead of uc_is_bidi_category.
768
769 2011-03-21  Bruno Haible  <bruno@clisp.org>
770
771         New module 'unictype/joininggroup-all'.
772         * modules/unictype/joininggroup-all: New file.
773
774         Tests for module 'unictype/joininggroup-of'.
775         * modules/unictype/joininggroup-of-tests: New file.
776         * tests/unictype/test-joininggroup_of.c: New file.
777         * tests/unictype/test-joininggroup_of.h: New file, automatically
778         generated by gen-uni-tables.
779
780         New module 'unictype/joininggroup-of'.
781         * modules/unictype/joininggroup-of: New file.
782         * lib/unictype/joininggroup_of.c: New file.
783         * lib/unictype/joininggroup_of.h: New file, automatically generated by
784         gen-uni-tables.
785
786         Tests for module 'unictype/joininggroup-byname'.
787         * modules/unictype/joininggroup-byname-tests: New file.
788         * tests/unictype/test-joininggroup_byname.c: New file.
789
790         New module 'unictype/joininggroup-byname'.
791         * modules/unictype/joininggroup-byname: New file.
792         * lib/unictype/joininggroup_byname.c: New file.
793         * lib/unictype/joininggroup_byname.gperf: New file.
794
795         Tests for module 'unictype/joininggroup-name'.
796         * modules/unictype/joininggroup-name-tests: New file.
797         * tests/unictype/test-joininggroup_name.c: New file.
798
799         New module 'unictype/joininggroup-name'.
800         * modules/unictype/joininggroup-name: New file.
801         * lib/unictype/joininggroup_name.c: New file.
802         * lib/unictype/joininggroup_name.h: New file.
803
804         New module 'unictype/joiningtype-all'.
805         * modules/unictype/joiningtype-all: New file.
806
807         Tests for module 'unictype/joiningtype-of'.
808         * modules/unictype/joiningtype-of-tests: New file.
809         * tests/unictype/test-joiningtype_of.c: New file.
810         * tests/unictype/test-joiningtype_of.h: New file, automatically
811         generated by gen-uni-tables.
812
813         New module 'unictype/joiningtype-of'.
814         * modules/unictype/joiningtype-of: New file.
815         * lib/unictype/joiningtype_of.c: New file.
816         * lib/unictype/joiningtype_of.h: New file, automatically generated by
817         gen-uni-tables.
818
819         Tests for module 'unictype/joiningtype-byname'.
820         * modules/unictype/joiningtype-byname-tests: New file.
821         * tests/unictype/test-joiningtype_byname.c: New file.
822
823         New module 'unictype/joiningtype-byname'.
824         * modules/unictype/joiningtype-byname: New file.
825         * lib/unictype/joiningtype_byname.c: New file.
826
827         Tests for module 'unictype/joiningtype-name'.
828         * modules/unictype/joiningtype-name-tests: New file.
829         * tests/unictype/test-joiningtype_name.c: New file.
830
831         New module 'unictype/joiningtype-name'.
832         * modules/unictype/joiningtype-name: New file.
833         * lib/unictype/joiningtype_name.c: New file.
834
835         unictype: Add support for Arabic shaping properties.
836         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
837         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
838         declarations.
839         (UC_JOINING_GROUP_*): New enumeration values.
840         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
841         declarations.
842         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
843         (unicode_joining_type): New variable.
844         (UC_JOINING_GROUP_*): New enumeration values.
845         (unicode_joining_group): New variable.
846         (fill_arabicshaping, joining_type_as_c_identifier,
847         output_joining_type_test, output_joining_type,
848         joining_group_as_c_identifier, output_joining_group_test,
849         output_joining_group): New functions.
850         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
851         fill_arabicshaping and output_joining_type_test, output_joining_type,
852         output_joining_group_test, output_joining_group.
853         Reported by Simon Josefsson.
854
855 2011-03-21  Jim Meyering  <meyering@redhat.com>
856
857         strftime: fix a bug in yesterday's change
858         * lib/strftime.c (add): Accommodate width's initial value of -1.
859         Otherwise, nstrftime would copy uninitialized data into
860         the result buffer.
861
862 2011-03-21  Jim Meyering  <meyering@redhat.com>
863
864         tests: add strftime-tests module
865         * tests/test-strftime.c: New file.
866         * modules/strftime-tests: New module.
867
868 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
869
870         strftime: don't assume a byte count fits in 'int'
871         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
872         found this problem by static analysis, using gcc -Wstrict-overflow
873         (GCC 4.5.2, x86-64).  This reported an optimization that depended
874         on an integer overflow having undefined behavior, but it turns out
875         that the argument is a size, which might not fit in 'int' anyway,
876
877 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
878
879         stdio: don't require ignore_value around fwrite
880
881         This patch works around libc bug 11959
882         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
883         Without this patch, applications must often write
884         ignore_value (fwrite (...)) even though the ignore_value is
885         not helpful here.  It's common to write many objects, using
886         fwrite/printf/etc., and then use ferror to detect output error.
887
888         I considered making this patch optional, but decided against it,
889         because libc is obviously being inconsistent here: there is no
890         reason libc should insist that user code must inspect fwrite
891         return's value without also insisting that it inspect printf's,
892         putchar's, etc.  If user code wants to have a strict style where
893         all these functions' values are checked (so that ferror need not
894         be checked), we could add support for that style in a new gnulib
895         module, but in the meantime it's better to be consistent and to
896         support common usage.
897
898         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
899         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
900         that we are compiling in checking mode, and if not C++, and
901         if not already wrapping fwrite for some other reason.
902         (fwrite): #define to rpl_fwrite if the latter is defined.
903
904 2011-03-20  Bruno Haible  <bruno@clisp.org>
905
906         verror: Fix compilation error introduced on 2011-02-13.
907         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
908         instead of __attribute__.
909         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
910
911 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
912             Bruno Haible  <bruno@clisp.org>
913
914         socklen: do not depend on sys_socket
915         While trying to modify Emacs to use gnulib's socklen module,
916         I discovered a circular dependency: socklen depends on sys_socket
917         and vice versa.  Emacs can use socklen, but it does not need
918         sys_socket because it has its own substitute for sys/socket.h.
919         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
920         gl_TYPE_SOCKLEN_T.
921         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
922         gl_PREREQ_SYS_H_SOCKET.
923         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
924         gl_PREREQ_SYS_H_SOCKET.
925         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
926         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
927         * modules/socklen (Depends-on): Do not depend on sys_socket.
928         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
929
930 2011-03-20  Jim Meyering  <meyering@redhat.com>
931
932         maint.mk: sort file names *after* new transformation
933         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
934         prefix would have led to an unwarranted failure in GNU parted.
935         Sort after that transformation.
936
937 2011-03-19  Jim Meyering  <meyering@redhat.com>
938
939         maint.mk: fix po-file syntax-check rule
940         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
941         Patch by Bruno Haible.
942
943 2011-03-19  Bruno Haible  <bruno@clisp.org>
944
945         socklen: Update comment.
946         * m4/socklen.m4: Update comment about platforms.
947
948 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
949             Bruno Haible  <bruno@clisp.org>
950
951         inet_ntop, inet_pton: Simplify.
952         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
953         documented to provide socklen_t and we already depend on sys_socket.
954         * modules/inet_pton (Depends-on): Likewise.
955         * lib/arpa_inet.in.h: Adjust comment.
956
957 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
958             Bruno Haible  <bruno@clisp.org>
959
960         netdb: Simplify.
961         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
962         documented to provide socklen_t and we already depend on sys_socket.
963         * lib/netdb.in.h: Adjust comment.
964
965 2011-03-19  Bruno Haible  <bruno@clisp.org>
966
967         sys_socket, netdb: Document problem with socklen_t.
968         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
969         platforms.
970         * doc/posix-headers/netdb.texi: Likewise.
971
972 2011-03-18  Eric Blake  <eblake@redhat.com>
973
974         maint.mk: let po check work in VPATH build
975         * top/maint.mk (po_file): Allow cfg.mk override.
976         (sc_po_check): Allow VPATH use.
977         Reported by Jiri Denemark.
978
979 2011-03-16  Jim Meyering  <meyering@redhat.com>
980
981         maint.mk: allow fine-grained syntax-check exclusion via Make variables
982         Before, you would have had to create one .x-sc_ file per rule in order
983         to exempt offending files.  Now, you may instead use a Make variable --
984         usually defined in cfg.mk -- whose name identifies the affected rule.
985         * top/maint.mk (_sc_excl): Define.
986         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
987         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
988
989 2011-03-13  Bruno Haible  <bruno@clisp.org>
990
991         ignore-value tests: Avoid warnings.
992         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
993         empty for gcc < 3.4.
994
995 2011-03-13  Bruno Haible  <bruno@clisp.org>
996
997         passfd: Fix link error on Solaris.
998         * modules/passfd (Description): Correct.
999         (Depends-on): Add socketlib.
1000         (Link): New section.
1001         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
1002
1003 2011-03-13  Bruno Haible  <bruno@clisp.org>
1004
1005         passfd: Fix link error on AIX 5.2.
1006         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
1007
1008 2011-03-13  Bruno Haible  <bruno@clisp.org>
1009
1010         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
1011         * lib/sys_socket.in.h: Include <stddef.h>.
1012         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
1013         CMSG_FIRSTHDR. Remove unused variable.
1014
1015 2011-03-13  Bruno Haible  <bruno@clisp.org>
1016
1017         passfd: Fix compilation error on OpenBSD.
1018         * lib/passfd.c: Include <sys/uio.h>.
1019
1020 2011-03-13  Bruno Haible  <bruno@clisp.org>
1021
1022         passfd test: Fix warnings.
1023         * tests/test-passfd.c: Include <sys/wait.h>.
1024         (main): Fix typo.
1025
1026 2011-03-13  Bruno Haible  <bruno@clisp.org>
1027
1028         passfd module, part 4, tweaks.
1029         * tests/test-passfd.c: Reorder includes.
1030         (main): Fix perror and printf calls.
1031
1032 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1033
1034         passfd module, part 4.
1035         * modules/passfd-tests: New file.
1036         * tests/test-passfd.c: New file.
1037
1038 2011-03-13  Jim Meyering  <meyering@redhat.com>
1039
1040         Makefile: rely on GNU make; derive syntax-check rule names
1041         Rather than requiring that each sc_ rule be listed as a dependent
1042         of "check", use features of GNU make to derive the list.
1043         * Makefile (syntax-check-rules): Define.
1044         (check): Depend on the new variable, not the hard-coded list.
1045
1046 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
1047             Bruno Haible  <bruno@clisp.org>
1048
1049         passfd module, part 3.
1050         * lib/passfd.h (recvfd): Add a flags argument.
1051         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
1052         (recvfd): Add a flags argument.
1053         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
1054         exists.
1055         * modules/passfd (Depends-on): Add cloexec.
1056         Suggested by Eric Blake.
1057
1058 2011-03-13  Bruno Haible  <bruno@clisp.org>
1059
1060         passfd module, part 2, tweaks.
1061         * modules/passfd (Files): Reorder.
1062         (Depends-on): Remove errno.
1063         (Include): Remove <sys/socket.h>, <sys/un.h>.
1064         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
1065         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
1066         specification header. Include <sys/socket.h> always. Don't include
1067         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
1068         (sendfd): Clarify that it sets errno when it fails.
1069         (recvfd): Fix specification.
1070
1071 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1072
1073         passfd module, part 2.
1074         * modules/passfd: New file.
1075         * lib/passfd.h: New file.
1076         * lib/passfd.c: New file.
1077
1078 2011-03-12  Bruno Haible  <bruno@clisp.org>
1079
1080         wcswidth, mbswidth: Avoid integer overflow.
1081         * lib/wcswidth.c: Include <limits.h>.
1082         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
1083         * lib/mbswidth.c: Include <limits.h>.
1084         (mbsnwidth): Avoid 'int' overflow.
1085         Reported by Jim Meyering.
1086
1087 2011-03-12  Bruno Haible  <bruno@clisp.org>
1088
1089         futimens, utimensat: Avoid endless recursion on Solaris 10.
1090         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
1091         Solaris.
1092         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
1093         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
1094
1095 2011-03-11  Jim Meyering  <meyering@redhat.com>
1096
1097         maint.mk: relax a regexp to accommodate other formatting styles
1098         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
1099         between "ngettext" and the following "(".
1100
1101 2011-03-11  Pádraig Brady <P@draigBrady.com>
1102
1103         maint.mk: suppress a false positive warning
1104         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
1105         diagnostics are marked with ngettext.
1106
1107 2011-03-10  Eric Blake  <eblake@redhat.com>
1108
1109         wchar: add explicit dependencies, for Tru64
1110         * modules/mbmemcasecoll (Depends-on): Add wchar.
1111         * modules/mbtowc (Depends-on): Likewise.
1112         * modules/vasnprintf (Depends-on): Likewise.
1113         * modules/unistdio/u-printf-args (Depends-on): Likewise.
1114         * modules/wctomb (Depends-on): Likewise.
1115         Reported by Peter O'Gorman.
1116
1117 2011-03-08  Bruno Haible  <bruno@clisp.org>
1118
1119         passfd module, part 1, tweaks.
1120         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
1121         Improve indentation. Improve AC_MSG_CHECKING messages.
1122         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
1123         gl_SOCKET_FAMILIES.
1124
1125 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1126
1127         passfd module, part 1.
1128         * m4/afunix.m4: New file.
1129         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
1130         sockets.
1131
1132 2011-03-08  Bruno Haible  <bruno@clisp.org>
1133
1134         regex-quote: New API.
1135         * lib/regex-quote.h: Include <stdbool.h>.
1136         (struct regex_quote_spec): New type.
1137         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
1138         New declarations.
1139         (regex_quote_length, regex_quote_copy, regex_quote): Take a
1140         'const struct regex_quote_spec *' argument.
1141         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
1142         (pcre_special): New constant.
1143         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
1144         New functions.
1145         (regex_quote_length, regex_quote_copy, regex_quote): Take a
1146         'const struct regex_quote_spec *' argument.
1147         * modules/regex-quote (Depends-on): Add stdbool.
1148         * tests/test-regex-quote.c (check): Update for new API. Add test for
1149         anchored results.
1150         * NEWS: Mention the API change.
1151         Reported by Reuben Thomas and Eric Blake.
1152
1153 2011-03-06  Bruno Haible  <bruno@clisp.org>
1154
1155         regex-quote: Fix creation of POSIX extended regular expressions.
1156         * lib/regex-quote.c (ere_special): Add grouping and alternation
1157         operators.
1158
1159 2011-03-05  Bruno Haible  <bruno@clisp.org>
1160
1161         doc: Improve doc regarding autopoint vs. gnulib.
1162         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
1163         disable autopoint while running autoreconf.
1164         Suggested by Ralf Wildenhues.
1165
1166 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1167
1168         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
1169         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
1170
1171 2011-03-03  Bruce Korb  <bkorb@gnu.org>
1172
1173         parse-duration: remove xalloc.h dependency
1174         * lib/parse-duration.c (parse_period): handle NULL return from
1175         strdup instead of calling xstrdup().
1176         * modules/parse-duration: remove "xalloc" dependency
1177
1178 2011-03-03  Matthew Booth  <mbooth@redhat.com>
1179
1180         bootstrap: honor m4_base when running aclocal
1181         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
1182
1183 2011-03-02  Jim Meyering  <meyering@redhat.com>
1184
1185         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
1186         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
1187         on request from Matt Booth.
1188
1189 2011-03-01  Eric Blake  <eblake@redhat.com>
1190
1191         test-link: work on Hurd
1192         * tests/test-link.h (test_link): Hurd rejects linking directories
1193         with EISDIR instead of the POSIX-mandated EPERM.
1194
1195 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
1196
1197         stdio: simplify by moving files to printf-posix, sigpipe
1198         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
1199         since this symbol is needed only if printf is replaced.
1200         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
1201         Require gl_ASM_SYMBOL_PREFIX.
1202         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
1203         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
1204         (Depends-on): Add 'raise'.
1205         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
1206         * modules/stdio (Files): Remove lib/stdio-write.c,
1207         m4/asm-underscore.m4.
1208         (Depends-on): Remove 'raise'.
1209
1210         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
1211         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
1212         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
1213         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
1214
1215 2011-02-28  Bruno Haible  <bruno@clisp.org>
1216
1217         localcharset: Assume ANSI C behaviour of free().
1218         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
1219         calling free().
1220         Suggested by Simon Josefsson <simon@josefsson.org>.
1221
1222 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
1223             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
1224             Bruno Haible  <bruno@clisp.org>  (tiny change)
1225
1226         On Cygwin, use /proc file system instead of win32 API.
1227         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
1228         Win32 file names.
1229         (DllMain): Simplify by removing Cygwin specific code.
1230         (find_shared_library_fullname): Use Linux specific implementation also
1231         for Cygwin.
1232         (get_shared_library_fullname): Update accordingly.
1233         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
1234         Win32 file names.
1235         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
1236         Cygwin specific code.
1237
1238 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
1239             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
1240
1241         Fix OpenMP flag detection for various Fortran compilers.
1242         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
1243         OpenMP-conditional compilation construct, to force compile
1244         failure with missing OpenMP flag.
1245         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
1246
1247 2011-02-25  Eric Blake  <eblake@redhat.com>
1248
1249         strstr: expand test coverage
1250         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
1251         compilation.
1252         * tests/test-memmem.c (main): Duplicate tests.
1253         * tests/test-strcasestr.c (main): Likewise.
1254         * tests/test-c-strcasestr.c (main): Likewise.
1255
1256 2011-02-25  Jim Meyering  <meyering@redhat.com>
1257
1258         maint.mk: detect missing-NL-at-EOF, too
1259         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
1260         it also detects when a file lacks a newline at EOF.
1261         (require_exactly_one_NL_at_EOF_): Renamed from
1262         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
1263         since people may well have .x-sc_... file names tied to the
1264         existing name.  Suggested by Eric Blake.
1265
1266 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
1267
1268         dirname: move m4/dos.m4 functionality into lib/dosname.h
1269
1270         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
1271         extracts symbols from it, puts them into config.h; but it's much
1272         easier to use the symbols directly.  filename.h already does this,
1273         but it disagrees with dos.m4 in some respects.  This patch
1274         introduces a different include file dosname.h that packages up
1275         dos.m4, and then later we can work on merging filename.h and
1276         dosname.h.  Applications that need only the easy-to-configure
1277         symbols should consider including dosname.h rather than dirname.h.
1278         * NEWS: Mention incompatible changes.
1279         * m4/dos.m4: Remove.
1280         * lib/dosname.h, modules/dosname: New files.
1281         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
1282         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
1283         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
1284         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
1285         Include dosname.h, not dirname.h.
1286         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
1287         Include dosname.h, for definitions of symbols like ISSLASH
1288         that used to be in config.h.
1289         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
1290         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
1291         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
1292         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
1293         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
1294         * modules/rmdir (Files): Likewise.
1295         * modules/stat (Files): Likewise.
1296         * modules/unlink (Files): Likewise.
1297         * modules/dirname-lgpl (Depends-on): Add dosname.
1298         * modules/lstat (Depends-on): Likewise.
1299         * modules/openat (Depends-on): Likewise.
1300         * modules/rmdir (Depends-on): Likewise.
1301         * modules/savewd (Depends-on): Likewise.
1302         * modules/stat (Depends-on): Likewise.
1303         * modules/unlink (Depends-on): Likewise.
1304         * modules/openat (Depends-on): Remove dirname-lgpl.
1305         * modules/savewd (Depends-on): Likewise.
1306         * tests/test-dirname.c: Do not use removed symbols like
1307         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
1308         the remaining symbols, e.g., ISSLASH ('\\').
1309
1310 2011-02-25  Eric Blake  <eblake@redhat.com>
1311
1312         strstr: revert patches that introduced bug and pessimization
1313         * lib/str-two-way.h: Add another reference.
1314         (two_way_short_needle, two_way_long_needle): Revert changes from
1315         2011-02-24; they pessimize search speed.
1316         (critical_factorization): Partially revert changes from
1317         2010-06-22; they violate the requirement that the left half of the
1318         needle be smaller than the period of the needle.
1319
1320 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
1321
1322         filenamecat: remove unnecessary dependency on dirname-lgpl
1323         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
1324         is no direct dependency, just an indirect one via filenamecat-lgpl.
1325
1326         remove: remove unnecessary use of m4/dos.m4
1327         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
1328         * modules/remove (FILES): Remove m4/dos.m4.
1329
1330         * lib/openat-proc.c: Don't include dirname.h; not needed.
1331
1332         backupfile: remove unnecessary use of m4/dos.m4
1333         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
1334         of its symbols are used by the backupfile code.  backupfile.c does
1335         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
1336         for the rare case of programs that want all their backup file
1337         names to live within 8+3 limits, and dos.m4 doesn't address that.
1338         * modules/backupfile (Files): Remove m4/dos.m4.
1339
1340 2011-02-24  Jim Meyering  <meyering@redhat.com>
1341
1342         strstr: fix a bug whereby strstr would mistakenly return NULL
1343         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
1344         in period calculation.
1345         (two_way_long_needle): Likewise.
1346         The original problem was reported by Mike Stump in
1347         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
1348         Ralf Wildenhues provided the short needle and haystack.
1349         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
1350         Add a more involved test to trigger the bug in two_way_long_needle.
1351
1352 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
1353
1354         gnulib-tool: remove use of bold display in help screen
1355         * gnulib-tool (func_usage): Do not use bold display anymore in the
1356         help screen.  That was just meant to be a temporary emphasis for a
1357         backward-incompatible change.
1358
1359 2011-02-23  Bruno Haible  <bruno@clisp.org>
1360
1361         Fix misindentation of preprocessor directives.
1362         * lib/argp-namefrob.h: Reindent preprocessor directives.
1363         * lib/getopt_int.h (struct _getopt_data): Likewise.
1364         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
1365         * lib/vasnprintf.c (decode_long_double): Likewise.
1366         * tests/test-argmatch.c: Insert blank lines, for clarity.
1367         * tests/test-exclude.c: Likewise.
1368
1369 2011-02-22  Bruno Haible  <bruno@clisp.org>
1370
1371         ioctl: Fix for MacOS X in 64-bit mode.
1372         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
1373         value.
1374         Suggested by Eric Blake.
1375         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
1376
1377 2011-02-22  Jim Meyering  <meyering@redhat.com>
1378
1379         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
1380         * Makefile (sc_cpp_indent_check): Don't limit the check to files
1381         in lib/.
1382
1383 2011-02-22  Eric Blake  <eblake@redhat.com>
1384
1385         maint: avoid any CDPATH issue
1386         * Makefile (sc_cpp_indent_check): Anchor cd argument.
1387
1388         maint: adjust cpp indentation for my modules, as well
1389         * Makefile (sc_cpp_indent_check): Add my name.
1390         * lib/fbufmode.c: Filter through cppi.
1391         * lib/fpurge.c: Likewise.
1392         * lib/freadable.c: Likewise.
1393         * lib/freading.c: Likewise.
1394         * lib/fwritable.c: Likewise.
1395         * lib/fwriting.c: Likewise.
1396         * lib/sigaction.c: Likewise.
1397
1398 2011-02-22  Jim Meyering  <meyering@redhat.com>
1399
1400         maint: adjust cpp indentation to reflect nesting depth
1401         I.e., in a block of code that begins with an unnested "#if",
1402         put one space between the "#" in column 1 and following token.
1403         For example,
1404         -#include <sys/vfs.h>
1405         +# include <sys/vfs.h>
1406         Do this only in .c files that are part of a module I maintain.
1407         * lib/linkat.c: Filter through cppi.
1408         * lib/nanosleep.c: Likewise.
1409         * lib/openat.c: Likewise.
1410         * lib/openat-die.c: Likewise.
1411         * lib/dup3.c: Likewise.
1412         * lib/fchownat.c: Likewise.
1413         * lib/flock.c: Likewise.
1414         * lib/fsync.c: Likewise.
1415         * lib/fts.c: Likewise.
1416         * lib/getpass.c: Likewise.
1417         * lib/gettimeofday.c: Likewise.
1418         * lib/userspec.c: Likewise.
1419         * Makefile (sc_cpp_indent_check): New rule, to check this.
1420
1421 2011-02-22  Bruno Haible  <bruno@clisp.org>
1422
1423         New module 'wctomb'.
1424         * lib/stdlib.in.h (wctomb): New declaration.
1425         * lib/wctomb.c: New file.
1426         * lib/wctomb-impl.h: New file.
1427         * m4/wctomb.m4: New file.
1428         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
1429         REPLACE_WCTOMB.
1430         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
1431         REPLACE_WCTOMB.
1432         * modules/wctomb: New file.
1433         * tests/test-stdlib-c++.cc: Test signature of wctomb.
1434         * doc/posix-functions/wctomb.texi: Mention the new module.
1435         * modules/wctob (Depends-on): Add wctomb.
1436
1437 2011-02-22  Bruno Haible  <bruno@clisp.org>
1438
1439         New module 'mbtowc'.
1440         * lib/stdlib.in.h (mbtowc): New declaration.
1441         * lib/mbtowc.c: New file.
1442         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
1443         * m4/mbtowc.m4: New file.
1444         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
1445         REPLACE_MBTOWC.
1446         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
1447         REPLACE_MBTOWC.
1448         * modules/mbtowc: New file.
1449         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
1450         * doc/posix-functions/mbtowc.texi: Mention the new module.
1451         * modules/btowc (Depends-on): Add mbtowc.
1452
1453 2011-02-22  Bruno Haible  <bruno@clisp.org>
1454
1455         wcrtomb: Add more tests for native Windows platforms.
1456         * tests/test-wcrtomb-w32-1.sh: New file.
1457         * tests/test-wcrtomb-w32-2.sh: New file.
1458         * tests/test-wcrtomb-w32-3.sh: New file.
1459         * tests/test-wcrtomb-w32-4.sh: New file.
1460         * tests/test-wcrtomb-w32-5.sh: New file.
1461         * tests/test-wcrtomb-w32.c: New file.
1462         * modules/wcrtomb-tests (Files): Add them.
1463         (Makefile.am): Arrange to run these tests.
1464         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
1465         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
1466
1467 2011-02-20  Bruno Haible  <bruno@clisp.org>
1468
1469         wcrtomb: Enhance test.
1470         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
1471
1472 2011-02-20  Bruno Haible  <bruno@clisp.org>
1473
1474         mbrtowc: Tiny optimization.
1475         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
1476
1477 2011-02-20  Jim Meyering  <meyering@redhat.com>
1478
1479         test-exclude.c: remove unmatched #endif
1480         * tests/test-exclude.c: Remove stray #endif, left over from
1481         the change of a week ago.
1482
1483 2011-02-19  Jim Meyering  <meyering@redhat.com>
1484
1485         git-version-gen: skip "-dirty" check when appropriate
1486         * build-aux/git-version-gen: Don't run any git commands when the
1487         version string comes from .tarball-version.  Prior to this, we
1488         would run git update-index --refresh even from a just-unpacked
1489         tarball directory, and that could affect a .git/ directory in a
1490         parent of the build directory.  Reported by Mike Frysinger.
1491
1492 2011-02-19  Bruno Haible  <bruno@clisp.org>
1493
1494         unictype/property-byname: Reduce the size of the 'data' segment.
1495         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
1496
1497 2011-02-19  Bruno Haible  <bruno@clisp.org>
1498
1499         unictype/scripts: Reduce the size of the 'data' segment.
1500         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
1501         '%pic'.
1502         * lib/unictype/scripts_byname.gperf: Regenerated.
1503
1504 2011-02-19  Bruno Haible  <bruno@clisp.org>
1505
1506         stdint: Update documentation.
1507         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
1508
1509 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
1510
1511         stdint: omit redundant check for wchar.h
1512         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
1513         always tests whether wchar.h exists, so remove the now-redundant test.
1514
1515 2011-02-18  Bruno Haible  <bruno@clisp.org>
1516
1517         stdint: Cut dependency to module 'wchar'.
1518         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
1519         include the necessary prerequisites.
1520         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
1521         * modules/stdint (Depends-on): Remove wchar.
1522         (Makefile.am): Substitute HAVE_WCHAR_H.
1523         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
1524
1525 2011-02-18  Eric Blake  <eblake@redhat.com>
1526
1527         longlong: skip, rather than fail, on cross-compilation
1528         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
1529         when cross-compiling; regression from 2011-02-16.
1530
1531 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
1532
1533         * NEWS: Mention 2011-02-08 change to stdlib.
1534
1535 2011-02-17  Bruno Haible  <bruno@clisp.org>
1536
1537         getloadavg: Add comments about platforms.
1538         * m4/getloadavg.m4: Add comment.
1539         * lib/getloadavg.c: Likewise.
1540
1541 2011-02-17  Bruno Haible  <bruno@clisp.org>
1542
1543         getloadavg: Fix link error on Solaris 2.6.
1544         * modules/getloadavg (Link): New section.
1545         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
1546         linking test-getloadavg.
1547         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
1548         getloadavg.
1549
1550 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
1551
1552         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
1553         It was 'int', but this doesn't match the IRIX 6.5 manual.
1554         Suggested by Bruno Haible in
1555         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
1556
1557 2011-02-17  Bruno Haible  <bruno@clisp.org>
1558
1559         havelib: Fix comments.
1560         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
1561         change.
1562
1563 2011-02-17  Bruno Haible  <bruno@clisp.org>
1564
1565         havelib: Update config.rpath.
1566         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
1567
1568 2011-02-17  Bruno Haible  <bruno@clisp.org>
1569
1570         getloadavg test: Add some plausibility checks.
1571         * tests/test-getloadavg.c (check_avg): Print a warning when the value
1572         is improbable.
1573
1574 2011-02-16  Eric Blake  <eblake@redhat.com>
1575
1576         maintainer-makefile: make syntax-check a no-op from tarballs
1577         * top/maint.mk (no-vc-detected): New rule.
1578         (local-checks-available): Use it to avoid hanging if someone tries
1579         'make syntax-check' from a tarball.  Also append to any non-syntax
1580         checks already defined in cfg.mk.
1581
1582 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
1583
1584         longlong: tune, particularly for common case of c99
1585
1586         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
1587         or running anything if c99, or if unsigned long long int does not
1588         work.  In either case, we know the answer without further tests.
1589         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
1590         it at most once, and use its results for both long long int and
1591         unsigned long long int.  This is more likely to be efficient in
1592         the common case where the program wants to check for both long
1593         long int and unsigned long long int.
1594         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
1595         since the answer is already known.
1596
1597 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
1598
1599         getloadavg: set errno
1600         * lib/getloadavg.c: Set errno when returning -1.  If no other
1601         error number looks appropriate, set it to ENOSYS if the getloadavg
1602         looks like it can't possibly ever work, ENOTSUP otherwise.
1603         Suggested by Bruno Haible in
1604         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
1605
1606         getloadavg: trim unused parts and speed up 'configure'
1607         * NEWS: Document this.
1608         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
1609         always compiled if getloadavg is absent.
1610         Move test code to ...
1611         * tests/test-getloadavg.c: New file, containing previous
1612         contents of test from lib/getloadavg.c.  It also contains
1613         suggestions by Bruno Haible in
1614         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
1615         * modules/getloadavg-tests: New file.
1616         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
1617         Do tests in the same order as they're needed for getloadavg.c.
1618         Omit setgid-related tests that generate symbols KMEM_GROUP,
1619         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
1620         Do only the tests that are needed to see whether the system has
1621         getloadavg, moving the other tests into ...
1622         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
1623         NLIST_NAME_UNION; nobody should be using it.  Do not define
1624         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
1625         relevant, as the user of this module shouldn't care how getloadavg
1626         is implemented.
1627
1628         getloadavg: omit unused var
1629         * lib/getloadavg.c (getloadavg): Omit unused local variable.
1630
1631 2011-02-15  Jim Meyering  <meyering@redhat.com>
1632
1633         doc: update users.txt
1634         * users.txt: Update iwhd's URL.
1635
1636 2011-02-13  Bruno Haible  <bruno@clisp.org>
1637
1638         Consistent macro naming for macros that use GCC __attribute__.
1639         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
1640         _ATTRIBUTE_NONNULL_.
1641         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
1642         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
1643         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
1644         ATTRIBUTE_DEPRECATED.
1645         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
1646         ATTRIBUTE_NORETURN.
1647         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1648         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1649         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1650         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1651         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
1652         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
1653         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
1654         ATTRIBUTE_SENTINEL.
1655         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
1656         ATTRIBUTE_RETURN_CHECK.
1657         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
1658         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
1659         ATTRIBUTE_NORETURN.
1660         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
1661         Reported by Paul Eggert.
1662
1663 2011-02-13  Bruno Haible  <bruno@clisp.org>
1664
1665         Don't interfere with a program's definition of __attribute__.
1666         * lib/argp.h (__attribute__): Remove definition.
1667         (_GL_ATTRIBUTE_FORMAT): New macro.
1668         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
1669         * lib/argp-fmtstream.h (__attribute__): Remove definition.
1670         (_GL_ATTRIBUTE_FORMAT): New macro.
1671         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
1672         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
1673         GCC 3 or newer.
1674         * lib/error.h (__attribute__): Remove definition.
1675         (_GL_ATTRIBUTE_FORMAT): New macro.
1676         (error, error_at_line): Use it.
1677         * lib/hash.h (__attribute__): Remove definition.
1678         (ATTRIBUTE_WUR): Update definition. Define always.
1679         * lib/openat.h (__attribute__): Remove definition.
1680         (ATTRIBUTE_NORETURN): Update definition. Define always.
1681         * lib/sigpipe-die.h (__attribute__): Remove definition.
1682         (ATTRIBUTE_NORETURN): Update definition. Define always.
1683         * lib/vasnprintf.h (__attribute__): Remove definition.
1684         (_GL_ATTRIBUTE_FORMAT): New macro.
1685         (asnprintf, vasnprintf): Use it.
1686         * lib/xalloc.h (__attribute__): Remove definition.
1687         (ATTRIBUTE_NORETURN): Update definition. Define always.
1688         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
1689         * lib/xmemdup0.h (__attribute__): Remove definition.
1690         (ATTRIBUTE_NORETURN): Update definition. Define always.
1691         * lib/xprintf.h (__attribute__): Remove definition.
1692         (_GL_ATTRIBUTE_FORMAT): New macro.
1693         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
1694         * lib/xstrtol.h (__attribute__): Remove definition.
1695         (ATTRIBUTE_NORETURN): Update definition. Define always.
1696         * lib/xvasprintf.h (__attribute__): Remove definition.
1697         (_GL_ATTRIBUTE_FORMAT): New macro.
1698         (xasprintf, xvasprintf): Use it.
1699         * tests/test-argmatch.c (__attribute__): Remove definition.
1700         (ATTRIBUTE_NORETURN): Update definition. Define always.
1701         * tests/test-exclude.c (__attribute__): Remove definition.
1702         (ATTRIBUTE_NORETURN): Update definition. Define always.
1703         Reported by Paul Eggert.
1704
1705 2011-02-13  Bruno Haible  <bruno@clisp.org>
1706
1707         mbrtowc: Add more tests for native Windows platforms.
1708         * tests/test-mbrtowc-w32-1.sh: New file.
1709         * tests/test-mbrtowc-w32-2.sh: New file.
1710         * tests/test-mbrtowc-w32-3.sh: New file.
1711         * tests/test-mbrtowc-w32-4.sh: New file.
1712         * tests/test-mbrtowc-w32-5.sh: New file.
1713         * tests/test-mbrtowc-w32.c: New file.
1714         * modules/mbrtowc-tests (Files): Add them.
1715         (Makefile.am): Arrange to run these tests.
1716         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
1717         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
1718
1719 2011-02-13  Bruno Haible  <bruno@clisp.org>
1720
1721         mbrtowc: Work around native Windows bug.
1722         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
1723         guess when no suitable locale for testing was found.
1724         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
1725
1726 2011-02-13  Bruno Haible  <bruno@clisp.org>
1727
1728         mbsinit: Work around mingw bug.
1729         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
1730         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
1731         Windows.
1732         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
1733
1734 2011-02-13  Bruno Haible  <bruno@clisp.org>
1735
1736         mbsinit: Don't crash for a NULL argument.
1737         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
1738         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
1739
1740 2011-02-13  Bruno Haible  <bruno@clisp.org>
1741
1742         Don't interfere with a program's definition of __attribute__.
1743         * lib/stdio.in.h (__attribute__): Remove definition.
1744         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
1745         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
1746         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
1747         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
1748         * lib/string.in.h (__attribute__): Remove definition.
1749         Reported by Paul Eggert.
1750
1751 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
1752
1753         stdlib: don't get in the way of non-GCC __attribute__
1754         See thread starting at
1755         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
1756         Revert previous stdlib change, installing the following instead:
1757         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
1758         to get in the way of a non-GCC compiler that supports __attribute__.
1759         (_GL_ATTRIBUTE_RETURN): New macro.
1760         (_Exit): Use it instead of __attribute__.
1761
1762 2011-02-12  Bruno Haible  <bruno@clisp.org>
1763
1764         quotearg test: Avoid test failure on mingw.
1765         * tests/test-quotearg.sh: Convert the locale identifier from native
1766         Windows syntax to Unix syntax.
1767
1768 2011-02-12  Bruno Haible  <bruno@clisp.org>
1769
1770         setlocale: Prefer gnulib's override over libintl's override.
1771         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
1772         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
1773         GNULIB_defined_setlocale is set.
1774
1775 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
1776
1777         stdlib: support non-GCC __attribute__
1778
1779         Fix a serious and tricky problem encountered when attempting to
1780         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
1781         5.5, but it crashed due to memory corruption on Solaris 10 with
1782         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
1783         bits that are otherwise zero.  This tagging is optional inside
1784         Emacs but is preferred and is used when __attribute__ ((__aligned
1785         (8))) works, as it does with both recent-enough GCC and with Sun C
1786         5.11.  However, Sun C 5.11 is not GCC and does not #define
1787         __GNUC__ and __GNUC_MINOR__.
1788
1789         When I added the getloadavg module to Emacs, it brought in
1790         stdlib.in.h, which contained this fragment:
1791
1792            #ifndef __attribute__
1793            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
1794            #  define __attribute__(Spec)   /* empty */
1795            # endif
1796            #endif
1797
1798         When files that include <stdlib.h> were compiled with Sun C 5.11,
1799         the above code disabled __attribute__ ((__aligned (8))), which
1800         caused variables to not be properly aligned, which eventually led
1801         to the pointer corruption mentioned above.  (This was a bit hard
1802         to diagnose, unfortunately.)
1803
1804         Several "#define __attribute__(X) /* empty */" code snippets need
1805         to be eradicated from Gnulib to work with non-GCC compilers that
1806         support __attribute__.  The Autoconf way to do this is to test for
1807         each kind of attribute that we want support for, and selectively
1808         enable that in source code.
1809
1810         Fix this problem just for stdlib.h, by adding a test for the
1811         __noreturn__ attribute, and change stdlib.in.h to use that test
1812         when needed.  This technique can be easily generalized to the
1813         other *.in.h files and attributes, and a similar technique can be
1814         used for *.h and *.c files.  This patch is enough to solve the
1815         problem for Emacs + getloadavg, and I thought I'd publish it for
1816         feedback before undertaking further, similar fixes in other
1817         modules.
1818
1819         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
1820         because it's not needed for stdlib.h.  It merely substitutes the
1821         value directly into stdlib.h.  We may well need to #define it, or
1822         similar symbols, for other modules, but it's nice to also have an
1823         option to not #define it for applications like Emacs that do not
1824         need it.
1825
1826         * lib/stdlib.in.h (__attribute__): Do not #define.
1827         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
1828         be defined only if the _Exit module is also used.
1829         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
1830         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
1831         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
1832         platforms.
1833         * modules/_Exit (Files): Add m4/attribute.m4.
1834         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
1835         * m4/attribute.m4: New file.
1836
1837 2011-02-12  Bruno Haible  <bruno@clisp.org>
1838
1839         wcsrtombs: Work around bug on native Windows.
1840         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
1841         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
1842         instead of len.
1843         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
1844
1845 2011-02-12  Bruno Haible  <bruno@clisp.org>
1846
1847         mbsrtowcs: Work around bug on native Windows.
1848         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
1849         against mingw bug.
1850         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
1851
1852 2011-02-12  Bruno Haible  <bruno@clisp.org>
1853
1854         Avoid setlocale bugs in tests.
1855         * modules/btowc (Dependencies): Add setlocale.
1856         * modules/c-strcase (Dependencies): Likewise.
1857         * modules/mbmemcasecmp (Dependencies): Likewise.
1858         * modules/mbmemcasecoll (Dependencies): Likewise.
1859         * modules/mbrtowc (Dependencies): Likewise.
1860         * modules/mbscasecmp (Dependencies): Likewise.
1861         * modules/mbscasestr (Dependencies): Likewise.
1862         * modules/mbschr (Dependencies): Likewise.
1863         * modules/mbscspn (Dependencies): Likewise.
1864         * modules/mbsinit (Dependencies): Likewise.
1865         * modules/mbsncasecmp (Dependencies): Likewise.
1866         * modules/mbsnrtowcs (Dependencies): Likewise.
1867         * modules/mbspbrk (Dependencies): Likewise.
1868         * modules/mbspcasecmp (Dependencies): Likewise.
1869         * modules/mbsrchr (Dependencies): Likewise.
1870         * modules/mbsrtowcs (Dependencies): Likewise.
1871         * modules/mbsspn (Dependencies): Likewise.
1872         * modules/mbsstr (Dependencies): Likewise.
1873         * modules/nl_langinfo (Dependencies): Likewise.
1874         * modules/quotearg (Dependencies): Likewise.
1875         * modules/unicase/locale-language (Dependencies): Likewise.
1876         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
1877         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
1878         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
1879         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
1880         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
1881         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
1882         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
1883         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
1884         * modules/vasnprintf-posix (Dependencies): Likewise.
1885         * modules/wcrtomb (Dependencies): Likewise.
1886         * modules/wcsnrtombs (Dependencies): Likewise.
1887         * modules/wcsrtombs (Dependencies): Likewise.
1888
1889 2011-02-12  Bruno Haible  <bruno@clisp.org>
1890
1891         setlocale: Workaround native Windows bug.
1892         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
1893         succeeds but sets LC_CTYPE to "C", report a failure.
1894         * tests/test-setlocale2.sh: New file.
1895         * tests/test-setlocale2.c: New file.
1896         * modules/setlocale-tests (Files): Add the new files.
1897         (Makefile.am): Enable test-setlocale2.sh test.
1898         * doc/posix-functions/setlocale.texi: Mention workaround.
1899
1900 2011-02-11  Bruno Haible  <bruno@clisp.org>
1901
1902         Tests for module 'setlocale'.
1903         * modules/setlocale-tests: New file.
1904         * tests/test-setlocale1.sh: New file.
1905         * tests/test-setlocale1.c: New file.
1906
1907         New module 'setlocale'.
1908         * lib/locale.in.h (setlocale): New declaration.
1909         * lib/setlocale.c: New file, based on
1910         gettext/gettext-runtime/intl/setlocale.c.
1911         * m4/setlocale.m4: New file.
1912         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
1913         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
1914         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
1915         REPLACE_SETLOCALE.
1916         * modules/setlocale: New file.
1917         * tests/test-locale-c++.cc: Test the declaration of setlocale.
1918         * doc/posix-functions/setlocale.texi: Mention the new module.
1919
1920 2011-02-11  Bruno Haible  <bruno@clisp.org>
1921
1922         Prepare for locale dependent tests on mingw.
1923         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
1924         because it has the wrong locale encoding.
1925         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
1926         French_France.1252 instead of "fr".
1927         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
1928         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
1929         because it has the wrong locale encoding.
1930         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
1931         native Windows, try Turkish_Turkey.65001.
1932         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
1933         Chinese_China.54936.
1934
1935         Prepare for locale dependent tests on mingw.
1936         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
1937         differently.
1938         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
1939         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
1940         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
1941         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
1942
1943 2011-02-11  Eric Blake  <eblake@redhat.com>
1944
1945         strptime: avoid compiler warnings
1946         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
1947         compiler warnings about dead code.
1948         Reported by Daniel P. Berrange.
1949
1950 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
1951
1952         doc: update users.txt
1953         * users.txt: Add rcs.
1954
1955 2011-02-10  John W. Eaton  <jwe@gnu.org>
1956
1957         doc: update users.txt
1958         * users.txt: Add octave.
1959
1960 2011-02-10  Jim Meyering  <meyering@redhat.com>
1961
1962         doc: update users.txt
1963         * users.txt: Add iwhd.
1964
1965 2011-02-09  Bruno Haible  <bruno@clisp.org>
1966
1967         gnulib-tool: Make copyright notice adjustment more robust.
1968         * gnulib-tool (func_import): In sed_transform_main_lib_file,
1969         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
1970         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
1971         License".
1972         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
1973
1974 2011-02-06  Bruno Haible  <bruno@clisp.org>
1975
1976         New module 'towctrans'.
1977         * modules/towctrans: New file.
1978         * lib/wctype.in.h (towctrans): New declaration.
1979         * lib/towctrans.c: New file.
1980         * lib/towctrans-impl.h: New file.
1981         * m4/towctrans.m4: New file.
1982         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
1983         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
1984         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
1985         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
1986         * doc/posix-functions/towctrans.texi: Mention the new module.
1987
1988 2011-02-06  Bruno Haible  <bruno@clisp.org>
1989
1990         New module 'wctrans'.
1991         * modules/wctrans: New file.
1992         * lib/wctype.in.h (wctrans): New declaration.
1993         * lib/wctrans.c: New file.
1994         * lib/wctrans-impl.h: New file.
1995         * m4/wctrans.m4: New file.
1996         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
1997         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
1998         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
1999         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
2000         * doc/posix-functions/wctrans.texi: Mention the new module.
2001
2002 2011-02-06  Bruno Haible  <bruno@clisp.org>
2003
2004         New module 'iswctype'.
2005         * modules/iswctype: New file.
2006         * lib/wctype.in.h (iswctype): New declaration.
2007         * lib/iswctype.c: New file.
2008         * lib/iswctype-impl.h: New file.
2009         * m4/iswctype.m4: New file.
2010         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
2011         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
2012         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
2013         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
2014         * doc/posix-functions/iswctype.texi: Mention the new module and the
2015         HP-UX 11.00 problem.
2016
2017 2011-02-06  Bruno Haible  <bruno@clisp.org>
2018
2019         New module 'wctype'.
2020         * modules/wctype: Change to represent the wctype() substitute.
2021         * lib/wctype.in.h (wctype): New declaration.
2022         * lib/wctype.c: New file.
2023         * lib/wctype-impl.h: New file.
2024         * m4/wctype.m4: New file.
2025         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
2026         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
2027         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
2028         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
2029         * doc/posix-functions/wctype.texi: Mention the new module and the
2030         HP-UX 11.00 problem.
2031
2032 2011-02-06  Bruno Haible  <bruno@clisp.org>
2033
2034         wctype-h: Ensure wctype_t and wctrans_t are defined.
2035         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
2036         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
2037         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
2038         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
2039         HAVE_WCTRANS_T.
2040         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
2041
2042 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
2043
2044         flock: fix license typo
2045
2046         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
2047         omitted.
2048
2049 2011-02-08  Bruno Haible  <bruno@clisp.org>
2050
2051         Split large sed scripts, for HP-UX sed.
2052         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
2053         to avoid HP-UX limit of 99 commands, in the near future.
2054         * modules/stdlib (Makefile.am): Likewise.
2055         * modules/unistd (Makefile.am): Likewise.
2056         * modules/wchar (Makefile.am): Likewise.
2057         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
2058         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
2059         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
2060
2061 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
2062             Bruno Haible  <bruno@clisp.org>
2063
2064         stdlib: improve random_r modularization
2065         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
2066         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
2067         you also need the random_r module to get this material right.
2068         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
2069         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
2070         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
2071
2072 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
2073
2074         stdlib: don't depend on stdint
2075         * lib/stdlib.in.h: Don't include <stdint.h> merely because
2076         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
2077         be independent of whether stdint.h is needed.
2078         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
2079         here, instead of ...
2080         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
2081         struct random_data should be using the random_r module, not just
2082         the stdlib module (which wouldn't make sense: what package needs
2083         just struct random_data without also needing random_r?).
2084         * modules/stdlib (Depends-on): Remove stdint.
2085
2086         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
2087         See the thread rooted at
2088         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
2089         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
2090         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
2091         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
2092         __VMS)); previously it was always included (via fcntl--.h).
2093         (getloadavg): Do not use c_strtod.  Instead, approximate it by
2094         hand; this is good enough for load averages.  Also, do not use
2095         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
2096         flags directly if available and don't bother otherwise.  (Packages
2097         that need the extra reliability should use the modules that define
2098         these flags on older platforms that lack them.)
2099         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
2100         fcntl-safer.
2101
2102 2011-02-08  Jim Meyering  <meyering@redhat.com>
2103
2104         di-set.h, ino-map.h: add multiple-inclusion guard
2105         Technically, the guard is required only for ino-map.h, due to its
2106         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
2107         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
2108         * lib/ino-map.h: Likewise.
2109
2110 2011-02-06  Bruno Haible  <bruno@clisp.org>
2111
2112         iswblank: Ensure declaration on glibc systems.
2113         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
2114         * modules/iswblank (Dependencies): Add 'extensions'.
2115         * doc/posix-functions/iswblank.texi: Document the glibc problem.
2116
2117 2011-02-06  Bruno Haible  <bruno@clisp.org>
2118
2119         New module 'iswblank'.
2120         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
2121         * modules/iswblank: New file.
2122         * modules/wctype-h (Files): Remove lib/iswblank.c.
2123         (Makefile.am): Substitute GNULIB_ISWBLANK.
2124         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
2125         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
2126         (gl_WCTYPE_H_DEFAULTS): New macro.
2127         (gl_WCTYPE_H): Require it. Remove iswblank related code.
2128         * modules/iswblank-tests: New file.
2129         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
2130         * tests/test-wctype-h.c (main): Remove iswblank tests.
2131         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
2132         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
2133         of 'wctype-h'.
2134         * NEWS: Mention the change.
2135         * modules/mbchar (Depends-on): Add iswblank.
2136
2137 2011-02-08  Bruno Haible  <bruno@clisp.org>
2138
2139         di-set tests: Refactor.
2140         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
2141         unnecessary includes.
2142         (ASSERT): Remove macro.
2143         (main): Make C90 compliant by avoiding variable declaration after
2144         statement.
2145         * modules/di-set-tests (Files): Add tests/macros.h.
2146
2147 2011-02-08  Bruno Haible  <bruno@clisp.org>
2148
2149         ino-map tests: Refactor.
2150         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
2151         unnecessary includes.
2152         (ASSERT): Remove macro.
2153         (main): Make C90 compliant by avoiding variable declaration after
2154         statement.
2155         * modules/ino-map-tests (Files): Add tests/macros.h.
2156
2157 2011-02-08  Jim Meyering  <meyering@redhat.com>
2158
2159         di-set: add "const" to a cast
2160         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
2161         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
2162
2163 2011-02-06  Bruno Haible  <bruno@clisp.org>
2164
2165         Rename module 'wctype' to 'wctype-h'.
2166         * modules/wctype-h: Renamed from modules/wctype.
2167         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
2168         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
2169         (Files, Depends-on, Makefile.am): Update.
2170         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
2171         (Files, Makefile.am): Update.
2172         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
2173         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
2174         * doc/posix-headers/wctype.texi: Update.
2175         * doc/posix-functions/iswalnum.texi: Update.
2176         * doc/posix-functions/iswalpha.texi: Update.
2177         * doc/posix-functions/iswblank.texi: Update.
2178         * doc/posix-functions/iswcntrl.texi: Update.
2179         * doc/posix-functions/iswdigit.texi: Update.
2180         * doc/posix-functions/iswgraph.texi: Update.
2181         * doc/posix-functions/iswlower.texi: Update.
2182         * doc/posix-functions/iswprint.texi: Update.
2183         * doc/posix-functions/iswpunct.texi: Update.
2184         * doc/posix-functions/iswspace.texi: Update.
2185         * doc/posix-functions/iswupper.texi: Update.
2186         * doc/posix-functions/iswxdigit.texi: Update.
2187         * doc/posix-functions/towlower.texi: Update.
2188         * doc/posix-functions/towupper.texi: Update.
2189         * NEWS: Mention the change.
2190         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
2191         * modules/mbchar (Dependencies): Likewise.
2192         * modules/mbswidth (Dependencies): Likewise.
2193         * modules/quotearg (Dependencies): Likewise.
2194         * modules/regex (Dependencies): Likewise.
2195         * modules/wcscasecmp (Dependencies): Likewise.
2196         * modules/wcsncasecmp (Dependencies): Likewise.
2197         * modules/wcwidth (Dependencies): Likewise.
2198
2199 2011-02-06  Bruno Haible  <bruno@clisp.org>
2200
2201         New module 'wcswidth'.
2202         * modules/wcswidth: New file.
2203         * lib/wchar.in.h (wcswidth): New declaration.
2204         * lib/wcswidth.c: New file.
2205         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
2206         * m4/wcswidth.m4: New file.
2207         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
2208         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
2209         REPLACE_WCSWIDTH.
2210         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
2211         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
2212         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
2213         * doc/posix-functions/wcswidth.texi: Mention the new module.
2214
2215 2011-02-06  Bruno Haible  <bruno@clisp.org>
2216
2217         New module 'wcstok'.
2218         * modules/wcstok: New file.
2219         * lib/wchar.in.h (wcstok): New declaration.
2220         * lib/wcstok.c: New file.
2221         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
2222         * m4/wcstok.m4: New file.
2223         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
2224         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
2225         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
2226         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
2227         * doc/posix-functions/wcstok.texi: Mention the new module.
2228
2229 2011-02-06  Bruno Haible  <bruno@clisp.org>
2230
2231         New module 'wcsstr'.
2232         * modules/wcsstr: New file.
2233         * lib/wchar.in.h (wcsstr): New declaration.
2234         * lib/wcsstr.c: New file.
2235         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
2236         * m4/wcsstr.m4: New file.
2237         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
2238         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
2239         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
2240         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
2241         * doc/posix-functions/wcsstr.texi: Mention the new module.
2242
2243 2011-02-06  Bruno Haible  <bruno@clisp.org>
2244
2245         New module 'wcspbrk'.
2246         * modules/wcspbrk: New file.
2247         * lib/wchar.in.h (wcspbrk): New declaration.
2248         * lib/wcspbrk.c: New file.
2249         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
2250         * m4/wcspbrk.m4: New file.
2251         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
2252         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
2253         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
2254         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
2255         * doc/posix-functions/wcspbrk.texi: Mention the new module.
2256
2257 2011-02-06  Bruno Haible  <bruno@clisp.org>
2258
2259         New module 'wcsspn'.
2260         * modules/wcsspn: New file.
2261         * lib/wchar.in.h (wcsspn): New declaration.
2262         * lib/wcsspn.c: New file.
2263         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
2264         * m4/wcsspn.m4: New file.
2265         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
2266         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
2267         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
2268         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
2269         * doc/posix-functions/wcsspn.texi: Mention the new module.
2270
2271 2011-02-06  Bruno Haible  <bruno@clisp.org>
2272
2273         New module 'wcscspn'.
2274         * modules/wcscspn: New file.
2275         * lib/wchar.in.h (wcscspn): New declaration.
2276         * lib/wcscspn.c: New file.
2277         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
2278         * m4/wcscspn.m4: New file.
2279         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
2280         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
2281         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
2282         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
2283         * doc/posix-functions/wcscspn.texi: Mention the new module.
2284
2285 2011-02-06  Bruno Haible  <bruno@clisp.org>
2286
2287         New module 'wcsrchr'.
2288         * modules/wcsrchr: New file.
2289         * lib/wchar.in.h (wcsrchr): New declaration.
2290         * lib/wcsrchr.c: New file.
2291         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
2292         * m4/wcsrchr.m4: New file.
2293         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
2294         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
2295         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
2296         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
2297         * doc/posix-functions/wcsrchr.texi: Mention the new module.
2298
2299 2011-02-06  Bruno Haible  <bruno@clisp.org>
2300
2301         New module 'wcschr'.
2302         * modules/wcschr: New file.
2303         * lib/wchar.in.h (wcschr): New declaration.
2304         * lib/wcschr.c: New file.
2305         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
2306         * m4/wcschr.m4: New file.
2307         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
2308         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
2309         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
2310         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
2311         * doc/posix-functions/wcschr.texi: Mention the new module.
2312
2313 2011-02-06  Bruno Haible  <bruno@clisp.org>
2314
2315         New module 'wcsdup'.
2316         * modules/wcsdup: New file.
2317         * lib/wchar.in.h (wcsdup): New declaration.
2318         * lib/wcsdup.c: New file.
2319         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
2320         * m4/wcsdup.m4: New file.
2321         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
2322         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
2323         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
2324         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
2325         * doc/posix-functions/wcsdup.texi: Mention the new module.
2326
2327 2011-02-06  Bruno Haible  <bruno@clisp.org>
2328
2329         New module 'wcsxfrm'.
2330         * modules/wcsxfrm: New file.
2331         * lib/wchar.in.h (wcsxfrm): New declaration.
2332         * lib/wcsxfrm.c: New file.
2333         * lib/wcsxfrm-impl.h: New file.
2334         * m4/wcsxfrm.m4: New file.
2335         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
2336         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
2337         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
2338         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
2339         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
2340
2341 2011-02-06  Bruno Haible  <bruno@clisp.org>
2342
2343         New module 'wcscoll'.
2344         * modules/wcscoll: New file.
2345         * lib/wchar.in.h (wcscoll): New declaration.
2346         * lib/wcscoll.c: New file.
2347         * lib/wcscoll-impl.h: New file.
2348         * m4/wcscoll.m4: New file.
2349         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
2350         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
2351         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
2352         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
2353         * doc/posix-functions/wcscoll.texi: Mention the new module.
2354
2355 2011-02-06  Bruno Haible  <bruno@clisp.org>
2356
2357         New module 'wcsncasecmp'.
2358         * modules/wcsncasecmp: New file.
2359         * lib/wchar.in.h (wcsncasecmp): New declaration.
2360         * lib/wcsncasecmp.c: New file.
2361         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
2362         * m4/wcsncasecmp.m4: New file.
2363         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
2364         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
2365         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
2366         HAVE_WCSNCASECMP.
2367         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
2368         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
2369
2370 2011-02-06  Bruno Haible  <bruno@clisp.org>
2371
2372         New module 'wcscasecmp'.
2373         * modules/wcscasecmp: New file.
2374         * lib/wchar.in.h (wcscasecmp): New declaration.
2375         * lib/wcscasecmp.c: New file.
2376         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
2377         * m4/wcscasecmp.m4: New file.
2378         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
2379         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
2380         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
2381         HAVE_WCSCASECMP.
2382         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
2383         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
2384
2385 2011-02-05  Bruno Haible  <bruno@clisp.org>
2386
2387         New module 'wcsncmp'.
2388         * modules/wcsncmp: New file.
2389         * lib/wchar.in.h (wcsncmp): New declaration.
2390         * lib/wcsncmp.c: New file.
2391         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
2392         * m4/wcsncmp.m4: New file.
2393         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
2394         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
2395         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
2396         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
2397         * doc/posix-functions/wcsncmp.texi: Mention the new module.
2398
2399 2011-02-05  Bruno Haible  <bruno@clisp.org>
2400
2401         New module 'wcscmp'.
2402         * modules/wcscmp: New file.
2403         * lib/wchar.in.h (wcscmp): New declaration.
2404         * lib/wcscmp.c: New file.
2405         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
2406         * m4/wcscmp.m4: New file.
2407         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
2408         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
2409         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
2410         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
2411         * doc/posix-functions/wcscmp.texi: Mention the new module.
2412
2413 2011-02-05  Bruno Haible  <bruno@clisp.org>
2414
2415         New module 'wcsncat'.
2416         * modules/wcsncat: New file.
2417         * lib/wchar.in.h (wcsncat): New declaration.
2418         * lib/wcsncat.c: New file.
2419         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
2420         * m4/wcsncat.m4: New file.
2421         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
2422         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
2423         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
2424         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
2425         * doc/posix-functions/wcsncat.texi: Mention the new module.
2426
2427 2011-02-05  Bruno Haible  <bruno@clisp.org>
2428
2429         New module 'wcscat'.
2430         * modules/wcscat: New file.
2431         * lib/wchar.in.h (wcscat): New declaration.
2432         * lib/wcscat.c: New file.
2433         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
2434         * m4/wcscat.m4: New file.
2435         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
2436         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
2437         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
2438         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
2439         * doc/posix-functions/wcscat.texi: Mention the new module.
2440
2441 2011-02-05  Bruno Haible  <bruno@clisp.org>
2442
2443         New module 'wcpncpy'.
2444         * modules/wcpncpy: New file.
2445         * lib/wchar.in.h (wcpncpy): New declaration.
2446         * lib/wcpncpy.c: New file.
2447         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
2448         * m4/wcpncpy.m4: New file.
2449         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
2450         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
2451         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
2452         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
2453         * doc/posix-functions/wcpncpy.texi: Mention the new module.
2454
2455 2011-02-05  Bruno Haible  <bruno@clisp.org>
2456
2457         New module 'wcsncpy'.
2458         * modules/wcsncpy: New file.
2459         * lib/wchar.in.h (wcsncpy): New declaration.
2460         * lib/wcsncpy.c: New file.
2461         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
2462         * m4/wcsncpy.m4: New file.
2463         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
2464         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
2465         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
2466         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
2467         * doc/posix-functions/wcsncpy.texi: Mention the new module.
2468
2469 2011-02-05  Bruno Haible  <bruno@clisp.org>
2470
2471         New module 'wcpcpy'.
2472         * modules/wcpcpy: New file.
2473         * lib/wchar.in.h (wcpcpy): New declaration.
2474         * lib/wcpcpy.c: New file.
2475         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
2476         * m4/wcpcpy.m4: New file.
2477         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
2478         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
2479         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
2480         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
2481         * doc/posix-functions/wcpcpy.texi: Mention the new module.
2482
2483 2011-02-05  Bruno Haible  <bruno@clisp.org>
2484
2485         New module 'wcscpy'.
2486         * modules/wcscpy: New file.
2487         * lib/wchar.in.h (wcscpy): New declaration.
2488         * lib/wcscpy.c: New file.
2489         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
2490         * m4/wcscpy.m4: New file.
2491         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
2492         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
2493         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
2494         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
2495         * doc/posix-functions/wcscpy.texi: Mention the new module.
2496
2497 2011-02-05  Bruno Haible  <bruno@clisp.org>
2498
2499         New module 'wcsnlen'.
2500         * modules/wcsnlen: New file.
2501         * lib/wchar.in.h (wcsnlen): New declaration.
2502         * lib/wcsnlen.c: New file.
2503         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
2504         * m4/wcsnlen.m4: New file.
2505         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
2506         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
2507         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
2508         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
2509         * doc/posix-functions/wcsnlen.texi: Mention the new module.
2510
2511 2011-02-05  Bruno Haible  <bruno@clisp.org>
2512
2513         New module 'wcslen'.
2514         * modules/wcslen: New file.
2515         * lib/wchar.in.h (wcslen): New declaration.
2516         * lib/wcslen.c: New file.
2517         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
2518         * m4/wcslen.m4: New file.
2519         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
2520         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
2521         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
2522         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
2523         * doc/posix-functions/wcslen.texi: Mention the new module.
2524
2525 2011-02-05  Bruno Haible  <bruno@clisp.org>
2526
2527         New module 'wmemset'.
2528         * modules/wmemset: New file.
2529         * lib/wchar.in.h (wmemset): New declaration.
2530         * lib/wmemset.c: New file.
2531         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
2532         * m4/wmemset.m4: New file.
2533         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
2534         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
2535         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
2536         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
2537         * doc/posix-functions/wmemset.texi: Mention the new module.
2538
2539 2011-02-05  Bruno Haible  <bruno@clisp.org>
2540
2541         New module 'wmemmove'.
2542         * modules/wmemmove: New file.
2543         * lib/wchar.in.h (wmemmove): New declaration.
2544         * lib/wmemmove.c: New file.
2545         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
2546         * m4/wmemmove.m4: New file.
2547         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
2548         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
2549         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
2550         HAVE_WMEMMOVE.
2551         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
2552         * doc/posix-functions/wmemmove.texi: Mention the new module.
2553
2554 2011-02-05  Bruno Haible  <bruno@clisp.org>
2555
2556         New module 'wmemcpy'.
2557         * modules/wmemcpy: New file.
2558         * lib/wchar.in.h (wmemcpy): New declaration.
2559         * lib/wmemcpy.c: New file.
2560         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
2561         * m4/wmemcpy.m4: New file.
2562         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
2563         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
2564         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
2565         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
2566         * doc/posix-functions/wmemcpy.texi: Mention the new module.
2567
2568 2011-02-05  Bruno Haible  <bruno@clisp.org>
2569
2570         New module 'wmemcmp'.
2571         * modules/wmemcmp: New file.
2572         * lib/wchar.in.h (wmemcmp): New declaration.
2573         * lib/wmemcmp.c: New file.
2574         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
2575         * m4/wmemcmp.m4: New file.
2576         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
2577         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
2578         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
2579         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
2580         * doc/posix-functions/wmemcmp.texi: Mention the new module.
2581
2582 2011-02-07  Jim Meyering  <meyering@redhat.com>
2583
2584         di-set, ino-map: new modules, from coreutils
2585         * lib/di-set.c: New file.
2586         * lib/di-set.h: Likewise.
2587         * lib/ino-map.c: Likewise.
2588         * lib/ino-map.h: Likewise.
2589         * modules/di-set: Likewise.
2590         * modules/di-set-tests: Likewise.
2591         * modules/ino-map: Likewise.
2592         * modules/ino-map-tests: Likewise.
2593         * tests/test-di-set.c: Likewise.
2594         * tests/test-ino-map.c: Likewise.
2595
2596 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
2597
2598         getloadavg: merge minor changes from Emacs
2599
2600         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
2601         (getloadavg): Use memset, not bzero.
2602
2603         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
2604         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2605         clash (bug#86).
2606
2607 2010-11-14  Bruno Haible  <bruno@clisp.org>
2608
2609         Allow multiple gnulib generated replacements to coexist.
2610         * lib/getopt.in.h (struct option): Avoid identical redefinition.
2611         * lib/inttypes.in.h (imaxdiv_t): Likewise.
2612         * lib/langinfo.in.h (nl_item): Likewise.
2613         * lib/math.in.h (_NaN, NAN): Likewise.
2614         * lib/netdb.in.h (struct addrinfo): Likewise.
2615         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
2616         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
2617         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
2618         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
2619         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
2620         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
2621         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
2622         pthread_mutexattr_init, pthread_mutexattr_settype,
2623         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
2624         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
2625         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
2626         pthread_spin_trylock, pthread_spin_unlock): Likewise.
2627         * lib/sched.in.h (struct sched_param): Likewise.
2628         * lib/se-selinux.in.h (security_class_t, security_context_t,
2629         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
2630         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
2631         lsetfilecon, fsetfilecon, security_check_context,
2632         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
2633         Likewise.
2634         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
2635         Likewise.
2636         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
2637         _gl_function_taking_int_returning_void_t, union sigval,
2638         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
2639         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
2640         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
2641         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
2642         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
2643         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
2644         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
2645         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
2646         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
2647         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
2648         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
2649         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
2650         socklen_t, rpl_fd_isset): Likewise.
2651         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
2652         * lib/sys_time.in.h (struct timeval): Likewise.
2653         * lib/sys_times.in.h (struct tms): Likewise.
2654         * lib/sys_utsname.in.h (struct utsname):
2655         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
2656         * lib/unistd.in.h (getpagesize): Likewise.
2657         * lib/wchar.in.h (mbstate_t): Likewise.
2658         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
2659         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
2660         towlower, towupper): Likewise.
2661         Reported by Sam Steingold <sds@gnu.org>.
2662
2663 2011-02-05  Eric Blake  <eblake@redhat.com>
2664
2665         unsetenv: work around Haiku issues
2666         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
2667         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
2668
2669 2010-12-30  Bruce Korb  <bkorb@gnu.org>
2670
2671         libposix: avoid calling error() within libposix
2672         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
2673         is defined.
2674
2675 2011-02-05  Eric Blake  <eblake@redhat.com>
2676
2677         strerror_r-posix: port to cygwin
2678         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
2679         implementation.
2680         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
2681         * tests/test-strerror_r.c (main): Fix test.
2682         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
2683         issue.
2684
2685 2011-02-05  Bruno Haible  <bruno@clisp.org>
2686
2687         New module 'wmemchr'.
2688         * modules/wmemchr: New file.
2689         * lib/wchar.in.h (wmemchr): New declaration.
2690         * lib/wmemchr.c: New file.
2691         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
2692         * m4/wmemchr.m4: New file.
2693         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
2694         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
2695         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
2696         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
2697         * doc/posix-functions/wmemchr.texi: Mention the new module.
2698
2699 2011-02-04  Eric Blake  <eblake@redhat.com>
2700
2701         fdopendir: detect FreeBSD bug
2702         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
2703         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
2704
2705 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
2706
2707         stdbool: do not define HAVE_STDBOOL_H
2708         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
2709         AC_HEADER_STDBOOL.  All uses changed.  Do not define
2710         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
2711         imported from the latest Autoconf git.  It was motivated by Emacs,
2712         which uses gnulib but does not need HAVE_STDBOOL_H.
2713
2714 2011-02-04  Bruno Haible  <bruno@clisp.org>
2715
2716         wcsnrtombs: Prepare for new module wwcsnrtombs.
2717         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
2718         * lib/wcsnrtombs.c: Include it.
2719         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
2720
2721         wcsrtombs: Prepare for new module wwcsrtombs.
2722         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
2723         * lib/wcsrtombs.c: Include it.
2724         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
2725
2726         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
2727         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
2728         * lib/mbsnrtowcs.c: Include it.
2729         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
2730
2731         mbsrtowcs: Prepare for new module mbsrtowwcs.
2732         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
2733         * lib/mbsrtowcs.c: Include it.
2734         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
2735
2736 2011-02-04  Bruno Haible  <bruno@clisp.org>
2737
2738         vasnprintf: Reduce use of malloc for small format strings.
2739         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
2740         (arguments): Add room for the first 7 arguments.
2741         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
2742         (char_directives, u8_directives, u16_directives, u32_directives): Add
2743         room for the first 7 directives.
2744         * lib/printf-parse.c: Include <string.h>.
2745         (PRINTF_PARSE): Change memory handling code so that it uses the first
2746         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
2747         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
2748         Reported by Pádraig Brady <P@draigbrady.com>.
2749
2750 2011-01-31  Eric Blake  <eblake@redhat.com>
2751
2752         dup2: work around Haiku bug
2753         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
2754         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
2755         * doc/posix-functions/dup2.texi (dup2): Document the bug.
2756         * tests/test-dup2.c (main): Enhance test.
2757
2758 2011-01-31  Simon Josefsson  <simon@josefsson.org>
2759
2760         doc: off_t is not available in eglibc 2.11.2 stdio.h.
2761         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
2762         declared by eglibc 2.11.2.
2763         * lib/stdio.in.h: Likewise.
2764
2765 2011-01-31  Eric Blake  <eblake@redhat.com>
2766
2767         ignore-value: add missing test dependency
2768         * tests/test-ignore-value.c: Revert previous change; stdio.h
2769         provides off_t.
2770         * modules/ignore-value-tests (Depends-on): Add missing dependency.
2771
2772 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
2773
2774         mktime: clarify long_int width checking
2775         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
2776         the top level, to make it clearer that the assumption about
2777         long_int width is being checked.  See
2778         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
2779
2780 2011-01-30  Simon Josefsson  <simon@josefsson.org>
2781
2782         ignore-value: Fix self-test.
2783         * tests/test-ignore-value.c: Include sys/types.h for off_t.
2784
2785 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
2786
2787         TYPE_MAXIMUM: avoid theoretically undefined behavior
2788         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
2789         negative number, which the C Standard says has undefined behavior.
2790         In practice this is not a problem, but might as well do it by the book.
2791         Reported by Rich Felker and Eric Blake; see
2792         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
2793         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
2794         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
2795         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
2796         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
2797         * m4/stdint.m4 (gl_STDINT_H): Likewise.
2798         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
2799
2800         mktime: #undef mktime before #defining it
2801         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
2802
2803         mktime: systematically normalize tm_isdst comparisons
2804         * lib/mktime.c (isdst_differ): New function.
2805         (__mktime_internal): Use it systematically for all isdst comparisons.
2806         This completes the fix for libc BZ #6723, and removes the need for
2807         normalizing tm_isdst.  See
2808         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
2809         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
2810
2811         mktime: fix some integer overflow issues and sidestep the rest
2812
2813         This was prompted by a bug report by Benjamin Lindner for MinGW
2814         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
2815         His bug is due to signed integer overflow (0 - INT_MIN), and I
2816         I scanned through mktime.c looking for other integer overflow
2817         problems, fixing all the bugs I found.
2818
2819         Although the C Standard says the resulting code is still not safe
2820         in the presence of integer overflow, in practice it should be good
2821         enough for all real-world two's-complement implementations, except
2822         for debugging environments that deliberately trap on integer
2823         overflow (e.g., gcc -ftrapv).
2824
2825         * lib/mktime.c (WRAPV): New macro.
2826         (SHR): Also check that long_int and time_t shift right in the
2827         usual way, before using the fast-but-unportable method.
2828         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
2829         used.  The code already assumed two's complement, so there's
2830         no need to test for alternatives.  All uses removed.
2831         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
2832         the C standard.  Problem reported by Rich Felker in
2833         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
2834         (twos_complement_arithmetic): Also check long_int and time_t.
2835         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
2836         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
2837         (__mktime_internal): Avoid integer overflow with unary subtraction
2838         in two instances where -1 - X is an adequate replacement for -X,
2839         since the calculations are approximate.
2840
2841 2011-01-29  Eric Blake  <eblake@redhat.com>
2842
2843         mktime: avoid infinite loop
2844         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
2845         type; behavior is still undefined but portable to all known targets.
2846         Reported by Rich Felker.
2847
2848 2011-01-29  Simon Josefsson  <simon@josefsson.org>
2849
2850         rename, unlink, same-inode: Relicense.
2851         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
2852         * modules/unlink (License): Likewise.
2853         * modules/same-inode (License): Likewise.
2854
2855 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
2856
2857         mktime: avoid problems on NetBSD 5 / i386
2858         * lib/mktime.c (long_int): New type.  This works around a problem
2859         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
2860         but time_t is 64 bits, and where I expect the existing code is
2861         wrong in some cases.
2862         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
2863         (ydhms_diff): Bring back the compile-time check for wide-enough
2864         year and yday.
2865
2866         mktime: fix misspelling in comment
2867         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
2868         This merges all recent glibc changes of importance.
2869
2870 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2871
2872         move-if-change: cope with concurrent mv of identical file.
2873         * build-aux/move-if-change (CMPPROG): Accept environment
2874         variable as an override for `cmp'.
2875         (usage): Document CMPPROG.
2876         Adjust comparison to drop stdout.  Cope with failure of mv if
2877         the target file exists and is identical to the source, for
2878         parallel builds.
2879         Report from H.J. Lu against binutils in PR binutils/12283.
2880
2881 2011-01-28  Bruce Korb  <bkorb@gnu.org>
2882
2883         * users.txt: Mention sharutils.
2884
2885 2011-01-28  Simon Josefsson  <simon@josefsson.org>
2886
2887         * users.txt: Mention OATH Toolkit.
2888
2889 2011-01-27  Bruno Haible  <bruno@clisp.org>
2890
2891         Prepare for supporting FreeBSD 10.
2892         * build-aux/config.libpath: Remove handling of freebsd1*.
2893
2894 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
2895
2896         Prepare for supporting FreeBSD 10.
2897         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
2898         match FreeBSD 10.0.
2899
2900 2011-01-27  Bruno Haible  <bruno@clisp.org>
2901
2902         vma-iter, get-rusage-as: Add OpenBSD support.
2903         * modules/vma-iter (configure.ac): Test for mquery.
2904         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
2905         * lib/vma-iter.c: Include <sys/mman.h>.
2906         (vma_iterate): Add an implementation based on mquery().
2907         * lib/resource-ext.h (get_rusage_as): Update comments.
2908         * lib/get-rusage-as.c: Likewise.
2909         * lib/get-rusage-data.c: Likewise.
2910
2911 2011-01-26  Karl Berry  <karl@gnu.org>
2912
2913         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
2914         variables to make it easier to override the makeinfo program used.
2915
2916 2011-01-26  Eric Blake  <eblake@redhat.com>
2917
2918         fcntl: work around Haiku F_DUPFD bugs
2919         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
2920         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
2921         cloexec bit on duplication.
2922         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
2923
2924 2011-01-26  Bruno Haible  <bruno@clisp.org>
2925
2926         Enable memory leak tests on AIX.
2927         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
2928         * tests/test-fprintf-posix3.c (main): Likewise.
2929
2930 2011-01-26  Bruno Haible  <bruno@clisp.org>
2931
2932         Tests for module 'get-rusage-data'.
2933         * modules/get-rusage-data-tests: New file.
2934         * tests/test-get-rusage-data.c: New file.
2935
2936         New module 'get-rusage-data'.
2937         * lib/resource-ext.h (get_rusage_data): New declaration.
2938         * lib/get-rusage-data.c: New file.
2939         * modules/get-rusage-data: New file.
2940
2941 2011-01-25  Bruno Haible  <bruno@clisp.org>
2942
2943         get-rusage-as: Allow for easier testing.
2944         * lib/resource-ext.h (get_rusage_as): Add comment.
2945         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
2946         (main): New function for interactive testing.
2947
2948 2011-01-25  Bruno Haible  <bruno@clisp.org>
2949
2950         vma-iter: Treat Haiku like BeOS.
2951         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
2952         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
2953
2954 2011-01-25  Eric Blake  <eblake@redhat.com>
2955
2956         c-stack: fix regression on cygwin when libsigsegv is present
2957         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
2958
2959 2011-01-24  Bruno Haible  <bruno@clisp.org>
2960
2961         vma-iter: Avoid empty intervals.
2962         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
2963         on an empty interval.
2964
2965 2011-01-24  Jim Meyering  <meyering@redhat.com>
2966
2967         u64: remove unnecessary #include
2968         * lib/u64.h: Don't include <stddef.h>.  It was not used.
2969
2970 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2971
2972         Allow the user to avoid the HAVE_RAW_DECL_* macros.
2973         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
2974
2975 2011-01-23  Bruno Haible  <bruno@clisp.org>
2976
2977         New module 'vma-iter'.
2978         * lib/vma-iter.h: New file.
2979         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
2980         * modules/vma-iter: New file.
2981         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
2982         for get_rusage_as_via_iterator.
2983         (vma_iterate_callback): New function.
2984         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
2985         * modules/get-rusage-as (Depends-on): Add vma-iter.
2986
2987 2011-01-23  Bruno Haible  <bruno@clisp.org>
2988
2989         uninorm: Tweak includes.
2990         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
2991         Reported by Jim Meyering.
2992
2993 2011-01-23  Bruno Haible  <bruno@clisp.org>
2994
2995         get-rusage-as: Improve on NetBSD.
2996         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
2997         /proc, like on FreeBSD.
2998
2999 2011-01-23  Jim Meyering  <meyering@redhat.com>
3000
3001         xreadlink.h: remove unnecessary #include
3002         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
3003
3004         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
3005         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
3006
3007 2011-01-23  Bruno Haible  <bruno@clisp.org>
3008
3009         get-rusage-as: Fix bug.
3010         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
3011         original limit when aborting the first loop.
3012
3013 2011-01-23  Bruno Haible  <bruno@clisp.org>
3014
3015         wctype: Ensure valid C syntax.
3016         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
3017         unconditionally, instead of gl_NEXT_HEADERS conditionally.
3018
3019 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
3020
3021         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
3022         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
3023         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
3024         as they are needed only for configure's test case.
3025         This removes two unnecessary symbols from config.h.
3026
3027         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
3028         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
3029         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
3030         AC_CHECK_HEADERS_ONCE on a header that we also invoke
3031         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
3032         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
3033         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
3034         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
3035         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
3036         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3037         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
3038         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
3039         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
3040         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
3041         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
3042         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3043         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
3044         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
3045
3046 2011-01-21  Eric Blake  <eblake@redhat.com>
3047
3048         maintainer-makefile: work with older git for submodule check
3049         * top/maint.mk (public-submodule-commit): Rewrite to avoid
3050         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
3051         Reported by Matthias Bolte.
3052
3053         bootstrap: minor portability fixes
3054         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
3055         (usage): Omit leading capital and trailing . on help phrases, per
3056         GNU Coding Standards.
3057         (check_versions, top level): Prefix messages with script name.
3058
3059 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
3060
3061         bootstrap: support --no-git option
3062         * build-aux/bootstrap: Add --no-git option, to be used when
3063         --gnulib-srcdir points to the exact desired checkout.
3064
3065 2011-01-21  Eric Blake  <eblake@redhat.com>
3066
3067         strerror_r-posix: work with glibc 2.13
3068         * lib/strerror_r.c (strerror_r): Fix return type.
3069
3070 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3071             Bruno Haible  <bruno@clisp.org>
3072
3073         uN_strstr: New unit tests.
3074         * modules/unistr/u8-strstr-tests: New file.
3075         * modules/unistr/u16-strstr-tests: New file.
3076         * modules/unistr/u32-strstr-tests: New file.
3077         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
3078         * tests/unistr/test-u8-strstr.c: New file.
3079         * tests/unistr/test-u16-strstr.c: New file.
3080         * tests/unistr/test-u32-strstr.c: New file.
3081
3082 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3083             Bruno Haible  <bruno@clisp.org>
3084
3085         Make uN_strstr functions O(n) worst-case.
3086         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
3087         16-bit and 32-bit unit cases, use the unibyte algorithm from
3088         lib/mbsstr.c.
3089         * lib/unistr/u8-strstr.c: Include <string.h>.
3090         (UNIT_IS_UINT8_T): New macro.
3091         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
3092         (U_STRLEN, U_STRNLEN): New macros.
3093         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
3094         (U_STRLEN, U_STRNLEN): New macros.
3095         * modules/unistr/u8-strstr (Depends-on): Add strstr.
3096         (configure.ac): Update required libunistring version.
3097         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
3098         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
3099         malloca.
3100         (configure.ac): Update required libunistring version.
3101         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
3102         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
3103         malloca.
3104         (configure.ac): Update required libunistring version.
3105
3106 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3107             Bruno Haible  <bruno@clisp.org>
3108
3109         Prepare for faster uN_strstr functions.
3110         * lib/str-kmp.h: Support definable UNITs.
3111         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
3112         needle_len argument.
3113         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
3114         * lib/mbscasestr.c (mbscasestr): Likewise.
3115
3116 2011-01-21  Pádraig Brady <P@draigBrady.com>
3117
3118         malloca-tests: make faster by unsetting MALLOC_PERTURB_
3119         * tests/test-malloca.c (main): Unset the environment variable
3120         to greatly speed up the test.
3121         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
3122         * modules/malloca-tests: Depend on unsetenv.
3123
3124 2011-01-21  Pádraig Brady <P@draigBrady.com>
3125
3126         ignore-value: remove stdint dependency
3127         * lib/ignore-value.h: Remove <stdint.h>
3128         * modules/ignore-value: Remove stdint dependency.
3129
3130 2011-01-21  Jim Meyering  <meyering@redhat.com>
3131
3132         maint.mk: adjust variable name to be consistent with other gl_ vars
3133         * top/maint.mk (gl_public_submodule_commit): Rename the variable
3134         to be lower case.
3135
3136 2011-01-20  Jim Meyering  <meyering@redhat.com>
3137
3138         maint.mk: make "check" depend on public-submodule-commit by default
3139         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
3140
3141 2011-01-20  Bruno Haible  <bruno@clisp.org>
3142
3143         mbfile, mbiter: Complete change from 2008-12-21.
3144         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
3145         * m4/mbiter.m4 (gl_MBITER): Likewise.
3146
3147 2011-01-20  Jim Meyering  <meyering@redhat.com>
3148
3149         init.sh: insert space between each function name and "()"
3150         * tests/init.sh: Make it a little easier to see that a function's
3151         name is "warn_", and not "warn" when looking at the first part of
3152         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
3153
3154 2011-01-20  Jim Meyering  <meyering@redhat.com>
3155
3156         mountlist: clean up code formatting
3157         * lib/mountlist.c (read_file_system_list): Split a long line,
3158         correct bracing style, use NULL in place of "(struct statfs *)0",
3159         don't parenthesize return value, add spaces around "=" and after
3160         ";-in-for-stmt".
3161
3162 2011-01-14  Markus Duft <mduft@gentoo.org>
3163
3164         mountlist: add support for Interix
3165         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
3166         Apply statvfs to all entries of /dev/fs.
3167         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
3168         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
3169
3170 2011-01-20  Jim Meyering  <meyering@redhat.com>
3171
3172         maint.mk: improve the public-submodule-commit rule
3173         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
3174         to suppress printing of its commands... unless V=1.
3175         Add git submodule's --quiet option to suppress printing of e.g.,
3176         "Entering gnulib" output.
3177         "cd" into $(srcdir) before running git submodule.
3178
3179 2011-01-20  Bruno Haible  <bruno@clisp.org>
3180
3181         include_next: Fix bug introduced on 2011-01-18.
3182         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
3183         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
3184         ac_cv_header_... variable if the second argument is not 'check'.
3185         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
3186         gl_NEXT_HEADERS_INTERNAL.
3187
3188 2011-01-20  Bruno Haible  <bruno@clisp.org>
3189
3190         Allow the user to avoid the GNULIB_TEST_* macros.
3191         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
3192         Suggested by Paul Eggert.
3193
3194 2011-01-14  Jim Meyering  <meyering@redhat.com>
3195
3196         bootstrap: avoid failure when there is no .gitmodules file
3197         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
3198         has been assigned to, even when its value is the empty string.
3199         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
3200         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
3201         Reported by John W. Eaton <jwe@gnu.org>.
3202
3203 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
3204
3205         assume <ctype.h>, ..., <time.h> exist
3206         For years gnulib has been assuming the existence of the headers
3207         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
3208         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
3209         them, since they don't appear to be needed.
3210         * README (Portability guidelines): Document this.
3211         * lib/flock.c: Assume <fcntl.h> exists.
3212         * lib/regex_internal.h: Assume <locale.h> exists.
3213         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
3214         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
3215         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
3216         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
3217         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
3218         * m4/regex.m4 (gl_REGEX): Likewise.
3219         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
3220         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
3221         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
3222         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
3223         * tests/test-argp.c: Likewise.
3224         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
3225
3226         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
3227         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
3228         AA_APPLE_UNIVERSAL_BUILD.  See
3229         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
3230         * NEWS: Document this.
3231
3232 2011-01-19  Eric Blake  <eblake@redhat.com>
3233
3234         c-stack: assume stack overflow if SA_SIGINFO unsupported
3235         * lib/c-stack.c (SIGACTION_WORKS): Rename...
3236         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
3237         sigaction will work.
3238         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
3239         behavior match Linux.
3240         * tests/test-c-stack.c (main): Prefer NULL for pointers.
3241
3242         stdbool-tests: accomodate Haiku
3243         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
3244
3245         binary-io: fix O_TEXT on Haiku
3246         * modules/binary-io (Depends-on): Add fcntl-h.
3247         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
3248         than blindly undefining O_TEXT.
3249         Reported by Scott McCreary.
3250
3251 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
3252
3253         include_next: do not check for standard headers like stddef.h
3254
3255         I found this problem when modifying Emacs to use gnulib.
3256         I noticed that it added HAVE_STDDEF_H to config.h, even though
3257         gnulib always assumes <stddef.h> exists as per README and this
3258         symbol is unnecessary.
3259         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
3260         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
3261         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
3262         faster for headers like stddef.h that are known to exist.
3263         (gl_CHECK_NEXT_HEADERS): Use it.
3264         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
3265         rather than gl_CHECK_NEXT_HEADERS.
3266         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
3267         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
3268
3269 2011-01-18  Eric Blake  <eblake@redhat.com>
3270
3271         ansi-c++-opt: skip C++ dependency style if C++ is unused
3272         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
3273         tests when we know C++ compilation is not desired.
3274         Reported by Scott McCreary.
3275
3276 2011-01-18  Bruno Haible  <bruno@clisp.org>
3277
3278         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
3279         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
3280         (main): Perform test also when getrlimit and setrlimit don't exist or
3281         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
3282         limiting the address space size using setrlimit, compare the address
3283         space size before and after the the test.
3284         * tests/test-dprintf-posix2.c: Likewise.
3285         * tests/test-fprintf-posix3.sh: Update skip messages.
3286         * tests/test-dprintf-posix2.sh: Likewise.
3287         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
3288         * modules/dprintf-posix-tests (Depends-on): Likewise.
3289         Reported by Bruce Korb <bkorb@gnu.org> and
3290         Gary V. Vaughan <gary@gnu.org>.
3291
3292 2011-01-18  Bruno Haible  <bruno@clisp.org>
3293
3294         get-rusage-as: Improvement for Cygwin.
3295         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
3296         areas that are merely reserved.
3297
3298 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
3299
3300         strftime: remove dependencies on multibyte modules
3301
3302         strftime depended on mbrlen, mbsinit, and wchar, but these modules
3303         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
3304         only if __osf__ is defined, and I suspect OSF doesn't need these
3305         other modules.  If my guess is wrong, we'll need to come up with a
3306         variant of strftime that doesn't need the multibyte modules.
3307
3308         I discovered this problem when attempting modify Emacs to use the
3309         strftime module.  With the previous gnulib, this caused Emacs to
3310         need 31 new files, ranging from lib/config.charset to
3311         m4/wint_t.m4.  This was overkill and I expect would be offputting
3312         to the Emacs maintainers.  After this change, only 6 new files are
3313         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
3314         stdbool.m4, and tm_gmtoff.m4.
3315
3316         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
3317         Suggested by Bruno Haible in
3318         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
3319         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
3320         and do not check for wchar.h.
3321         * modules/strftime (Files): Remove m4/mbstate_t.m4.
3322         (Depends-on): Remove mbrlen, mbsinit, wchar.
3323
3324 2011-01-18  Bruno Haible  <bruno@clisp.org>
3325
3326         Tests for module 'get-rusage-as'.
3327         * modules/get-rusage-as-tests: New file.
3328         * tests/test-get-rusage-as.c: New file.
3329
3330         New module 'get-rusage-as'.
3331         * modules/get-rusage-as: New file.
3332         * lib/resource-ext.h: New file.
3333         * lib/get-rusage-as.c: New file.
3334
3335 2011-01-17  Eric Blake  <eblake@redhat.com>
3336
3337         sigaction: relax license from LGPLv3+ to LGPLv2+
3338         * modules/sigaction (License): Relax to LGPLv2+.
3339
3340 2011-01-14  Bruno Haible  <bruno@clisp.org>
3341
3342         filemode: Make function declarations usable in C++ mode.
3343         * lib/filemode.h: Enclose function declarations in extern "C" block.
3344         Reported by John W. Eaton <jwe@gnu.org>.
3345
3346 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
3347
3348         save-cwd: no longer include "xgetcwd.h"
3349         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
3350         This avoids a compilation failure in projects that use save-cwd
3351         without also using the xgetcwd module.
3352
3353 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
3354
3355         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
3356         This is so that a program like Emacs, which needs only dtoastr,
3357         does not have to bother with distributing and compiling ftoastr
3358         and ldtoastr.
3359         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
3360         * modules/dtoastr, modules/ldtoastr: New files.
3361         * modules/ftoastr: Now works just for 'float'.
3362         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
3363         (Makefile.am): Remove ftoastr.h (not needed and no effect),
3364         dtoastr.c, ldtoastr.c.
3365
3366 2011-01-11  Jim Meyering  <meyering@redhat.com>
3367
3368         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
3369         There is no need to work around the lack of the fchdir function,
3370         since gnulib can now provide a replacement when required.
3371         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
3372         * modules/save-cwd (Depends-on): Add fchdir.
3373
3374 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
3375
3376         openat, save-cwd: avoid xmalloc
3377
3378         This removes a direct (but undocumented) dependency of openat on
3379         xalloc, along with an indirect dependency via save-cwd.  It also
3380         removes a dependency of save-cwd on xgetcwd, and thereby
3381         indirectly on xalloc.  This change causes the openat substitute
3382         to fall back on save_cwd when memory is tight, and for save_cwd to
3383         fail instead of dying when memory is tight, but that's good enough.
3384         Problem and initial idea for fix reported by Bastien Roucaries in
3385         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
3386
3387         * lib/openat-proc.c: Include stdlib.h (for malloc), not
3388         xalloc.h (for xmalloc).
3389         (openat_proc_name): Use malloc, not xmalloc.
3390         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
3391         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
3392
3393         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
3394         This avoids heap allocation for file names whose lengths are in
3395         the range 512..1023, with the upper bound increasing to at most
3396         4031 depending on the platform's PATH_MAX.  (We do not want
3397         pathmax.h here as it might supply a non-constant PATH_MAX.)
3398         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
3399         Perhaps they should be moved to malloca.h?
3400         (OPENAT_BUFFER_SIZE): Use them.
3401
3402 2011-01-10  Bruno Haible  <bruno@clisp.org>
3403
3404         doc: Update users.txt.
3405         * users.txt: Add recutils.
3406
3407 2011-01-09  Karl Berry  <karl@gnu.org>
3408
3409         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
3410
3411         * doc/configmake.texi: New file.
3412         * doc/gnulib.texi: Include it.
3413         * modules/configmake: Move documentation from here.
3414
3415 2011-01-09  Bruno Haible  <bruno@clisp.org>
3416
3417         Update to Unicode 6.0.0.
3418         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
3419         (get_lbp): Update for Unicode 6.0.0.
3420         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
3421         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
3422         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
3423         U+11001, U+11038..U+11046. Remove U+06DE.
3424         (uc_width): Fix bounds of planes.
3425         * tests/uniwidth/test-uc_width2.sh: Same updates as in
3426         lib/uniwidth/width.c.
3427         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
3428         trailing whitespace removed.
3429         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
3430         without comments, but with the original copyright notice.
3431         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
3432         * lib/unicase/ignorable.h: Likewise.
3433         * lib/unicase/tocasefold.h: Likewise.
3434         * lib/unicase/tolower.h: Likewise.
3435         * lib/unicase/totitle.h: Likewise.
3436         * lib/unicase/toupper.h: Likewise.
3437         * lib/unictype/bidi_of.h: Likewise.
3438         * lib/unictype/blocks.h: Likewise.
3439         * lib/unictype/categ_C.h: Likewise.
3440         * lib/unictype/categ_Cn.h: Likewise.
3441         * lib/unictype/categ_L.h: Likewise.
3442         * lib/unictype/categ_Ll.h: Likewise.
3443         * lib/unictype/categ_Lm.h: Likewise.
3444         * lib/unictype/categ_Lo.h: Likewise.
3445         * lib/unictype/categ_Lu.h: Likewise.
3446         * lib/unictype/categ_M.h: Likewise.
3447         * lib/unictype/categ_Mc.h: Likewise.
3448         * lib/unictype/categ_Me.h: Likewise.
3449         * lib/unictype/categ_Mn.h: Likewise.
3450         * lib/unictype/categ_N.h: Likewise.
3451         * lib/unictype/categ_Nd.h: Likewise.
3452         * lib/unictype/categ_No.h: Likewise.
3453         * lib/unictype/categ_P.h: Likewise.
3454         * lib/unictype/categ_Po.h: Likewise.
3455         * lib/unictype/categ_S.h: Likewise.
3456         * lib/unictype/categ_Sc.h: Likewise.
3457         * lib/unictype/categ_Sk.h: Likewise.
3458         * lib/unictype/categ_Sm.h: Likewise.
3459         * lib/unictype/categ_So.h: Likewise.
3460         * lib/unictype/categ_of.h: Likewise.
3461         * lib/unictype/combining.h: Likewise.
3462         * lib/unictype/ctype_alnum.h: Likewise.
3463         * lib/unictype/ctype_alpha.h: Likewise.
3464         * lib/unictype/ctype_graph.h: Likewise.
3465         * lib/unictype/ctype_lower.h: Likewise.
3466         * lib/unictype/ctype_print.h: Likewise.
3467         * lib/unictype/ctype_punct.h: Likewise.
3468         * lib/unictype/ctype_upper.h: Likewise.
3469         * lib/unictype/decdigit.h: Likewise.
3470         * lib/unictype/digit.h: Likewise.
3471         * lib/unictype/numeric.h: Likewise.
3472         * lib/unictype/pr_alphabetic.h: Likewise.
3473         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
3474         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
3475         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
3476         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
3477         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
3478         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
3479         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
3480         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
3481         * lib/unictype/pr_case_ignorable.h: Likewise.
3482         * lib/unictype/pr_cased.h: Likewise.
3483         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
3484         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
3485         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
3486         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
3487         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
3488         * lib/unictype/pr_combining.h: Likewise.
3489         * lib/unictype/pr_composite.h: Likewise.
3490         * lib/unictype/pr_currency_symbol.h: Likewise.
3491         * lib/unictype/pr_decimal_digit.h: Likewise.
3492         * lib/unictype/pr_deprecated.h: Likewise.
3493         * lib/unictype/pr_format_control.h: Likewise.
3494         * lib/unictype/pr_grapheme_base.h: Likewise.
3495         * lib/unictype/pr_grapheme_extend.h: Likewise.
3496         * lib/unictype/pr_grapheme_link.h: Likewise.
3497         * lib/unictype/pr_id_continue.h: Likewise.
3498         * lib/unictype/pr_id_start.h: Likewise.
3499         * lib/unictype/pr_ideographic.h: Likewise.
3500         * lib/unictype/pr_lowercase.h: Likewise.
3501         * lib/unictype/pr_math.h: Likewise.
3502         * lib/unictype/pr_numeric.h: Likewise.
3503         * lib/unictype/pr_other_alphabetic.h: Likewise.
3504         * lib/unictype/pr_other_id_continue.h: Likewise.
3505         * lib/unictype/pr_other_math.h: Likewise.
3506         * lib/unictype/pr_punctuation.h: Likewise.
3507         * lib/unictype/pr_sentence_terminal.h: Likewise.
3508         * lib/unictype/pr_terminal_punctuation.h: Likewise.
3509         * lib/unictype/pr_unassigned_code_value.h: Likewise.
3510         * lib/unictype/pr_unified_ideograph.h: Likewise.
3511         * lib/unictype/pr_uppercase.h: Likewise.
3512         * lib/unictype/pr_xid_continue.h: Likewise.
3513         * lib/unictype/pr_xid_start.h: Likewise.
3514         * lib/unictype/scripts.h: Likewise.
3515         * lib/unictype/scripts_byname.gperf: Likewise.
3516         * lib/unictype/sy_java_ident.h: Likewise.
3517         * lib/unigbrk/gbrkprop.h: Likewise.
3518         * lib/unilbrk/lbrkprop1.h: Likewise.
3519         * lib/unilbrk/lbrkprop2.h: Likewise.
3520         * lib/uninorm/decomposition-table2.h: Likewise.
3521         * lib/uniwbrk/wbrkprop.h: Likewise.
3522         * tests/unicase/test-cased.c: Likewise.
3523         * tests/unicase/test-ignorable.c: Likewise.
3524         * tests/unicase/test-uc_tolower.c: Likewise.
3525         * tests/unicase/test-uc_totitle.c: Likewise.
3526         * tests/unicase/test-uc_toupper.c: Likewise.
3527         * tests/unictype/test-categ_C.c: Likewise.
3528         * tests/unictype/test-categ_Cn.c: Likewise.
3529         * tests/unictype/test-categ_L.c: Likewise.
3530         * tests/unictype/test-categ_Ll.c: Likewise.
3531         * tests/unictype/test-categ_Lm.c: Likewise.
3532         * tests/unictype/test-categ_Lo.c: Likewise.
3533         * tests/unictype/test-categ_Lu.c: Likewise.
3534         * tests/unictype/test-categ_M.c: Likewise.
3535         * tests/unictype/test-categ_Mc.c: Likewise.
3536         * tests/unictype/test-categ_Me.c: Likewise.
3537         * tests/unictype/test-categ_Mn.c: Likewise.
3538         * tests/unictype/test-categ_N.c: Likewise.
3539         * tests/unictype/test-categ_Nd.c: Likewise.
3540         * tests/unictype/test-categ_No.c: Likewise.
3541         * tests/unictype/test-categ_P.c: Likewise.
3542         * tests/unictype/test-categ_Po.c: Likewise.
3543         * tests/unictype/test-categ_S.c: Likewise.
3544         * tests/unictype/test-categ_Sc.c: Likewise.
3545         * tests/unictype/test-categ_Sk.c: Likewise.
3546         * tests/unictype/test-categ_Sm.c: Likewise.
3547         * tests/unictype/test-categ_So.c: Likewise.
3548         * tests/unictype/test-ctype_alnum.c: Likewise.
3549         * tests/unictype/test-ctype_alpha.c: Likewise.
3550         * tests/unictype/test-ctype_graph.c: Likewise.
3551         * tests/unictype/test-ctype_lower.c: Likewise.
3552         * tests/unictype/test-ctype_print.c: Likewise.
3553         * tests/unictype/test-ctype_punct.c: Likewise.
3554         * tests/unictype/test-ctype_upper.c: Likewise.
3555         * tests/unictype/test-decdigit.h: Likewise.
3556         * tests/unictype/test-digit.h: Likewise.
3557         * tests/unictype/test-numeric.h: Likewise.
3558         * tests/unictype/test-pr_alphabetic.c: Likewise.
3559         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
3560         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
3561         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
3562         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
3563         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
3564         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
3565         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
3566         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
3567         * tests/unictype/test-pr_case_ignorable.c: Likewise.
3568         * tests/unictype/test-pr_cased.c: Likewise.
3569         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
3570         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
3571         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
3572         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
3573         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
3574         * tests/unictype/test-pr_combining.c: Likewise.
3575         * tests/unictype/test-pr_composite.c: Likewise.
3576         * tests/unictype/test-pr_currency_symbol.c: Likewise.
3577         * tests/unictype/test-pr_decimal_digit.c: Likewise.
3578         * tests/unictype/test-pr_deprecated.c: Likewise.
3579         * tests/unictype/test-pr_format_control.c: Likewise.
3580         * tests/unictype/test-pr_grapheme_base.c: Likewise.
3581         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
3582         * tests/unictype/test-pr_grapheme_link.c: Likewise.
3583         * tests/unictype/test-pr_id_continue.c: Likewise.
3584         * tests/unictype/test-pr_id_start.c: Likewise.
3585         * tests/unictype/test-pr_ideographic.c: Likewise.
3586         * tests/unictype/test-pr_lowercase.c: Likewise.
3587         * tests/unictype/test-pr_math.c: Likewise.
3588         * tests/unictype/test-pr_numeric.c: Likewise.
3589         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
3590         * tests/unictype/test-pr_other_id_continue.c: Likewise.
3591         * tests/unictype/test-pr_other_math.c: Likewise.
3592         * tests/unictype/test-pr_punctuation.c: Likewise.
3593         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
3594         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
3595         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
3596         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
3597         * tests/unictype/test-pr_uppercase.c: Likewise.
3598         * tests/unictype/test-pr_xid_continue.c: Likewise.
3599         * tests/unictype/test-pr_xid_start.c: Likewise.
3600         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
3601         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
3602         changes.
3603         * lib/unictype/categ_Cc.h: Likewise.
3604         * lib/unictype/categ_Cf.h: Likewise.
3605         * lib/unictype/categ_Co.h: Likewise.
3606         * lib/unictype/categ_Cs.h: Likewise.
3607         * lib/unictype/categ_Lt.h: Likewise.
3608         * lib/unictype/categ_Nl.h: Likewise.
3609         * lib/unictype/categ_Pc.h: Likewise.
3610         * lib/unictype/categ_Pd.h: Likewise.
3611         * lib/unictype/categ_Pe.h: Likewise.
3612         * lib/unictype/categ_Pf.h: Likewise.
3613         * lib/unictype/categ_Pi.h: Likewise.
3614         * lib/unictype/categ_Ps.h: Likewise.
3615         * lib/unictype/categ_Z.h: Likewise.
3616         * lib/unictype/categ_Zl.h: Likewise.
3617         * lib/unictype/categ_Zp.h: Likewise.
3618         * lib/unictype/categ_Zs.h: Likewise.
3619         * lib/unictype/ctype_blank.h: Likewise.
3620         * lib/unictype/ctype_cntrl.h: Likewise.
3621         * lib/unictype/ctype_digit.h: Likewise.
3622         * lib/unictype/ctype_space.h: Likewise.
3623         * lib/unictype/ctype_xdigit.h: Likewise.
3624         * lib/unictype/mirror.h: Likewise.
3625         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
3626         * lib/unictype/pr_bidi_block_separator.h: Likewise.
3627         * lib/unictype/pr_bidi_common_separator.h: Likewise.
3628         * lib/unictype/pr_bidi_control.h: Likewise.
3629         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
3630         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
3631         * lib/unictype/pr_bidi_european_digit.h: Likewise.
3632         * lib/unictype/pr_bidi_pdf.h: Likewise.
3633         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
3634         * lib/unictype/pr_bidi_whitespace.h: Likewise.
3635         * lib/unictype/pr_dash.h: Likewise.
3636         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
3637         * lib/unictype/pr_diacritic.h: Likewise.
3638         * lib/unictype/pr_extender.h: Likewise.
3639         * lib/unictype/pr_hex_digit.h: Likewise.
3640         * lib/unictype/pr_hyphen.h: Likewise.
3641         * lib/unictype/pr_ids_binary_operator.h: Likewise.
3642         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
3643         * lib/unictype/pr_ignorable_control.h: Likewise.
3644         * lib/unictype/pr_iso_control.h: Likewise.
3645         * lib/unictype/pr_join_control.h: Likewise.
3646         * lib/unictype/pr_left_of_pair.h: Likewise.
3647         * lib/unictype/pr_line_separator.h: Likewise.
3648         * lib/unictype/pr_logical_order_exception.h: Likewise.
3649         * lib/unictype/pr_non_break.h: Likewise.
3650         * lib/unictype/pr_not_a_character.h: Likewise.
3651         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
3652         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
3653         * lib/unictype/pr_other_id_start.h: Likewise.
3654         * lib/unictype/pr_other_lowercase.h: Likewise.
3655         * lib/unictype/pr_other_uppercase.h: Likewise.
3656         * lib/unictype/pr_paired_punctuation.h: Likewise.
3657         * lib/unictype/pr_paragraph_separator.h: Likewise.
3658         * lib/unictype/pr_pattern_syntax.h: Likewise.
3659         * lib/unictype/pr_pattern_white_space.h: Likewise.
3660         * lib/unictype/pr_private_use.h: Likewise.
3661         * lib/unictype/pr_quotation_mark.h: Likewise.
3662         * lib/unictype/pr_radical.h: Likewise.
3663         * lib/unictype/pr_soft_dotted.h: Likewise.
3664         * lib/unictype/pr_space.h: Likewise.
3665         * lib/unictype/pr_titlecase.h: Likewise.
3666         * lib/unictype/pr_variation_selector.h: Likewise.
3667         * lib/unictype/pr_white_space.h: Likewise.
3668         * lib/unictype/pr_zero_width.h: Likewise.
3669         * lib/unictype/sy_c_ident.h: Likewise.
3670         * lib/unictype/sy_c_whitespace.h: Likewise.
3671         * lib/unictype/sy_java_whitespace.h: Likewise.
3672         * lib/uninorm/composition-table.gperf: Likewise.
3673         * lib/uninorm/decomposition-table1.h: Likewise.
3674         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
3675         LB8.
3676         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
3677         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
3678         * modules/unictype/*: Bump version number of expected libunistring
3679         version.
3680
3681 2011-01-09  Bruno Haible  <bruno@clisp.org>
3682
3683         Update to Unicode 5.2.0.
3684         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
3685         trailing whitespace removed.
3686
3687 2011-01-09  Bruno Haible  <bruno@clisp.org>
3688
3689         New Unicode character properties, from Unicode 5.2.0.
3690         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
3691         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
3692         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
3693         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
3694         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
3695         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
3696         uc_is_property_cased, uc_is_property_case_ignorable,
3697         uc_is_property_changes_when_lowercased,
3698         uc_is_property_changes_when_uppercased,
3699         uc_is_property_changes_when_titlecased,
3700         uc_is_property_changes_when_casefolded,
3701         uc_is_property_changes_when_casemapped): New declarations.
3702         * lib/unictype/pr_byname.gperf: Add the new properties.
3703         * modules/unictype/property-byname (Depends-on): Depend on the new
3704         properties modules.
3705         * modules/unictype/property-all (Depends-on): Likewise.
3706         * MODULES.html.sh (Unicode string functions): Add
3707         unictype/property-case-ignorable, unictype/property-cased,
3708         unictype/property-changes-when-casefolded,
3709         unictype/property-changes-when-casemapped,
3710         unictype/property-changes-when-lowercased,
3711         unictype/property-changes-when-titlecased,
3712         unictype/property-changes-when-uppercased.
3713
3714         New module 'unictype/property-changes-when-casemapped'.
3715         * modules/unictype/property-changes-when-casemapped: New file.
3716         * lib/unictype/pr_changes_when_casemapped.c: New file.
3717         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
3718         generated by gen-uni-tables.
3719         * modules/unictype/property-changes-when-casemapped-tests: New file.
3720         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
3721         automatically generated by gen-uni-tables.
3722
3723         New module 'unictype/property-changes-when-casefolded'.
3724         * modules/unictype/property-changes-when-casefolded: New file.
3725         * lib/unictype/pr_changes_when_casefolded.c: New file.
3726         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
3727         generated by gen-uni-tables.
3728         * modules/unictype/property-changes-when-casefolded-tests: New file.
3729         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
3730         automatically generated by gen-uni-tables.
3731
3732         New module 'unictype/property-changes-when-titlecased'.
3733         * modules/unictype/property-changes-when-titlecased: New file.
3734         * lib/unictype/pr_changes_when_titlecased.c: New file.
3735         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
3736         generated by gen-uni-tables.
3737         * modules/unictype/property-changes-when-titlecased-tests: New file.
3738         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
3739         automatically generated by gen-uni-tables.
3740
3741         New module 'unictype/property-changes-when-uppercased'.
3742         * modules/unictype/property-changes-when-uppercased: New file.
3743         * lib/unictype/pr_changes_when_uppercased.c: New file.
3744         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
3745         generated by gen-uni-tables.
3746         * modules/unictype/property-changes-when-uppercased-tests: New file.
3747         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
3748         automatically generated by gen-uni-tables.
3749
3750         New module 'unictype/property-changes-when-lowercased'.
3751         * modules/unictype/property-changes-when-lowercased: New file.
3752         * lib/unictype/pr_changes_when_lowercased.c: New file.
3753         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
3754         generated by gen-uni-tables.
3755         * modules/unictype/property-changes-when-lowercased-tests: New file.
3756         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
3757         automatically generated by gen-uni-tables.
3758
3759         New module 'unictype/property-case-ignorable'.
3760         * modules/unictype/property-case-ignorable: New file.
3761         * lib/unictype/pr_case_ignorable.c: New file.
3762         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
3763         by gen-uni-tables.
3764         * modules/unictype/property-case-ignorable-tests: New file.
3765         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
3766         generated by gen-uni-tables.
3767
3768         New module 'unictype/property-cased'.
3769         * modules/unictype/property-cased: New file.
3770         * lib/unictype/pr_cased.c: New file.
3771         * lib/unictype/pr_cased.h: New file, automatically generated by
3772         gen-uni-tables.
3773         * modules/unictype/property-cased-tests: New file.
3774         * tests/unictype/test-pr_cased.c: New file, automatically generated by
3775         gen-uni-tables.
3776
3777 2011-01-09  Bruno Haible  <bruno@clisp.org>
3778
3779         Update to Unicode 5.2.0.
3780         * lib/gen-uni-tables.c (output_predicate, output_category,
3781         output_combclass, output_bidi_category, output_decimal_digit_test,
3782         output_decimal_digit, output_digit_test, output_digit,
3783         output_numeric_test, output_numeric, output_mirror, output_scripts,
3784         output_scripts_byname, output_blocks, output_ident_category): Fix
3785         comment header.
3786         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
3787         get_wbp.
3788         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
3789         items.
3790         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
3791         Changes_When_Lowercased, Changes_When_Uppercased,
3792         Changes_When_Titlecased, Changes_When_Casefolded,
3793         Changes_When_Casemapped.
3794         (is_property_alphabetic, is_property_default_ignorable_code_point):
3795         Update for Unicode 5.2.0.
3796         (is_property_cased, is_property_case_ignorable,
3797         is_property_changes_when_lowercased,
3798         is_property_changes_when_uppercased,
3799         is_property_changes_when_titlecased,
3800         is_property_changes_when_casefolded,
3801         is_property_changes_when_casemapped): New functions.
3802         (output_properties): Output also the properties cased, case_ignorable,
3803         changes_when_lowercased, changes_when_uppercased,
3804         changes_when_titlecased, changes_when_casefolded,
3805         changes_when_casemapped.
3806         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
3807         Unicode TR#11 revision 17 -> 19.
3808         (LBP_CP): New enumeration value.
3809         (LBP_*): Adjust values accordingly.
3810         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
3811         TR#14 revision 22 -> 24.
3812         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
3813         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
3814         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
3815         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
3816         is_WBP_MIDLETTER.
3817         (output_composition_tables): Allow for 24 bits instead of 16 bits in
3818         the code1 and code2 of each composition rule.
3819         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
3820         * lib/unicase/ignorable.h: Likewise.
3821         * lib/unicase/tocasefold.h: Likewise.
3822         * lib/unicase/tolower.h: Likewise.
3823         * lib/unicase/totitle.h: Likewise.
3824         * lib/unicase/toupper.h: Likewise.
3825         * lib/unictype/bidi_of.h: Likewise.
3826         * lib/unictype/blocks.h: Likewise.
3827         * lib/unictype/categ_C.h: Likewise.
3828         * lib/unictype/categ_Cf.h: Likewise.
3829         * lib/unictype/categ_Cn.h: Likewise.
3830         * lib/unictype/categ_L.h: Likewise.
3831         * lib/unictype/categ_Ll.h: Likewise.
3832         * lib/unictype/categ_Lm.h: Likewise.
3833         * lib/unictype/categ_Lo.h: Likewise.
3834         * lib/unictype/categ_Lu.h: Likewise.
3835         * lib/unictype/categ_M.h: Likewise.
3836         * lib/unictype/categ_Mc.h: Likewise.
3837         * lib/unictype/categ_Mn.h: Likewise.
3838         * lib/unictype/categ_N.h: Likewise.
3839         * lib/unictype/categ_Nd.h: Likewise.
3840         * lib/unictype/categ_Nl.h: Likewise.
3841         * lib/unictype/categ_No.h: Likewise.
3842         * lib/unictype/categ_P.h: Likewise.
3843         * lib/unictype/categ_Pd.h: Likewise.
3844         * lib/unictype/categ_Po.h: Likewise.
3845         * lib/unictype/categ_S.h: Likewise.
3846         * lib/unictype/categ_Sc.h: Likewise.
3847         * lib/unictype/categ_So.h: Likewise.
3848         * lib/unictype/categ_of.h: Likewise.
3849         * lib/unictype/combining.h: Likewise.
3850         * lib/unictype/ctype_alnum.h: Likewise.
3851         * lib/unictype/ctype_alpha.h: Likewise.
3852         * lib/unictype/ctype_graph.h: Likewise.
3853         * lib/unictype/ctype_lower.h: Likewise.
3854         * lib/unictype/ctype_print.h: Likewise.
3855         * lib/unictype/ctype_punct.h: Likewise.
3856         * lib/unictype/ctype_upper.h: Likewise.
3857         * lib/unictype/decdigit.h: Likewise.
3858         * lib/unictype/digit.h: Likewise.
3859         * lib/unictype/numeric.h: Likewise.
3860         * lib/unictype/pr_alphabetic.h: Likewise.
3861         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
3862         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
3863         * lib/unictype/pr_bidi_european_digit.h: Likewise.
3864         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
3865         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
3866         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
3867         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
3868         * lib/unictype/pr_combining.h: Likewise.
3869         * lib/unictype/pr_composite.h: Likewise.
3870         * lib/unictype/pr_currency_symbol.h: Likewise.
3871         * lib/unictype/pr_dash.h: Likewise.
3872         * lib/unictype/pr_decimal_digit.h: Likewise.
3873         * lib/unictype/pr_deprecated.h: Likewise.
3874         * lib/unictype/pr_diacritic.h: Likewise.
3875         * lib/unictype/pr_extender.h: Likewise.
3876         * lib/unictype/pr_grapheme_base.h: Likewise.
3877         * lib/unictype/pr_grapheme_extend.h: Likewise.
3878         * lib/unictype/pr_grapheme_link.h: Likewise.
3879         * lib/unictype/pr_id_continue.h: Likewise.
3880         * lib/unictype/pr_id_start.h: Likewise.
3881         * lib/unictype/pr_ideographic.h: Likewise.
3882         * lib/unictype/pr_ignorable_control.h: Likewise.
3883         * lib/unictype/pr_logical_order_exception.h: Likewise.
3884         * lib/unictype/pr_lowercase.h: Likewise.
3885         * lib/unictype/pr_numeric.h: Likewise.
3886         * lib/unictype/pr_other_alphabetic.h: Likewise.
3887         * lib/unictype/pr_punctuation.h: Likewise.
3888         * lib/unictype/pr_sentence_terminal.h: Likewise.
3889         * lib/unictype/pr_terminal_punctuation.h: Likewise.
3890         * lib/unictype/pr_unassigned_code_value.h: Likewise.
3891         * lib/unictype/pr_unified_ideograph.h: Likewise.
3892         * lib/unictype/pr_uppercase.h: Likewise.
3893         * lib/unictype/pr_xid_continue.h: Likewise.
3894         * lib/unictype/pr_xid_start.h: Likewise.
3895         * lib/unictype/pr_zero_width.h: Likewise.
3896         * lib/unictype/scripts.h: Likewise.
3897         * lib/unictype/scripts_byname.gperf: Likewise.
3898         * lib/unictype/sy_java_ident.h: Likewise.
3899         * lib/unigbrk/gbrkprop.h: Likewise.
3900         * lib/unilbrk/lbrkprop1.h: Likewise.
3901         * lib/unilbrk/lbrkprop2.h: Likewise.
3902         * lib/unilbrk/lbrktables.h: Likewise.
3903         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
3904         LBP_CP. Implement rule LB30.
3905         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
3906         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
3907         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
3908         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
3909         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
3910         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
3911         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
3912         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
3913         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
3914         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
3915         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
3916         bits instead of 16 bits in the code1 and code2 of each composition
3917         rule.
3918         (uc_composition): Update for Unicode 5.2.0.
3919         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
3920         * lib/uninorm/decomposition-table2.h: Likewise.
3921         * lib/uniwbrk/wbrkprop.h: Likewise.
3922         * tests/unicase/test-cased.c: Likewise.
3923         * tests/unicase/test-ignorable.c: Likewise.
3924         * tests/unicase/test-uc_tolower.c: Likewise.
3925         * tests/unicase/test-uc_totitle.c: Likewise.
3926         * tests/unicase/test-uc_toupper.c: Likewise.
3927         * tests/unictype/test-categ_C.c: Likewise.
3928         * tests/unictype/test-categ_Cf.c: Likewise.
3929         * tests/unictype/test-categ_Cn.c: Likewise.
3930         * tests/unictype/test-categ_L.c: Likewise.
3931         * tests/unictype/test-categ_Ll.c: Likewise.
3932         * tests/unictype/test-categ_Lm.c: Likewise.
3933         * tests/unictype/test-categ_Lo.c: Likewise.
3934         * tests/unictype/test-categ_Lu.c: Likewise.
3935         * tests/unictype/test-categ_M.c: Likewise.
3936         * tests/unictype/test-categ_Mc.c: Likewise.
3937         * tests/unictype/test-categ_Mn.c: Likewise.
3938         * tests/unictype/test-categ_N.c: Likewise.
3939         * tests/unictype/test-categ_Nd.c: Likewise.
3940         * tests/unictype/test-categ_Nl.c: Likewise.
3941         * tests/unictype/test-categ_No.c: Likewise.
3942         * tests/unictype/test-categ_P.c: Likewise.
3943         * tests/unictype/test-categ_Pd.c: Likewise.
3944         * tests/unictype/test-categ_Po.c: Likewise.
3945         * tests/unictype/test-categ_S.c: Likewise.
3946         * tests/unictype/test-categ_Sc.c: Likewise.
3947         * tests/unictype/test-categ_So.c: Likewise.
3948         * tests/unictype/test-ctype_alnum.c: Likewise.
3949         * tests/unictype/test-ctype_alpha.c: Likewise.
3950         * tests/unictype/test-ctype_graph.c: Likewise.
3951         * tests/unictype/test-ctype_lower.c: Likewise.
3952         * tests/unictype/test-ctype_print.c: Likewise.
3953         * tests/unictype/test-ctype_punct.c: Likewise.
3954         * tests/unictype/test-ctype_upper.c: Likewise.
3955         * tests/unictype/test-decdigit.h: Likewise.
3956         * tests/unictype/test-digit.h: Likewise.
3957         * tests/unictype/test-numeric.h: Likewise.
3958         * tests/unictype/test-pr_alphabetic.c: Likewise.
3959         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
3960         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
3961         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
3962         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
3963         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
3964         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
3965         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
3966         * tests/unictype/test-pr_combining.c: Likewise.
3967         * tests/unictype/test-pr_composite.c: Likewise.
3968         * tests/unictype/test-pr_currency_symbol.c: Likewise.
3969         * tests/unictype/test-pr_dash.c: Likewise.
3970         * tests/unictype/test-pr_decimal_digit.c: Likewise.
3971         * tests/unictype/test-pr_deprecated.c: Likewise.
3972         * tests/unictype/test-pr_diacritic.c: Likewise.
3973         * tests/unictype/test-pr_extender.c: Likewise.
3974         * tests/unictype/test-pr_grapheme_base.c: Likewise.
3975         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
3976         * tests/unictype/test-pr_grapheme_link.c: Likewise.
3977         * tests/unictype/test-pr_id_continue.c: Likewise.
3978         * tests/unictype/test-pr_id_start.c: Likewise.
3979         * tests/unictype/test-pr_ideographic.c: Likewise.
3980         * tests/unictype/test-pr_ignorable_control.c: Likewise.
3981         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
3982         * tests/unictype/test-pr_lowercase.c: Likewise.
3983         * tests/unictype/test-pr_numeric.c: Likewise.
3984         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
3985         * tests/unictype/test-pr_punctuation.c: Likewise.
3986         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
3987         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
3988         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
3989         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
3990         * tests/unictype/test-pr_uppercase.c: Likewise.
3991         * tests/unictype/test-pr_xid_continue.c: Likewise.
3992         * tests/unictype/test-pr_xid_start.c: Likewise.
3993         * tests/unictype/test-pr_zero_width.c: Likewise.
3994         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
3995         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
3996         changed behaviour: line breaking is now disallowed between a letter
3997         or '=' and '('.
3998         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
3999         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
4000         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
4001         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
4002         * tests/uniwidth/test-uc_width2.sh: Same updates as in
4003         lib/uniwidth/width.c.
4004         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
4005         without comments, but with the original copyright notice.
4006         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
4007         changes.
4008         * lib/unictype/categ_Cc.h: Likewise.
4009         * lib/unictype/categ_Co.h: Likewise.
4010         * lib/unictype/categ_Cs.h: Likewise.
4011         * lib/unictype/categ_Lt.h: Likewise.
4012         * lib/unictype/categ_Me.h: Likewise.
4013         * lib/unictype/categ_Pc.h: Likewise.
4014         * lib/unictype/categ_Pe.h: Likewise.
4015         * lib/unictype/categ_Pf.h: Likewise.
4016         * lib/unictype/categ_Pi.h: Likewise.
4017         * lib/unictype/categ_Ps.h: Likewise.
4018         * lib/unictype/categ_Sk.h: Likewise.
4019         * lib/unictype/categ_Sm.h: Likewise.
4020         * lib/unictype/categ_Z.h: Likewise.
4021         * lib/unictype/categ_Zl.h: Likewise.
4022         * lib/unictype/categ_Zp.h: Likewise.
4023         * lib/unictype/categ_Zs.h: Likewise.
4024         * lib/unictype/ctype_blank.h: Likewise.
4025         * lib/unictype/ctype_cntrl.h: Likewise.
4026         * lib/unictype/ctype_digit.h: Likewise.
4027         * lib/unictype/ctype_space.h: Likewise.
4028         * lib/unictype/ctype_xdigit.h: Likewise.
4029         * lib/unictype/mirror.h: Likewise.
4030         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
4031         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
4032         * lib/unictype/pr_bidi_block_separator.h: Likewise.
4033         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
4034         * lib/unictype/pr_bidi_common_separator.h: Likewise.
4035         * lib/unictype/pr_bidi_control.h: Likewise.
4036         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
4037         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
4038         * lib/unictype/pr_bidi_pdf.h: Likewise.
4039         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
4040         * lib/unictype/pr_bidi_whitespace.h: Likewise.
4041         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
4042         * lib/unictype/pr_format_control.h: Likewise.
4043         * lib/unictype/pr_hex_digit.h: Likewise.
4044         * lib/unictype/pr_hyphen.h: Likewise.
4045         * lib/unictype/pr_ids_binary_operator.h: Likewise.
4046         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
4047         * lib/unictype/pr_iso_control.h: Likewise.
4048         * lib/unictype/pr_join_control.h: Likewise.
4049         * lib/unictype/pr_left_of_pair.h: Likewise.
4050         * lib/unictype/pr_line_separator.h: Likewise.
4051         * lib/unictype/pr_math.h: Likewise.
4052         * lib/unictype/pr_non_break.h: Likewise.
4053         * lib/unictype/pr_not_a_character.h: Likewise.
4054         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
4055         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
4056         * lib/unictype/pr_other_id_continue.h: Likewise.
4057         * lib/unictype/pr_other_id_start.h: Likewise.
4058         * lib/unictype/pr_other_lowercase.h: Likewise.
4059         * lib/unictype/pr_other_math.h: Likewise.
4060         * lib/unictype/pr_other_uppercase.h: Likewise.
4061         * lib/unictype/pr_paired_punctuation.h: Likewise.
4062         * lib/unictype/pr_paragraph_separator.h: Likewise.
4063         * lib/unictype/pr_pattern_syntax.h: Likewise.
4064         * lib/unictype/pr_pattern_white_space.h: Likewise.
4065         * lib/unictype/pr_private_use.h: Likewise.
4066         * lib/unictype/pr_quotation_mark.h: Likewise.
4067         * lib/unictype/pr_radical.h: Likewise.
4068         * lib/unictype/pr_soft_dotted.h: Likewise.
4069         * lib/unictype/pr_space.h: Likewise.
4070         * lib/unictype/pr_titlecase.h: Likewise.
4071         * lib/unictype/pr_variation_selector.h: Likewise.
4072         * lib/unictype/pr_white_space.h: Likewise.
4073         * lib/unictype/sy_c_ident.h: Likewise.
4074         * lib/unictype/sy_c_whitespace.h: Likewise.
4075         * lib/unictype/sy_java_whitespace.h: Likewise.
4076         * modules/uni*/*: Bump version number of expected libunistring version.
4077         Reported by Simon Josefsson.
4078
4079 2011-01-09  Karl Heuer  <kwzh@gnu.org>
4080
4081         useless-if-before-free: fix typo in --help and make the internal,
4082         automatic version date update process work once again.
4083         --help output contained a NUL character instead of the
4084         backslash-zero that was intended.  Also, the "must lie within
4085         the first 8 lines" line is on line 9, and hence not getting
4086         automatically updated.
4087         * build-aux/useless-if-before-free: Fix the former by adding a
4088         backslash, and the latter by condensing the three lines of what-it-does
4089         to a single line, leaving one line of slack for the future.
4090
4091 2011-01-09  Bruno Haible  <bruno@clisp.org>
4092
4093         uniwidth/width: Fix width of U+1D173..U+1D17A.
4094         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
4095         symbolic_width, output_width_property_test): New functions.
4096         (main): Invoke output_nonspacing_property, output_width_property_test.
4097         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
4098         U+1D173..U+1D17A.
4099         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
4100         1.
4101         * modules/uniwidth/*: Bump version number of expected libunistring
4102         version.
4103         * modules/unilbrk/*: Likewise.
4104
4105 2011-01-08  Bruno Haible  <bruno@clisp.org>
4106
4107         uninorm tests: Preserve copyright of Unicode data file.
4108         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
4109         Mention modifications.
4110
4111 2011-01-08  Bruno Haible  <bruno@clisp.org>
4112
4113         gen-uni-tables: Prepare for Unicode 5.2.0.
4114         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
4115         (debug_output_lbp, output_lbp): Update.
4116
4117 2011-01-08  Bruno Haible  <bruno@clisp.org>
4118
4119         unilbrk: Clarify gen-uni-tables.c code.
4120         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
4121         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
4122         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
4123
4124 2011-01-07  Bruno Haible  <bruno@clisp.org>
4125
4126         strtod: Restore errno when successfully parsing Infinity or NaN.
4127         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
4128         restore the original errno.
4129
4130 2011-01-07  Bruno Haible  <bruno@clisp.org>
4131
4132         remove test: Avoid failure on HP-UX 11.
4133         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
4134
4135 2011-01-07  Bruno Haible  <bruno@clisp.org>
4136
4137         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
4138         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
4139         error code.
4140
4141 2011-01-07  Pádraig Brady <P@draigBrady.com>
4142
4143         ignore-value: fixup comments, and add Eric Blake
4144         as an author since he rewrote the macros.
4145         * lib/ignore-value.h (ignore_value):  State that
4146         we now support aggregates.  Also specify exactly
4147         when the GCC warn_unused_result feature was added.
4148
4149 2011-01-06  Eric Blake  <eblake@redhat.com>
4150
4151         ignore-value: support aggregate types
4152         * lib/ignore-value.h (ignore_value): Provide separate gcc
4153         definition.
4154         * modules/ignore-value-tests: New test module.
4155         * tests/test-ignore-value.c: New test.
4156
4157         maint.mk: improve sc_prohibit_strcmp regex
4158         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
4159         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
4160         definition of STRNEQ.
4161
4162         signal: work around Haiku issue with SIGBUS
4163         * lib/siglist.h: Add comment.
4164         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
4165         strsignal's favoring of SIGSEGV.
4166         * tests/test-signal.c (main): Avoid test failure.
4167         * doc/posix-headers/signal.texi (signal.h): Document the issue.
4168         Reported by Scott McCreary.
4169
4170         maint.mk: add pre-release check to ensure submodule commits are public
4171         * top/maint.mk (public-submodule-commit): New rule.
4172         (submodule-checks): New variable.
4173         (alpha beta stable): Depend on the variable.
4174
4175 2011-01-05  Pádraig Brady <P@draigBrady.com>
4176         and Jim Meyering  <meyering@redhat.com>
4177
4178         ignore-value: make ignore_value more generic; deprecate ignore_ptr
4179         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
4180         (ATTRIBUTE_DEPRECATED): Define.
4181         (_ignore_case): New function.
4182         (ignore_value): New macro, to replace the old function.
4183         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
4184         * modules/ignore-value (Depends-on): Add stdint.
4185
4186 2011-01-04  Eric Blake  <eblake@redhat.com>
4187
4188         doc: regenerate INSTALL
4189         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
4190         @firstparagraphindent support, now that autoconf dropped it.
4191         (INSTALL_PRELUDE): Reinstate old macro.
4192         * doc/install.texi: Resync from autoconf.
4193         * doc/INSTALL: Reflect recent autoconf update.
4194         * doc/INSTALL.ISO: Likewise.
4195         * doc/INSTALL.UTF-8: Likewise.
4196         Reported by Karl Berry.
4197
4198 2011-01-04  Bruce Korb  <address@hidden>
4199
4200         git-version-gen: avoid a sub-shell
4201         * build-aux/git-version-gen: Redirect stderr in `...` via
4202         "exec 2>...", rather than via an added sub-shell.
4203
4204 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
4205
4206         git-version-gen: use (...) rather than sh -c '...'
4207         * build-aux/git-version-gen: Rather than hard-coding a shell's name
4208         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
4209
4210 2011-01-03  Jim Meyering  <meyering@redhat.com>
4211
4212         git-version-gen: convert leading TABs to spaces
4213         * build-aux/git-version-gen: Expand leading TABs.
4214
4215         git-version-gen: handle failed "git rev-list"
4216         * build-aux/git-version-gen: Rather than leaking a "fatal" error
4217         from git and proceeding as if it had succeeded but printed no SHA1
4218         checksums, suppress the diagnostic and handle the failure.
4219         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
4220
4221         git-version-gen: include command name in one more diagnostic
4222         * build-aux/git-version-gen: When the required .tarball-version file
4223         was missing or unreadable, you might see the diagnostic from "cat",
4224         but no trace of the name of the invoking script.  Now, you still see
4225         the diagnostic from cat, but also get one from "git-version-gen: ".
4226         Inspired by a patch from Bruce Korb.
4227
4228         update-copyright: adjust test to match changed code
4229         * tests/test-update-copyright.sh: Change test's expected output
4230         to match new actual output.
4231
4232 2011-01-02  Bruno Haible  <bruno@clisp.org>
4233
4234         getlogin_r: Avoid test failure on HP-UX 11.
4235         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
4236         ERANGE when the second argument is zero.
4237         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
4238         portability problem.
4239
4240 2011-01-02  Bruce Korb  <bkorb@gnu.org>
4241
4242         * build-aux/update-copyright: doc Simon's changes
4243
4244 2011-01-02  Simon Josefsson  <simon@josefsson.org>
4245
4246         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
4247         environment variable.
4248
4249 2011-01-02  Bruno Haible  <bruno@clisp.org>
4250
4251         unigbrk: Avoid gcc warnings.
4252         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
4253         unused variable.
4254         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
4255         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
4256         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
4257         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
4258         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
4259         Change type of first argument to 'const char *'.
4260         (main): Remove unused variable.
4261         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
4262         type of first argument to 'const char *'.
4263         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
4264         Likewise.
4265         (main): Change type of variable 's'.
4266         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
4267         to 'int'.
4268
4269 2011-01-02  Bruno Haible  <bruno@clisp.org>
4270
4271         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
4272         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
4273         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
4274         bug.
4275         * lib/pwrite.c: Undo 2010-12-31 patch.
4276         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
4277
4278 2011-01-02  Bruno Haible  <bruno@clisp.org>
4279
4280         pread: Fix test whether it works.
4281         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
4282
4283 2011-01-02  Bruno Haible  <bruno@clisp.org>
4284
4285         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
4286         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
4287         ends in "6". Don't require a specific month name. Try also the locale
4288         names found on HP-UX 11 and Solaris 7.
4289
4290 2011-01-02  Bruno Haible  <bruno@clisp.org>
4291
4292         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
4293         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
4294         C linkage.
4295         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
4296
4297 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
4298
4299         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
4300         for consistency, since the "cluster" term is not used elsewhere.
4301         * lib/unigbrk.in.h: Update name.
4302         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
4303         * lib/unigbrk/u16-grapheme-next.c: Update name.
4304         * lib/unigbrk/u16-grapheme-prev.c: Update name.
4305         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
4306         * lib/unigbrk/u32-grapheme-next.c: Update name.
4307         * lib/unigbrk/u32-grapheme-prev.c: Update name.
4308         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
4309         * lib/unigbrk/u8-grapheme-next.c: Update name.
4310         * lib/unigbrk/u8-grapheme-prev.c: Update name.
4311         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
4312         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
4313         Suggested by Bruno Haible.
4314
4315 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
4316
4317         Remove module 'u8-grapheme-len' as too redundant with
4318         'u8-grapheme-next'.
4319         * modules/unigbrk/u8-grapheme-len: Delete file.
4320         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
4321         * lib/unigbrk.in.h: Remove prototype for deleted function.
4322         * lib/unigbrk/u8-grapheme-len.c: Delete file.
4323         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
4324
4325         Remove module 'u16-grapheme-len' as too redundant with
4326         'u16-grapheme-next'.
4327         * modules/unigbrk/u16-grapheme-len: Delete file.
4328         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
4329         * lib/unigbrk.in.h: Remove prototype for deleted function.
4330         * lib/unigbrk/u16-grapheme-len.c: Delete file.
4331         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
4332
4333         Remove module 'u32-grapheme-len' as too redundant with
4334         'u32-grapheme-next'.
4335         * modules/unigbrk/u32-grapheme-len: Delete file.
4336         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
4337         * lib/unigbrk.in.h: Remove prototype for deleted function.
4338         * lib/unigbrk/u32-grapheme-len.c: Delete file.
4339         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
4340
4341         Suggested by Bruno Haible.
4342
4343 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
4344
4345         * unigbrk.in.h: Fix typo: "ben" => "been".
4346         Reported by Bruno Haible.
4347
4348 2011-01-01  Jim Meyering  <meyering@redhat.com>
4349
4350         maint: update almost all copyright ranges to include 2011
4351         Run the new "make update-copyright" rule.
4352
4353 2011-01-01  Jim Meyering  <meyering@redhat.com>
4354
4355         maint: update-copyright: exempt doc/INSTALL*
4356         * Makefile (update-copyright): Also exclude doc/INSTALL*,
4357         since they are generated.  Suggested by Bruno Haible.
4358
4359 2011-01-01  Jim Meyering  <meyering@redhat.com>
4360
4361         maint: refine the update-copyright rule
4362         * Makefile (update-copyright): Also exclude any file that includes
4363         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
4364         code that merely generates the comment.
4365
4366 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
4367
4368         New module 'u8-grapheme-len'.
4369         * modules/unigbrk/u8-grapheme-len: New file.
4370         * modules/unigbrk/u8-grapheme-len-tests: New file.
4371         * lib/unigbrk.in.h: Add prototype for new function.
4372         * lib/unigbrk/u8-grapheme-len.c: New file.
4373         * tests/unigbrk/test-u8-grapheme-len.c: New file.
4374
4375         New module 'u16-grapheme-len'.
4376         * modules/unigbrk/u16-grapheme-len: New file.
4377         * modules/unigbrk/u16-grapheme-len-tests: New file.
4378         * lib/unigbrk.in.h: Add prototype for new function.
4379         * lib/unigbrk/u16-grapheme-len.c: New file.
4380         * tests/unigbrk/test-u16-grapheme-len.c: New file.
4381
4382         New module 'u32-grapheme-len'.
4383         * modules/unigbrk/u32-grapheme-len: New file.
4384         * modules/unigbrk/u32-grapheme-len-tests: New file.
4385         * lib/unigbrk.in.h: Add prototype for new function.
4386         * lib/unigbrk/u32-grapheme-len.c: New file.
4387         * tests/unigbrk/test-u32-grapheme-len.c: New file.
4388
4389         New module 'u8-grapheme-next'.
4390         * modules/unigbrk/u8-grapheme-next: New file.
4391         * modules/unigbrk/u8-grapheme-next-tests: New file.
4392         * lib/unigbrk.in.h: Add prototype for new function.
4393         * lib/unigbrk/u8-grapheme-next.c: New file.
4394         * tests/unigbrk/test-u8-grapheme-next.c: New file.
4395
4396         New module 'u16-grapheme-next'.
4397         * modules/unigbrk/u16-grapheme-next: New file.
4398         * modules/unigbrk/u16-grapheme-next-tests: New file.
4399         * lib/unigbrk.in.h: Add prototype for new function.
4400         * lib/unigbrk/u16-grapheme-next.c: New file.
4401         * tests/unigbrk/test-u16-grapheme-next.c: New file.
4402
4403         New module 'u32-grapheme-next'.
4404         * modules/unigbrk/u32-grapheme-next: New file.
4405         * modules/unigbrk/u32-grapheme-next-tests: New file.
4406         * lib/unigbrk.in.h: Add prototype for new function.
4407         * lib/unigbrk/u32-grapheme-next.c: New file.
4408         * tests/unigbrk/test-u32-grapheme-next.c: New file.
4409
4410         New module 'u8-grapheme-prev'.
4411         * modules/unigbrk/u8-grapheme-prev: New file.
4412         * modules/unigbrk/u8-grapheme-prev-tests: New file.
4413         * lib/unigbrk.in.h: Add prototype for new function.
4414         * lib/unigbrk/u8-grapheme-prev.c: New file.
4415         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
4416
4417         New module 'u16-grapheme-prev'.
4418         * modules/unigbrk/u16-grapheme-prev: New file.
4419         * modules/unigbrk/u16-grapheme-prev-tests: New file.
4420         * lib/unigbrk.in.h: Add prototype for new function.
4421         * lib/unigbrk/u16-grapheme-prev.c: New file.
4422         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
4423
4424         New module 'u32-grapheme-prev'.
4425         * modules/unigbrk/u32-grapheme-prev: New file.
4426         * modules/unigbrk/u32-grapheme-prev-tests: New file.
4427         * lib/unigbrk.in.h: Add prototype for new function.
4428         * lib/unigbrk/u32-grapheme-prev.c: New file.
4429         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
4430
4431         New module 'u8-grapheme-breaks'.
4432         * modules/unigbrk/u8-grapheme-breaks: New file.
4433         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
4434         * lib/unigbrk.in.h: Add prototype for new function.
4435         * lib/unigbrk/u8-grapheme-breaks.c: New file.
4436         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
4437
4438         New module 'u16-grapheme-breaks'.
4439         * modules/unigbrk/u16-grapheme-breaks: New file.
4440         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
4441         * lib/unigbrk.in.h: Add prototype for new function.
4442         * lib/unigbrk/u16-grapheme-breaks.c: New file.
4443         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
4444
4445         New module 'u32-grapheme-breaks'.
4446         * modules/unigbrk/u32-grapheme-breaks: New file.
4447         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
4448         * lib/unigbrk.in.h: Add prototype for new function.
4449         * lib/unigbrk/u32-grapheme-breaks.c: New file.
4450         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
4451
4452         New module 'ulc-grapheme-breaks'.
4453         * modules/unigbrk/ulc-grapheme-breaks: New file.
4454         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
4455         * m4/locale-ar.m4: New file.
4456         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
4457         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
4458         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
4459
4460 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
4461
4462         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
4463         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
4464         modified how this file was generated before I initially submitted
4465         the module, but failed to regenerate it.  This meant that several
4466         of the level2 entries were wrong.
4467         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
4468         Remove the division-by-2 that is folded into the table now that
4469         gbrkprop.h has been regenerated properly.  Now -1 entries are
4470         handled correctly.
4471
4472         New module 'unigbrk/uc-gbrk-prop-tests'.
4473         * modules/unigbrk/uc-gbrk-prop-tests: New file.
4474         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
4475         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
4476         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
4477
4478 2011-01-01  Bruno Haible  <bruno@clisp.org>
4479
4480         Avoid use of hexadecimal escapes.
4481         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
4482         instead of hexadecimal escapes.
4483
4484 2011-01-01  Jim Meyering  <meyering@redhat.com>
4485
4486         maint: new rule to update copyright year ranges
4487         * Makefile (update-copyright): New rule.
4488
4489         maint: indent with TABs in Makefile
4490         * Makefile: Expand leading sequences of spaces to TABs
4491
4492         version-etc: update the copyright year it reports
4493         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
4494
4495 2010-12-31  Bruno Haible  <bruno@clisp.org>
4496
4497         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
4498         * lib/isfinite.c (zerof, zerod, zerol): New variables.
4499         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
4500         zero.
4501
4502 2010-12-31  Bruno Haible  <bruno@clisp.org>
4503
4504         pwrite: Work around HP-UX 11.11 bug.
4505         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
4506         works and set REPLACE_PWRITE if not.
4507         * lib/pwrite.c (pwrite): Add an implementation that uses the system
4508         function.
4509         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
4510
4511 2010-12-31  Bruno Haible  <bruno@clisp.org>
4512
4513         pread: Work around HP-UX 11 bugs.
4514         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
4515         and set REPLACE_PREAD if not.
4516         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
4517
4518 2010-12-31  Eric Blake  <eblake@redhat.com>
4519
4520         nl_langinfo: fix YESEXPR on Irix 6.5
4521         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
4522         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
4523         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
4524         it.
4525
4526 2010-12-31  Bruno Haible  <bruno@clisp.org>
4527
4528         iconv: Document HP-UX 11 bug.
4529         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
4530
4531 2010-12-31  Bruno Haible  <bruno@clisp.org>
4532
4533         ldexpl: Fix link error on HP-UX 11.
4534         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
4535         LDEXPL_LIBM, using $ISNANL_LIBM.
4536
4537 2010-12-31  Eric Blake  <eblake@redhat.com>
4538
4539         ftello: avoid compilation failure with SunStudio c89
4540         * lib/ftello.c (ftello): Use lseek, not llseek.
4541
4542         tests: avoid failing coreutils tests on cygwin
4543         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
4544         (create_exe_shims_): Return 0 when skipping.
4545
4546 2010-12-31  Bruno Haible  <bruno@clisp.org>
4547
4548         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
4549         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
4550
4551 2010-12-31  Bruno Haible  <bruno@clisp.org>
4552
4553         waitpid: Fix link error in C++ mode.
4554         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
4555
4556 2010-12-31  Bruno Haible  <bruno@clisp.org>
4557
4558         isnan: Use GCC built-ins when possible.
4559         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
4560         __builtin_isnan.
4561         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
4562         (isnan): Define using GCC built-ins for GCC >= 4.0.
4563
4564 2010-12-31  Bruno Haible  <bruno@clisp.org>
4565
4566         isnand: Fix mistake.
4567         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
4568         __builtin_isnand.
4569
4570 2010-12-31  Bruno Haible  <bruno@clisp.org>
4571
4572         open: Avoid C++ error on HP-UX 11.
4573         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
4574
4575 2010-12-31  Bruno Haible  <bruno@clisp.org>
4576
4577         time_r: Add missing declarations on HP-UX 11.
4578         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
4579         instead of HAVE_LOCALTIME_R.
4580         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
4581         HAVE_LOCALTIME_R always.
4582         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
4583         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
4584         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
4585         HAVE_LOCALTIME_R.
4586         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
4587         * doc/posix-functions/localtime_r.texi: Likewise.
4588
4589 2010-12-29  Eric Blake  <eblake@redhat.com>
4590
4591         mountlist: tweak previous commit
4592         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
4593         Reported by Paul Eggert.
4594
4595         mountlist: fix local drive detection on cygwin
4596         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
4597         that works for cygwin.
4598
4599 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
4600
4601         ftoastr, snprintf: ftoastr + snprintf module
4602         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
4603         since the snprintf module now should be good enough here.
4604         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
4605         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
4606         and gl_MODULE_INDICATOR([snprintf]), but the former enables
4607         GNULIB_SNPRINTF only for the test directory, and the latter
4608         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
4609         seems to suffice by itself.
4610
4611 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
4612
4613         alloca: one step towards thread-safety
4614         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
4615         need for a static variable.  All callers changed.  This does not
4616         make the alloca replacement thread-safe, but it's one step.
4617
4618         tests: minor indenting change
4619         * tests/init.sh: Sync from coreutils housekeeping patch
4620         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
4621         to keep lines within 80 columns.
4622
4623 2010-12-28  Jim Meyering  <meyering@redhat.com>
4624
4625         regex: don't infloop on persistent failing calloc
4626         * lib/regexec.c (build_trtable): Return failure indication upon
4627         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
4628         In glibc, this was fixed for version 2.13:
4629         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
4630
4631 2010-12-28  Bruno Haible  <bruno@clisp.org>
4632             Paul Eggert <eggert@cs.ucla.edu>
4633
4634         linkat: Make implementation robust against system behaviour variations.
4635         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
4636         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
4637         way, and to -2 if it needs a generic runtime test.
4638         * lib/linkat.c (solaris_optimized_link_immediate,
4639         solaris_optimized_link_follow): New functions.
4640         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
4641         (check_same_link): Use it.
4642
4643 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
4644
4645         New module 'unigbrk/base'.
4646         * modules/unigbrk/base: New file.
4647         * lib/unigbrk.in.h: New file.
4648
4649         New module 'unigbrk/uc-gbrk-prop'.
4650         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
4651         * modules/unigbrk/uc-gbrk-prop: New file.
4652         * lib/unigbrk/gbrkprop.h: New file.
4653         * lib/unigbrk/uc-gbrk-prop.c: New file.
4654
4655         New module 'unigbrk/uc-is-grapheme-break'.
4656         * modules/unigbrk/uc-is-grapheme-break: New file.
4657         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
4658         * lib/unigbrk/uc-is-grapheme-break.c: New file.
4659         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
4660         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
4661         * tests/unigbrk/GraphemeBreakTest.txt: New file.
4662
4663         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
4664
4665 2010-12-27  Bruno Haible  <bruno@clisp.org>
4666
4667         linkat test: Avoid failure on Solaris 11 2010-11.
4668         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
4669
4670 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
4671
4672         utimens: work around glibc rounding bug on more platforms
4673         * lib/utimens.c (fdutimens): Work around rounding bug even if
4674         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
4675         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
4676
4677 2010-12-27  Bruno Haible  <bruno@clisp.org>
4678
4679         select tests: Improve comments.
4680         * tests/test-select.c (do_select): Add comments.
4681
4682 2010-12-27  Bruno Haible  <bruno@clisp.org>
4683
4684         select tests: Safer way of handling timeout.
4685         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
4686         at every invocation.
4687
4688 2010-12-27  Bruno Haible  <bruno@clisp.org>
4689
4690         select tests: Use 'bool' where appropriate.
4691         * tests/test-select.c (connect_to_socket): Change argument type to
4692         'bool'.
4693
4694 2010-12-27  Bruno Haible  <bruno@clisp.org>
4695
4696         select tests: Use existing modules.
4697         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
4698         (configure.ac): Don't test for unistd.h.
4699         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
4700         declared in <unistd.h>.
4701
4702 2010-12-27  Bruno Haible  <bruno@clisp.org>
4703
4704         mbrtowc: Work around a Solaris 7 bug.
4705         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
4706         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
4707         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
4708         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
4709         MBRTOWC_NULL_ARG1_BUG.
4710         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
4711         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
4712         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
4713         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
4714
4715 2010-12-27  Jim Meyering  <meyering@redhat.com>
4716
4717         read-file.c: tweak syntax
4718         * lib/read-file.c (fread_file): Remove space after "*" in function
4719         definitions.
4720
4721 2010-12-27  Bruno Haible  <bruno@clisp.org>
4722
4723         times test: Avoid gcc warnings on OSF/1.
4724         * tests/test-times.c (main): Cast printf arguments from clock_t to
4725         'long int'.
4726
4727 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
4728
4729         utimens: work around glibc rounding bug on older Linux kernels
4730         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
4731         on Linux with a glibc whose utimes might not work, then work
4732         around a longstanding glibc bug involving rounding rather than
4733         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
4734         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
4735
4736 2010-12-26  Bruno Haible  <bruno@clisp.org>
4737
4738         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
4739         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
4740         _GL_CXXALIAS_SYS.
4741         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4742
4743 2010-12-26  Bruno Haible  <bruno@clisp.org>
4744
4745         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
4746         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
4747         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
4748         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
4749         looking for the declaration.
4750         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
4751         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
4752         problem.
4753         * doc/posix-functions/inet_pton.texi: Likewise.
4754
4755 2010-12-26  Bruno Haible  <bruno@clisp.org>
4756
4757         arpa_inet: Use the common idioms with C++ support.
4758         * lib/arpa_inet.in.h: Include c++defs.h.
4759         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
4760         support.
4761         * modules/arpa_inet (Depends-on): Add c++defs.
4762         (Makefile.am): Substitute the contents of c++defs.h.
4763         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
4764         * modules/arpa_inet-c++-tests: New file.
4765         * tests/test-arpa_inet-c++.cc: New file.
4766
4767 2010-12-25  Bruno Haible  <bruno@clisp.org>
4768
4769         Fix more C++ link errors on Solaris 8.
4770         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
4771         $(LIB_EACCESS).
4772         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
4773         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
4774         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
4775         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
4776         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
4777
4778 2010-12-25  Bruno Haible  <bruno@clisp.org>
4779
4780         printf-posix: Fix link error when a non-GCC compiler is used.
4781         * lib/stdio.in.h (printf): When not using GCC, override printf
4782         correctly.
4783         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4784
4785 2010-12-25  Bruno Haible  <bruno@clisp.org>
4786
4787         strerror_r-posix: Update doc.
4788         * doc/posix-functions/strerror_r.texi: Update doc about the return
4789         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
4790
4791 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
4792
4793         utimens: simplify the logic of the previous change
4794         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
4795         This should not affect whether the test succeeds or fails.
4796
4797         utimens: configure better on hosts with NFS clock skew
4798         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
4799         uses the clock of the local host.  It might use the clock of the
4800         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
4801         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
4802
4803 2010-12-25  Bruno Haible  <bruno@clisp.org>
4804
4805         ptsname test: Avoid failure on Solaris.
4806         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
4807         open a pseudo-terminal; don't use BSD-style ptys.
4808         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
4809
4810 2010-12-25  Bruno Haible  <bruno@clisp.org>
4811
4812         ptsname: Avoid ERANGE failure on some systems.
4813         * lib/ptsname.c (buffer): Increase size.
4814
4815 2010-12-25  Bruno Haible  <bruno@clisp.org>
4816
4817         rename, renameat: Avoid test failures at NFS mounted locations.
4818         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
4819         so that subsequent mkdir calls succeed.
4820
4821 2010-12-25  Bruno Haible  <bruno@clisp.org>
4822
4823         iswblank: Fix C++ link error on Solaris 8.
4824         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
4825         _GL_FUNCDECL_SYS.
4826
4827 2010-12-25  Bruno Haible  <bruno@clisp.org>
4828
4829         unistd: Fix C++ link error on Solaris 8.
4830         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
4831
4832 2010-12-25  Bruno Haible  <bruno@clisp.org>
4833
4834         readlink doc: Mention an old glibc bug.
4835         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
4836
4837 2010-12-25  Bruno Haible  <bruno@clisp.org>
4838
4839         fcntl-h: Fix for use of C++ on glibc systems.
4840         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
4841         also on glibc systems in C++ mode.
4842         Reported by Gary V. Vaughan <gary@gnu.org>.
4843
4844 2010-12-25  Bruno Haible  <bruno@clisp.org>
4845
4846         roundl-ieee: Make it work on OSF/1 5.1 with cc.
4847         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
4848
4849 2010-12-25  Bruno Haible  <bruno@clisp.org>
4850
4851         truncl-ieee: Make it work on OSF/1 5.1 with cc.
4852         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
4853         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
4854         test whether truncl works according to ISO C 99 with IEC 60559.
4855         * m4/truncl-ieee.m4: New file.
4856         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
4857         m4/signbit.m4.
4858         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
4859
4860 2010-12-25  Bruno Haible  <bruno@clisp.org>
4861
4862         ceill-ieee: Make it work on OSF/1 5.1 with cc.
4863         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
4864         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
4865         test whether ceill works according to ISO C 99 with IEC 60559.
4866         * m4/ceill-ieee.m4: New file.
4867         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
4868         m4/signbit.m4.
4869         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
4870
4871 2010-12-25  Bruno Haible  <bruno@clisp.org>
4872
4873         Ensure all prerequisites of <wchar.h> are included.
4874         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
4875         before <wchar.h>.
4876         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
4877         gl_MBRLEN_NUL_RETVAL): Likewise.
4878         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
4879         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
4880         AC_FUNC_MBRTOWC): Likewise.
4881         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
4882         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
4883         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
4884         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
4885         Likewise.
4886         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
4887         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
4888         (gl_WCHAR_H): Improve comments.
4889         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
4890
4891 2010-12-25  Bruno Haible  <bruno@clisp.org>
4892
4893         strtok_r: Fix C syntax error in autoconf macro.
4894         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
4895         characters in test program.
4896
4897 2010-12-24  Bruno Haible  <bruno@clisp.org>
4898
4899         ceil, trunc, round: Fix gcc warnings.
4900         * lib/ceil.c (MIN): Undefine before redefining.
4901         * lib/trunc.c (MIN): Likewise.
4902         * lib/round.c (MIN): Likewise.
4903         Include <math.h> first.
4904
4905 2010-12-24  Bruno Haible  <bruno@clisp.org>
4906
4907         select tests: Avoid failures on OSF/1 5.1.
4908         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
4909         failure of closing the last socket; it may fail with ECONNRESET.
4910
4911 2010-12-24  Eric Blake  <eblake@redhat.com>
4912
4913         stdint: avoid HP-UX 10.20 preprocessor bug
4914         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
4915         than #if.
4916         * tests/test-floor2.c (main): Likewise.
4917         Reported by Peter O'Gorman.
4918
4919         pipe: make obsoletion transition easier
4920         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
4921         * modules/pipe (Files): Include revived file.
4922         (Include): Drop reference, to mirror getdate's behavior.
4923
4924 2010-12-24  Bruno Haible  <bruno@clisp.org>
4925
4926         sys_socket: Hide mismatch of declarations on NonStop Kernel.
4927         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
4928         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
4929         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4930
4931 2010-12-24  Bruno Haible  <bruno@clisp.org>
4932
4933         gethostname: Ensure declaration on NonStop Kernel.
4934         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
4935         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4936
4937 2010-12-24  Bruno Haible  <bruno@clisp.org>
4938
4939         sys_select: Ensure all necessary types on NonStop Kernel.
4940         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
4941         include <sys/time.h>.
4942         * doc/posix-headers/sys_select.texi: Mention that it's missing on
4943         NonStop Kernel.
4944         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4945
4946 2010-12-24  Bruno Haible  <bruno@clisp.org>
4947
4948         sys_select: Remove unneeded include.
4949         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
4950         have <sys/select.h>.
4951
4952 2010-12-24  Bruno Haible  <bruno@clisp.org>
4953
4954         gethostname: Provide a fallback for HOST_NAME_MAX.
4955         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
4956         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
4957         instead.
4958         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4959
4960 2010-12-24  Bruno Haible  <bruno@clisp.org>
4961
4962         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
4963         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
4964         (SA_RESTART): Likewise.
4965         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4966
4967 2010-12-24  Bruno Haible  <bruno@clisp.org>
4968
4969         signal: Define NSIG.
4970         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
4971         * tests/test-signal.c (nsig): New variable.
4972         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4973
4974 2010-12-24  Bruno Haible  <bruno@clisp.org>
4975
4976         rename, renameat: Avoid test failures on OSF/1 5.1.
4977         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
4978         alternative error codes.
4979         * tests/test-renameat.c (main): Likewise.
4980
4981 2010-12-24  Bruno Haible  <bruno@clisp.org>
4982
4983         *printf: Detect large precisions bug on Solaris 10/SPARC.
4984         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
4985         by Paul Eggert.
4986         * tests/test-snprintf-posix.h (test_function): Add this test code here
4987         too.
4988         * tests/test-sprintf-posix.h (test_function): Likewise.
4989         * tests/test-vasnprintf-posix.c (test_function): Likewise.
4990         * tests/test-vasprintf-posix.c (test_function): Likewise.
4991         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
4992         around by gnulib.
4993         * doc/posix-functions/printf.texi: Likewise.
4994         * doc/posix-functions/snprintf.texi: Likewise.
4995         * doc/posix-functions/sprintf.texi: Likewise.
4996         * doc/posix-functions/vfprintf.texi: Likewise.
4997         * doc/posix-functions/vprintf.texi: Likewise.
4998         * doc/posix-functions/vsnprintf.texi: Likewise.
4999         * doc/posix-functions/vsprintf.texi: Likewise.
5000         * doc/posix-functions/dprintf.texi: Undo last commit.
5001         * doc/posix-functions/vdprintf.texi: Likewise.
5002
5003 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
5004
5005         tests: port test-fdutimensat.c to Solaris 8
5006         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
5007         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
5008         On Solaris 8, it fails with errno == ENOSYS, because there is no
5009         futimens (so it can't use the fd), and there is no lutimens (so it
5010         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
5011
5012         vsnprintf: make more consistent with snprintf; doc fixes
5013
5014         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
5015         the byte count return problem was promoted from the snprintf-posix
5016         to the snprintf module.
5017         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5018         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
5019         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
5020         * tests/test-snprintf.c (main): Check the byte count returned.
5021         * tests/test-vsnprintf.c (main): Likewise.
5022
5023 2010-12-23  Eric Blake  <eblake@redhat.com>
5024
5025         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
5026         * modules/sigpipe (License): Relax license.
5027
5028 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
5029
5030         doc: document Solaris printf bug with large float precisions
5031         * doc/posix-functions/dprintf.texi (dprintf):
5032         * doc/posix-functions/fprintf.texi (fprintf):
5033         * doc/posix-functions/printf.texi (printf):
5034         * doc/posix-functions/snprintf.texi (snprintf):
5035         * doc/posix-functions/sprintf.texi (sprintf):
5036         * doc/posix-functions/vdprintf.texi (vdprintf):
5037         * doc/posix-functions/vfprintf.texi (vfprintf):
5038         * doc/posix-functions/vprintf.texi (vprintf):
5039         * doc/posix-functions/vsnprintf.texi (vsnprintf):
5040         * doc/posix-functions/vsprintf.texi (vsprintf):
5041         Mention that these functions mishandle large floating point
5042         precisions on Solaris 10.  The same bug is also present in Solaris
5043         8, and I assume earlier.  This causes "cd gnulib-tests; make
5044         check" to fail on Solaris 8 (and I assume, later) when building
5045         the latest coreutils, in test-vasprintf-posix's call to
5046         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
5047         the wide flavors (e.g., wprintf) so this patch just updates the
5048         documentation for the narrow ones.
5049
5050         test-posixtm.c: add two tests
5051         * tests/test-posixtm.c: Add two tests, to highlight the
5052         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
5053         around this bug; this is merely to document it.
5054
5055 2010-12-22  Bruno Haible  <bruno@clisp.org>
5056
5057         getlogin_r: Work around portability problem on OSF/1.
5058         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
5059         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
5060         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
5061         test for a truncated result.
5062         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
5063         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
5064         * modules/getlogin_r (Depends-on): Add memchr.
5065         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
5066
5067 2010-12-22  Bruno Haible  <bruno@clisp.org>
5068
5069         ptsname: Avoid test failure on OSF/1 5.1.
5070         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
5071         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
5072         (same_slave): New function.
5073         (main): Use it to compare ptsname's result with the expected file name.
5074
5075 2010-12-22  Bruno Haible  <bruno@clisp.org>
5076
5077         Port extended stdio modules to HP NonStop Kernel.
5078         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
5079         macros.
5080         * lib/fbufmode.c: Update comments.
5081         * lib/fflush.c: Likewise.
5082         * lib/fpurge.c: Likewise.
5083         * lib/freadable.c: Likewise.
5084         * lib/freadahead.c: Likewise.
5085         * lib/freading.c: Likewise.
5086         * lib/freadptr.c: Likewise.
5087         * lib/freadseek.c: Likewise.
5088         * lib/fseeko.c: Likewise.
5089         * lib/fseterr.c: Likewise.
5090         * lib/fwritable.c: Likewise.
5091         * lib/fwriting.c: Likewise.
5092         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5093
5094 2010-12-22  Bruno Haible  <bruno@clisp.org>
5095
5096         ttyname_r: Work around bug on OSF/1 5.1.
5097         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
5098         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
5099         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
5100         present.
5101         * lib/ttyname_r.c (ttyname_r): Update comments.
5102
5103 2010-12-22  Bruno Haible  <bruno@clisp.org>
5104
5105         round: Implement result sign according to IEEE 754.
5106         * lib/round.c (MIN, MINUS_ZERO): New macros.
5107         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
5108         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
5109         * tests/test-round-ieee.c (main): Likewise.
5110         * tests/test-roundl-ieee.c (main): Likewise.
5111
5112         trunc: Implement result sign according to IEEE 754.
5113         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
5114         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
5115         * tests/test-trunc2.c: Include minus-zero.h.
5116         (MINUS_ZERO): New macro.
5117         (trunc_reference): Keep in sync with lib/trunc.c.
5118         * tests/test-truncf2.c: Include minus-zero.h.
5119         (MINUS_ZERO): New macro.
5120         (truncf_reference): Keep in sync with lib/trunc.c.
5121         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
5122         * tests/test-trunc-ieee.c (main): Likewise.
5123         * tests/test-truncl-ieee.c (main): Likewise.
5124
5125         ceil: Implement result sign according to IEEE 754.
5126         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
5127         (FUNC): Return -0.0 for -1 < x < 0.
5128         * tests/test-ceil2.c: Include minus-zero.h.
5129         (MINUS_ZERO): New macro.
5130         (ceil_reference): Keep in sync with lib/ceil.c.
5131         * tests/test-ceilf2.c: Include minus-zero.h.
5132         (MINUS_ZERO): New macro.
5133         (ceilf_reference): Keep in sync with lib/ceil.c.
5134         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
5135         * tests/test-ceil-ieee.c (main): Likewise.
5136         * tests/test-ceill-ieee.c (main): Likewise.
5137
5138         floor: Implement result sign according to IEEE 754.
5139         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
5140         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
5141         * tests/test-floorf2.c (floorf_reference): Likewise.
5142         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
5143         * tests/test-floor-ieee.c (main): Likewise.
5144         * tests/test-floorl-ieee.c (main): Likewise.
5145
5146 2010-12-22  Bruno Haible  <bruno@clisp.org>
5147
5148         getaddrinfo: Update doc.
5149         * doc/posix-functions/gai_strerror.texi: Return type is also different
5150         on AIX and HP-UX.
5151
5152 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
5153
5154         getaddrinfo, inet_ntop: Update doc for Solaris.
5155         * doc/posix-functions/gai_strerror.texi: Return type is also an
5156         issue on Solaris 9 and earlier.
5157         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
5158         on Solaris 10 and earlier.
5159
5160 2010-12-21  Bruno Haible  <bruno@clisp.org>
5161
5162         New module 'roundl-ieee'.
5163         * modules/roundl-ieee: New file.
5164         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
5165         test whether roundl works according to ISO C 99 with IEC 60559.
5166         * m4/roundl-ieee.m4: New file.
5167         * modules/roundl-ieee-tests: New file.
5168         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
5169         * tests/test-roundl.c (main): Remove signbit tests.
5170         * modules/roundl-tests (Depends-on): Remove signbit.
5171         * doc/posix-functions/roundl.texi: Mention the new module.
5172
5173 2010-12-21  Bruno Haible  <bruno@clisp.org>
5174
5175         New module 'truncl-ieee'.
5176         * modules/truncl-ieee: New file.
5177         * modules/truncl-ieee-tests: New file.
5178         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
5179         * tests/test-truncl.c (main): Remove signbit tests.
5180         * modules/truncl-tests (Depends-on): Remove signbit.
5181         * doc/posix-functions/truncl.texi: Mention the new module.
5182
5183 2010-12-21  Bruno Haible  <bruno@clisp.org>
5184
5185         New module 'ceill-ieee'.
5186         * modules/ceill-ieee: New file.
5187         * modules/ceill-ieee-tests: New file.
5188         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
5189         * tests/test-ceill.c (main): Remove signbit tests.
5190         * modules/ceill-tests (Depends-on): Remove signbit.
5191         * doc/posix-functions/ceill.texi: Mention the new module.
5192
5193 2010-12-21  Bruno Haible  <bruno@clisp.org>
5194
5195         New module 'floorl-ieee'.
5196         * modules/floorl-ieee: New file.
5197         * modules/floorl-ieee-tests: New file.
5198         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
5199         * tests/test-floorl.c (main): Remove signbit tests.
5200         * modules/floorl-tests (Depends-on): Remove signbit.
5201         * doc/posix-functions/floorl.texi: Mention the new module.
5202
5203 2010-12-21  Bruno Haible  <bruno@clisp.org>
5204
5205         New module 'round-ieee'.
5206         * modules/round-ieee: New file.
5207         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
5208         whether round works according to ISO C 99 with IEC 60559.
5209         * m4/round-ieee.m4: New file.
5210         * modules/round-ieee-tests: New file.
5211         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
5212         * tests/test-round1.c (main): Remove signbit tests.
5213         * modules/round-tests (Depends-on): Remove 'signbit'.
5214         * doc/posix-functions/round.texi: Mention the new module.
5215
5216 2010-12-21  Bruno Haible  <bruno@clisp.org>
5217
5218         New module 'trunc-ieee'.
5219         * modules/trunc-ieee: New file.
5220         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
5221         whether trunc works according to ISO C 99 with IEC 60559.
5222         * m4/trunc-ieee.m4: New file.
5223         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
5224         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
5225         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
5226         * modules/trunc-ieee-tests: New file.
5227         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
5228         * tests/test-trunc1.c (main): Remove signbit tests.
5229         * modules/trunc-tests (Depends-on): Remove 'signbit'.
5230         * doc/posix-functions/trunc.texi: Mention the new module.
5231
5232 2010-12-21  Bruno Haible  <bruno@clisp.org>
5233
5234         New module 'ceil-ieee'.
5235         * modules/ceil-ieee: New file.
5236         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
5237         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
5238         ISO C 99 with IEC 60559.
5239         * m4/ceil-ieee.m4: New file.
5240         * modules/ceil (Files): Add lib/ceil.c.
5241         (Depends-on): Add 'float'.
5242         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
5243         * lib/math.in.h (ceil): New declaration.
5244         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
5245         REPLACE_CEIL.
5246         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
5247         * modules/ceil-ieee-tests: New file.
5248         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
5249         * tests/test-math-c++.cc: Check the signature of 'ceil'.
5250         * doc/posix-functions/ceil.texi: Mention the new module.
5251
5252 2010-12-21  Bruno Haible  <bruno@clisp.org>
5253
5254         New module 'floor-ieee'.
5255         * modules/floor-ieee: New file.
5256         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
5257         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
5258         ISO C 99 with IEC 60559.
5259         * m4/floor-ieee.m4: New file.
5260         * modules/floor (Files): Add lib/floor.c.
5261         (Depends-on): Add 'float'.
5262         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
5263         * lib/math.in.h (floor): New declaration.
5264         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
5265         REPLACE_FLOOR.
5266         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
5267         * modules/floor-ieee-tests: New file.
5268         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
5269         * tests/test-math-c++.cc: Check the signature of 'floor'.
5270         * doc/posix-functions/floor.texi: Mention the new module.
5271
5272 2010-12-21  Bruno Haible  <bruno@clisp.org>
5273
5274         New module 'roundf-ieee'.
5275         * modules/roundf-ieee: New file.
5276         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
5277         test whether roundf works according to ISO C 99 with IEC 60559.
5278         * m4/roundf-ieee.m4: New file.
5279         * modules/roundf-ieee-tests: New file.
5280         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
5281         * tests/test-roundf1.c (main): Remove signbit tests.
5282         * modules/roundf-tests (Depends-on): Remove 'signbit'.
5283         * doc/posix-functions/roundf.texi: Mention the new module.
5284
5285 2010-12-21  Bruno Haible  <bruno@clisp.org>
5286
5287         New module 'truncf-ieee'.
5288         * modules/truncf-ieee: New file.
5289         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
5290         test whether truncf works according to ISO C 99 with IEC 60559.
5291         * m4/truncf-ieee.m4: New file.
5292         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
5293         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
5294         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
5295         * modules/truncf-ieee-tests: New file.
5296         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
5297         * tests/test-truncf1.c (main): Remove signbit tests.
5298         * modules/truncf-tests (Depends-on): Remove 'signbit'.
5299         * doc/posix-functions/truncf.texi: Mention the new module.
5300
5301 2010-12-21  Bruno Haible  <bruno@clisp.org>
5302
5303         New module 'ceilf-ieee'.
5304         * modules/ceilf-ieee: New file.
5305         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
5306         test whether ceilf works according to ISO C 99 with IEC 60559.
5307         * m4/ceilf-ieee.m4: New file.
5308         * modules/ceilf-ieee-tests: New file.
5309         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
5310         * tests/test-ceilf1.c (main): Remove signbit tests.
5311         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
5312         * doc/posix-functions/ceilf.texi: Mention the new module.
5313
5314 2010-12-21  Bruno Haible  <bruno@clisp.org>
5315
5316         New module 'floorf-ieee'.
5317         * modules/floorf-ieee: New file.
5318         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
5319         test whether floorf works according to ISO C 99 with IEC 60559.
5320         * m4/floorf-ieee.m4: New file.
5321         * modules/floorf-ieee-tests: New file.
5322         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
5323         * tests/test-floorf1.c (main): Remove signbit tests.
5324         * modules/floorf-tests (Depends-on): Remove 'signbit'.
5325         * doc/posix-functions/floorf.texi: Mention the new module.
5326
5327 2010-12-21  Bruno Haible  <bruno@clisp.org>
5328
5329         Support for minus zero in autoconf macros.
5330         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
5331         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
5332         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
5333         * tests/minus-zero.h: Update comments.
5334
5335 2010-12-21  Bruno Haible  <bruno@clisp.org>
5336
5337         Tests for module 'ceil'.
5338         * modules/ceil-tests: New file.
5339         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
5340         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
5341
5342 2010-12-21  Bruno Haible  <bruno@clisp.org>
5343
5344         Tests for module 'floor'.
5345         * modules/floor-tests: New file.
5346         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
5347         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
5348
5349 2010-12-21  Bruno Haible  <bruno@clisp.org>
5350
5351         math: Fix indentation.
5352         * lib/math.in.h (floorf): Fix indentation.
5353
5354 2010-12-21  Bruno Haible  <bruno@clisp.org>
5355
5356         Fix cross-compilation guesses on Solaris.
5357         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
5358         not match "solaris2.10".
5359         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
5360         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
5361         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
5362
5363 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
5364
5365         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
5366         This fixes a problem observed with the latest coreutils snapshot
5367         that caused a test to fail on Solaris 8.  src/csplit.c's call
5368         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
5369         earlier, instead of returning the number of bytes that would have
5370         been generated; this causes csplit to incorrectly report memory
5371         exhaustion.
5372         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
5373         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
5374         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
5375         comments to match.
5376         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
5377         Fix typo in matching older versions of Solaris: "solaris2.10"
5378         is matched by the shell pattern "solaris2.[0-9]*".  This matters
5379         only for guessing while cross-compiling.
5380         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
5381
5382 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
5383
5384         ftoastr: fix comment again
5385         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
5386         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
5387         Also, simplify example a bit by using flags = 0.
5388
5389 2010-12-20  Bruno Haible  <bruno@clisp.org>
5390
5391         round*, trunc*: Update documentation regarding glibc.
5392         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
5393         * doc/posix-functions/round.texi: Likewise.
5394         * doc/posix-functions/roundl.texi: Likewise.
5395         * doc/posix-functions/truncf.texi: Likewise.
5396         * doc/posix-functions/trunc.texi: Likewise.
5397         * doc/posix-functions/truncl.texi: Likewise.
5398
5399 2010-12-20  Bruno Haible  <bruno@clisp.org>
5400
5401         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
5402         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
5403         * doc/posix-functions/round.texi: Likewise.
5404         * doc/posix-functions/roundl.texi: Likewise.
5405
5406 2010-12-20  Bruno Haible  <bruno@clisp.org>
5407
5408         ttyname_r: Add missing declaration on HP-UX 11.
5409         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
5410         HAVE_TTYNAME_R.
5411         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
5412         declared. Set HAVE_TTYNAME_R always.
5413         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5414         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
5415         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
5416         HAVE_TTYNAME_R.
5417         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
5418
5419 2010-12-20  Bruno Haible  <bruno@clisp.org>
5420
5421         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
5422         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
5423         * doc/posix-functions/getlogin_r.texi: Likewise.
5424         * tests/test-getlogin.c: Include <errno.h>.
5425         (main): Avoid test failure on HP-UX 11.11.
5426         * tests/test-getlogin_r.c (main): Likewise.
5427
5428 2010-12-20  Bruno Haible  <bruno@clisp.org>
5429
5430         getlogin_r: Add missing declaration on HP-UX 11.
5431         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
5432         declared also when it exists as a function.
5433         * doc/posix-functions/getlogin_r.texi: Document this workaround.
5434
5435 2010-12-20  Bruno Haible  <bruno@clisp.org>
5436
5437         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
5438         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
5439         through wcrtomb.
5440
5441 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
5442
5443         ftoastr: fix comment
5444         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
5445         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
5446
5447 2010-12-19  Bruno Haible  <bruno@clisp.org>
5448
5449         isnan: Ensure it is a macro.
5450         * lib/math.in.h (isnan): Define as a macro if not already a macro.
5451         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
5452         Solaris.
5453
5454 2010-12-19  Bruno Haible  <bruno@clisp.org>
5455
5456         ldexpl test: Fix link error on OSF/1 5.1.
5457         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
5458
5459 2010-12-19  Bruno Haible  <bruno@clisp.org>
5460
5461         wctype: Make it work in C++ mode on OSF/1 5.1.
5462         * lib/wctype.in.h (iswblank): Declare but not define here.
5463         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
5464         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
5465         * modules/wctype (Files): Add lib/iswblank.c.
5466
5467 2010-12-19  Bruno Haible  <bruno@clisp.org>
5468
5469         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
5470         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
5471         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
5472
5473 2010-12-19  Bruno Haible  <bruno@clisp.org>
5474
5475         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
5476         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
5477         _POSIX_PII_SOCKET.
5478         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
5479         * doc/posix-functions/recvfrom.texi: Likewise.
5480         * doc/posix-functions/send.texi: Likewise.
5481         * doc/posix-functions/sendto.texi: Likewise.
5482
5483 2010-12-19  Bruno Haible  <bruno@clisp.org>
5484
5485         tcgetsid: Add missing declaration on OSF/1 5.1.
5486         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
5487         HAVE_TCGETSID.
5488         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
5489         Don't set HAVE_TCGETSID.
5490         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
5491         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
5492         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
5493         HAVE_TCGETSID.
5494         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
5495
5496 2010-12-19  Bruno Haible  <bruno@clisp.org>
5497
5498         stdio: Fix problem with popen() declaration on OSF/1 5.1.
5499         * lib/stdio.in.h: During the include_next statement, let recursive
5500         includes of this file include only the system header file.
5501
5502 2010-12-19  Bruno Haible  <bruno@clisp.org>
5503
5504         iconv_open: Fix regression from 2010-12-04.
5505         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
5506         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
5507
5508 2010-12-19  Bruno Haible  <bruno@clisp.org>
5509
5510         stdbool test: Avoid a gcc warning.
5511         * tests/test-stdbool.c (main): Fail if e1 is false.
5512         Reported by Jim Meyering.
5513
5514 2010-12-19  Jim Meyering  <meyering@redhat.com>
5515
5516         setenv: restore to working order
5517         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
5518         mistakenly removed.
5519         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
5520         HAVE_SETENV.
5521         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
5522         HAVE_SETENV.
5523
5524 2010-12-19  Bruno Haible  <bruno@clisp.org>
5525
5526         Document some different function declarations on OSF/1 5.1.
5527         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
5528         * doc/posix-functions/inet_ntop.texi: Likewise.
5529         * doc/posix-functions/gethostname.texi: Likewise.
5530         * lib/unistd.in.h (gethostname): Update comment.
5531
5532 2010-12-19  Bruno Haible  <bruno@clisp.org>
5533
5534         doc: Mention vasprintf-posix module.
5535         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
5536         the 'vasprintf-posix' module.
5537         * doc/glibc-functions/vasprintf.texi: Likewise.
5538
5539 2010-12-19  Bruno Haible  <bruno@clisp.org>
5540
5541         unsetenv: Add missing declaration on OSF/1 5.1.
5542         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
5543         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
5544         Don't set HAVE_UNSETENV. In the test program, set _BSD.
5545         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
5546         not HAVE_UNSETENV.
5547         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
5548         HAVE_UNSETENV.
5549         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
5550
5551 2010-12-19  Bruno Haible  <bruno@clisp.org>
5552
5553         setenv: Add missing declaration on OSF/1 5.1.
5554         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
5555         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
5556         declared. Don't set HAVE_SETENV.
5557         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
5558         not HAVE_SETENV.
5559         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
5560         HAVE_SETENV.
5561         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
5562
5563 2010-12-19  Bruno Haible  <bruno@clisp.org>
5564
5565         nl_langinfo tests: Avoid gcc warning.
5566         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
5567
5568 2010-12-19  Bruno Haible  <bruno@clisp.org>
5569
5570         mknod: Avoid error in C++ mode on OSF/1 with GCC.
5571         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
5572         _GL_CXXALIAS_SYS.
5573
5574 2010-12-19  Bruno Haible  <bruno@clisp.org>
5575
5576         stdbool: Relax test.
5577         * tests/test-stdbool.c (e): Don't require that casts from a variable's
5578         address to 'bool' work in static initializer, for compilers other than
5579         GCC.
5580
5581 2010-12-19  Bruno Haible  <bruno@clisp.org>
5582
5583         ftello: Add missing declaration on OSF/1 5.1.
5584         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
5585         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
5586         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
5587         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
5588         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
5589
5590 2010-12-19  Bruno Haible  <bruno@clisp.org>
5591
5592         fseeko: Add missing declaration on OSF/1 5.1.
5593         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
5594         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
5595         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
5596         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
5597         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
5598
5599 2010-12-19  Bruno Haible  <bruno@clisp.org>
5600
5601         fchdir: Add missing declaration on OSF/1 5.1.
5602         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
5603         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
5604         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
5605         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
5606         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
5607
5608 2010-12-19  Bruno Haible  <bruno@clisp.org>
5609
5610         relocatable-prog-wrapper: Separate from relocatable-prog.
5611         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
5612         uninstall-relocwrapper rule here.
5613         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
5614         Reported by Ian Beckwith <ianb@erislabs.net>.
5615
5616 2010-12-19  Bruno Haible  <bruno@clisp.org>
5617
5618         unistr/u8-mbsnlen: Add missing dependency.
5619         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
5620         Reported by Ian Beckwith <ianb@erislabs.net>.
5621
5622 2010-12-19  Bruno Haible  <bruno@clisp.org>
5623
5624         iconv: Make it possible again to use this module without 'iconv-h'.
5625         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
5626         if it is not defined.
5627         Reported by Ian Beckwith <ianb@erislabs.net>.
5628
5629 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
5630
5631         acl: port to Solaris 8 when copying from tmpfs to ufs
5632         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
5633         error number.  Problem observed on Solaris 8 with latest
5634         coreutils, with "mv A B", where A is on a tmpfs file system and B
5635         is on a ufs file system.  This caused coreutils' mv/part-symlink
5636         test to fail.
5637
5638         tests: set fail=0 at start
5639         * tests/init.sh (setup_): Move fail=0 initialization here ...
5640         (mktempd_): ... from here, so that tests can rely on fail being
5641         set to 0 initially.  This fixes a problem in coreutils; see:
5642         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
5643
5644 2010-12-18  Bruno Haible  <bruno@clisp.org>
5645
5646         memmem-simple: Stylistic changes.
5647         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
5648         Fix preprocessor directive indentation.
5649
5650 2010-12-15  Pádraig Brady <P@draigBrady.com>
5651
5652         memmem, memmem-simple: reorganize and expand empty needle check
5653         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
5654         functional checks to memmem-simple so that one has a fully functional
5655         memmem by using just this module.
5656         Restrict the performance only check to the memmem module.
5657         Also expand the empty needle check to ensure the correct
5658         pointer is returned, not just a non NULL pointer.
5659         * doc/glibc-functions/memmem.texi: Rearrange the portability
5660         documentation to correlate with the rearranged checks.
5661         Clarify exactly how the memmem and memmem-simple modules
5662         relate to each other.
5663
5664 2010-12-15  Pádraig Brady <P@draigBrady.com>
5665             Bruno Haible  <bruno@clisp.org>
5666
5667         Improve cross-compilation guesses for uClibc.
5668         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
5669         that uClibc does not have the glibc bug.
5670         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
5671         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
5672
5673 2010-12-14  Eric Blake  <eblake@redhat.com>
5674
5675         configmake: provide fallbacks for oldest supported autotools
5676         * m4/configmake.m4: New file.
5677         * modules/configmake (Files): Ship it.
5678         (configure.ac): Use it to guarantee fallbacks.
5679
5680 2010-12-13  Pádraig Brady <P@draigBrady.com>
5681
5682         read-file: Improve handling of large files
5683         * lib/read-file.c (fread_file): Minimize realloc()s
5684         for regular files, and better manage sizes around SIZE_MAX.
5685
5686 2010-12-13  Eric Blake  <eblake@redhat.com>
5687
5688         cloexec, fcntl: relax license
5689         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
5690         consent from all contributors.
5691         * modules/fcntl (License): Likewise.
5692
5693 2010-12-10  Bruno Haible  <bruno@clisp.org>
5694
5695         Tests for module 'pipe-posix'.
5696         * modules/pipe-posix-tests: New file.
5697         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
5698
5699 2010-12-10  Bruno Haible  <bruno@clisp.org>
5700
5701         pipe-posix: Make it work in C++ mode.
5702         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
5703         (pipe): Use common idiom, not a macro definition.
5704         * lib/pipe.c: New file.
5705         * m4/pipe.m4: New file.
5706         * modules/pipe-posix (Description): Enhance.
5707         (Files): Add lib/pipe.c, m4/pipe.m4.
5708         (configure.ac): Invoke gl_FUNC_PIPE.
5709         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
5710         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
5711         * tests/test-unistd-c++.cc: Check the signature of pipe.
5712
5713 2010-12-10  Bruno Haible  <bruno@clisp.org>
5714
5715         Rename module 'pipe' to 'spawn-pipe'.
5716         * modules/spawn-pipe: New file, renamed from modules/pipe.
5717         (Files, configure.ac, Makefile.am): Update.
5718         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
5719         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
5720         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
5721         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
5722         "spawn-pipe.h" instead of "pipe.h".
5723         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
5724         to gl_SPAWN_PIPE.
5725         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
5726         (Files, Makefile.am): Update.
5727         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
5728         Update.
5729         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
5730         Include "spawn-pipe.h" instead of "pipe.h".
5731         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
5732         * lib/javacomp.c: Likewise.
5733         * lib/javaversion.c: Likewise.
5734         * lib/pipe-filter-gi.c: Likewise.
5735         * lib/pipe-filter-ii.c: Likewise.
5736         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
5737         * modules/javacomp (Depends-on): Likewise.
5738         * modules/javaversion (Depends-on): Likewise.
5739         * modules/pipe-filter-gi (Depends-on): Likewise.
5740         * modules/pipe-filter-ii (Depends-on): Likewise.
5741         * MODULES.html.sh (Executing programs): Update.
5742         * NEWS: Mention the change.
5743
5744 2010-12-10  Eric Blake  <eblake@redhat.com>
5745
5746         pipe-posix: new module
5747         * modules/pipe-posix: New file.
5748         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
5749         (gl_UNISTD_H): Check for declaration.
5750         * modules/unistd (Makefile.am): Substitute it.
5751         * lib/unistd.in.h (pipe): Provide it for mingw.
5752         * doc/posix-functions/pipe.texi (pipe): Update documentation.
5753         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
5754
5755 2010-12-07  Bruno Haible  <bruno@clisp.org>
5756
5757         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
5758         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
5759         u8_strcmp_gnu.
5760         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
5761
5762 2010-12-06  Bruno Haible  <bruno@clisp.org>
5763
5764         Update internal documentation.
5765         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
5766
5767 2010-12-04  Bruno Haible  <bruno@clisp.org>
5768
5769         Put more information about failed tests into the test return codes.
5770         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
5771         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
5772         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5773         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5774         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
5775         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
5776         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
5777         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
5778         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
5779         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5780         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
5781         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5782         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
5783         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5784         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
5785         returns a bit mask.
5786         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
5787         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
5788         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
5789         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
5790         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
5791         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
5792         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
5793         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
5794         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
5795         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
5796         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
5797         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
5798         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
5799         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
5800         * m4/link.m4 (gl_FUNC_LINK): Likewise.
5801         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
5802         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
5803         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
5804         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
5805         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
5806         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
5807         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
5808         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
5809         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
5810         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
5811         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
5812         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
5813         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
5814         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
5815         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
5816         gl_PRINTF_PRECISION): Likewise.
5817         * m4/regex.m4 (gl_REGEX): Likewise.
5818         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
5819         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5820         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
5821         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
5822         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
5823         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
5824         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
5825         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
5826         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
5827         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5828         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
5829         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
5830         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
5831         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5832         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5833         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
5834         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
5835         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
5836         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
5837         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
5838         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
5839         enumerated value.
5840         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
5841
5842 2010-12-04  Bruno Haible  <bruno@clisp.org>
5843
5844         Update for Solaris 11 2010-11.
5845         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
5846         Express, released in November 2010.
5847
5848 2010-12-04  Bruno Haible  <bruno@clisp.org>
5849
5850         nproc: Relax license.
5851         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
5852         and Paul Eggert.
5853         Requested by Ludovic Courtès <ludo@gnu.org>.
5854
5855 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
5856
5857         utimecmp: fine-grained src to nearby coarse-grained dest
5858
5859         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
5860         and the source is on a file system with higher-resolution time
5861         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
5862         not work, and the time stamps are close together, the algorithm to
5863         determine the exact resolution from the read-back mtime was buggy:
5864         it had a "!=" where it should have had an "==".  This bug has been
5865         in the code ever since it was introduced to gnulib.
5866         Problem reported by Dan Jacobson in
5867         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
5868
5869 2010-11-30  Bruno Haible  <bruno@clisp.org>
5870
5871         strerror_r-posix: Fix autoconf test.
5872         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
5873
5874 2010-11-28  Bruno Haible  <bruno@clisp.org>
5875             Paul Eggert  <eggert@cs.ucla.edu>
5876
5877         Tests for module 'getdomainname'.
5878         * modules/getdomainname-tests: New file.
5879         * tests/test-getdomainname.c: New file, based on
5880         tests/test-gethostname.c.
5881
5882 2010-11-28  Bruno Haible  <bruno@clisp.org>
5883             Paul Eggert  <eggert@cs.ucla.edu>
5884
5885         getdomainname: Use the system function when possible.
5886         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
5887         (getdomainname): Replace if needed. Provide the declaration if it is
5888         missing. Don't use _GL_CXXALIAS_SYS_CAST.
5889         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
5890         (getdomainname): When the system has getdomainname, call the system
5891         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
5892         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
5893         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
5894         found in libnsl. Look for the declaration also in <netdb.h>. Replace
5895         the function if its second argument is of type 'int' or if it is found
5896         in libnsl.
5897         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
5898         <sys/systeminfo.h> and sysinfo().
5899         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
5900         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5901         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
5902         HAVE_GETDOMAINNAME.
5903         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
5904         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
5905         * doc/glibc-functions/getdomainname.texi: Document the problems with
5906         the getdomainname declaration.
5907
5908 2010-11-28  Bruno Haible  <bruno@clisp.org>
5909
5910         sys_socket: Ensure ss_family field on AIX.
5911         * lib/sys_socket.in.h (ss_family): New macro definition.
5912         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
5913         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
5914         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
5915         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
5916         * modules/sys_socket (Makefile.am): Substitute
5917         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
5918         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
5919
5920 2010-11-27  Bruno Haible  <bruno@clisp.org>
5921
5922         readline: Improve configure output.
5923         * m4/readline.m4 (gl_FUNC_READLINE): Make the
5924         "checking for readline..." result understandable.
5925
5926 2010-11-27  Bruno Haible  <bruno@clisp.org>
5927
5928         *printf-posix: Detect a bug on Solaris 10/x86.
5929         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
5930         for floating-point output.
5931         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
5932         directive.
5933         * tests/test-snprintf-posix.h (test_function): Likewise.
5934         * tests/test-sprintf-posix.h (test_function): Likewise.
5935         * tests/test-vasprintf-posix.c (test_function): Likewise.
5936         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
5937         * doc/posix-functions/printf.texi: Likewise.
5938         * doc/posix-functions/snprintf.texi: Likewise.
5939         * doc/posix-functions/sprintf.texi: Likewise.
5940         * doc/posix-functions/vfprintf.texi: Likewise.
5941         * doc/posix-functions/vprintf.texi: Likewise.
5942         * doc/posix-functions/vsnprintf.texi: Likewise.
5943         * doc/posix-functions/vsprintf.texi: Likewise.
5944         * doc/glibc-functions/obstack_printf.texi: Likewise.
5945         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
5946
5947 2010-11-27  Bruno Haible  <bruno@clisp.org>
5948
5949         Fix link error when module libunistring-optional is in use.
5950         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
5951         * modules/striconveha-tests (Makefile.am): Likewise.
5952
5953 2010-11-27  Bruno Haible  <bruno@clisp.org>
5954
5955         regex: Mention link dependencies.
5956         * modules/regex (Link): New section.
5957         * modules/rpmatch (Link): Likewise.
5958         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
5959
5960 2010-11-27  Bruno Haible  <bruno@clisp.org>
5961
5962         ftoastr: Fix compilation error on Solaris.
5963         * lib/ftoastr.c: Include <config.h>.
5964
5965 2010-11-27  Bruno Haible  <bruno@clisp.org>
5966
5967         getloadavg: Update documentation.
5968         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
5969
5970 2010-11-27  Bruno Haible  <bruno@clisp.org>
5971
5972         sys_socket: Fix test whether the functions are declared.
5973         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
5974         not <sys/select.h>.
5975
5976 2010-11-27  Bruno Haible  <bruno@clisp.org>
5977
5978         getpass: Make sure to get system declaration on some platforms.
5979         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
5980         gl_USE_SYSTEM_EXTENSIONS.
5981         * modules/getpass (Depends-on): Add extensions.
5982
5983 2010-11-26  Bruno Haible  <bruno@clisp.org>
5984
5985         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
5986         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
5987         'iconv' module is present.
5988         (ICONV_CONST): New macro.
5989         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
5990         ICONV_CONST.
5991         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
5992         set ICONV_CONST.
5993         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
5994         here.
5995         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
5996         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
5997         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
5998         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
5999         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
6000         present.
6001
6002 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
6003
6004         ftoastr: comment fix
6005         * lib/ftoastr.c: "little" -> "little or no" in comment
6006
6007 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
6008
6009         stdint: port to GCC 4.3 + OSX + Octave
6010         On this platform, stdint.h is buggy and defines int64_t to long
6011         long int.  The replacement defined it to long int, causing
6012         problems with C++ style name mangling.  Instead, trust the system
6013         definition if INT64_MAX is defined, and likewise for the unsigned
6014         variant.   Problem reported by Jarno Rajahalme in
6015         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
6016         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
6017         and don't mess with int64_t and INT64_MAX in this case.
6018         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
6019
6020 2010-11-24  Bruno Haible  <bruno@clisp.org>
6021
6022         doc: Corrections regarding MacOS X 10.4 and 10.5.
6023         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
6024         MacOS X.
6025         Reported by Simon Josefsson.
6026
6027 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
6028
6029         Uninstall ".bin" files installed by relocwrapper.
6030         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
6031         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
6032         unless it is already there.
6033
6034 2010-11-21  Bruno Haible  <bruno@clisp.org>
6035
6036         Update for NetBSD 5.0.
6037         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
6038         NetBSD; the test fails on NetBSD 5.0.
6039         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
6040         about NetBSD.
6041
6042 2010-11-21  Bruno Haible  <bruno@clisp.org>
6043
6044         Update for HP-UX 11.23 and HP-UX 11.31.
6045         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
6046         HP-UX.
6047
6048 2010-11-21  Bruno Haible  <bruno@clisp.org>
6049
6050         Update for MacOS X 10.5.
6051         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
6052         MacOS X; the test fails on MacOS X 10.5.8.
6053         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
6054         about MacOS X.
6055
6056 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
6057
6058         bootstrap: add bootstrap_sync option.
6059         See discussion at
6060         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
6061         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
6062         * build-aux/bootstrap: Accept --bootstrap-sync to update
6063         bootstrap if it is not identical to the local gnulib's
6064         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
6065         enable this by default.  Accept --no-bootstrap-sync to disable
6066         it.
6067
6068 2010-11-20  Bruno Haible  <bruno@clisp.org>
6069
6070         Ensure that <features.h> is included before __GLIBC__ is tested.
6071         * lib/printf-parse.h: Include <features.h>.
6072         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
6073         Reported by Mike Frysinger <vapier@gentoo.org>.
6074
6075         Ensure that <features.h> is included before __GLIBC__ is tested.
6076         * lib/wchar.in.h: Include <features.h>.
6077         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
6078         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
6079         Reported by Mike Frysinger <vapier@gentoo.org>.
6080
6081         Ensure that <features.h> is included before __GLIBC__ is tested.
6082         * lib/arpa_inet.in.h: Include <features.h>.
6083         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
6084         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
6085         Reported by Mike Frysinger <vapier@gentoo.org>.
6086
6087         Ensure that <features.h> is included before __GLIBC__ is tested.
6088         * build-aux/link-warning.h: Include <features.h>.
6089         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
6090         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
6091         Reported by Mike Frysinger <vapier@gentoo.org>.
6092
6093         Ensure that <features.h> is included before __GLIBC__ is tested.
6094         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
6095         Reported by Mike Frysinger <vapier@gentoo.org>.
6096
6097 2010-11-20  Bruno Haible  <bruno@clisp.org>
6098
6099         memmem: Fix autoconf test.
6100         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
6101
6102 2010-11-20  Bruno Haible  <bruno@clisp.org>
6103
6104         Port to uClibc.
6105         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
6106         * lib/fcntl.in.h: Likewise.
6107         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
6108         * lib/mbrtowc.c (mbrtowc): Likewise.
6109         * lib/relocatable.c (find_shared_library_fullname): Likewise.
6110         * lib/strerror_r.c: Likewise.
6111         * lib/unistr/u8-strnlen.c: Likewise.
6112         * lib/vasnprintf.c (decimal_point_char): Likewise.
6113         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
6114         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
6115         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
6116         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
6117         * tests/test-sigaction.c (handler, main): Likewise.
6118         * lib/freading.h: Treat uClibc like a non-glibc platform.
6119         * lib/freading.c: Likewise.
6120         * lib/gettext.h: Likewise.
6121         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
6122         Likewise.
6123         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
6124         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
6125         * lib/propername.c (proper_name_utf8): Likewise.
6126         * lib/spawn.in.h: Likewise.
6127         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
6128         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
6129         mem_cd_iconveh_internal): Likewise.
6130         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
6131         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
6132         strstr, strcasestr): Likewise.
6133         * lib/unicodeio.c (unicode_to_mb): Likewise.
6134         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
6135         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
6136         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
6137         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
6138         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
6139         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
6140         * lib/unistr/u8-stpncpy.c: Likewise.
6141         * lib/vasnprintf.c (VASNPRINTF): Likewise.
6142         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
6143         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
6144         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
6145         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
6146         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
6147         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
6148         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
6149         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
6150         Likewise.
6151         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
6152         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6153         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
6154         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6155         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
6156         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6157         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6158         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
6159         * tests/test-getopt.h (OPTIND_MIN): Likewise.
6160         * tests/test-striconveha.c (main): Likewise.
6161         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6162         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
6163         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
6164         * doc/posix-functions/getline.texi: Likewise.
6165         Reported by Mike Frysinger <vapier@gentoo.org>.
6166
6167 2010-11-20  Bruno Haible  <bruno@clisp.org>
6168
6169         nproc: Fix condition.
6170         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
6171         HAVE_PTHREAD_AFFINITY_NP.
6172
6173 2010-11-20  Bruno Haible  <bruno@clisp.org>
6174
6175         Fix a comment.
6176         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
6177
6178 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6179
6180         ftoastr: don't assume snprintf
6181         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
6182         Implement a subset of snprintf here, by using sprintf safely.
6183         * modules/ftoastr (Depends-on): Remove snprintf.
6184
6185 2010-11-19  Jim Meyering  <meyering@redhat.com>
6186
6187         test-rename.h: fix compilation failure
6188         * tests/test-rename.h (test_rename): Add omitted "}".
6189
6190 2010-11-17  Jim Meyering  <meyering@redhat.com>
6191
6192         maint.mk: add a URL discussing the no-@acronym policy
6193         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
6194
6195 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
6196
6197         ftoastr: depend on snprintf, improve comments
6198         * lib/ftoastr.c: Also mention Loitsch's draft.
6199         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
6200         needed in the current implementation, but it might simplify
6201         speeding up the code later.
6202         * modules/ftoastr: Depend on snprintf; this improves portability.
6203         Suggested by Bruno Haible in the same email.
6204
6205         ftoastr: port to hosts lacking strtof and strtold
6206         Problem reported by Bruno Haible in
6207         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
6208         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
6209         environment and strtold (and presumably strtof) are not available.
6210         * modules/ftoastr (Files): Add m4/c-strtod.m4.
6211         (configure.ac): Require gl_C99_STRTOLD.
6212
6213 2010-11-18  Bruno Haible  <bruno@clisp.org>
6214
6215         c-strtold: Avoid link error on AIX 7.
6216         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
6217         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
6218         (gl_C_STRTOLD): Test whether strtold_l exists.
6219         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
6220
6221 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
6222
6223         intprops: new macro INT_BITS_STRLEN_BOUND
6224         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
6225         ftoastr.h.  This exposes an internal of intprops.h that was formerly
6226         not exposed.  Also, it uses a slightly tighter bound than before;
6227         though this makes no practical difference, we might as well be as
6228         tight as we easily can.
6229
6230         ftoastr: new module, for lossless conversion of floats to short strings
6231         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
6232         * modules/ftoastr: New files.
6233
6234 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
6235
6236         bootstrap: port to Solaris sed
6237         * build-aux/bootstrap (get_version): Port to Solaris sed.
6238         See Ralf Wildenhues's note in
6239         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
6240
6241 2010-11-14  Jim Meyering  <meyering@redhat.com>
6242
6243         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
6244         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
6245         and move definition closer to sole use.
6246
6247 2010-11-13  Jim Meyering  <meyering@redhat.com>
6248
6249         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
6250         Now we require at least autoconf-2.59, which means the work-around
6251         is no longer needed.
6252         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
6253         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6254         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
6255         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
6256         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
6257
6258 2010-11-13  Bruno Haible  <bruno@clisp.org>
6259
6260         rename, renameat: Avoid test failures at NFS mounted locations.
6261         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
6262         functions.
6263         (test_rename): Use assert_nonexistent.
6264         * tests/test-rename.c: Include <dirent.h>.
6265         * tests/test-renameat.c: Likewise.
6266         Reported by Gary V. Vaughan <gary@gnu.org>.
6267
6268         rename, renameat: Document Linux bug with NFS
6269         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
6270         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
6271         * doc/posix-functions/renameat.texi: Likewise.
6272         Suggested by Eric Blake.
6273
6274 2010-11-13  Bruno Haible  <bruno@clisp.org>
6275
6276         rename test: Add comments.
6277         * tests/test-rename.h (test_rename): Add structure and comments.
6278
6279 2010-11-13  Eric Blake  <eblake@redhat.com>
6280
6281         maintainer-makefile: cover a few more files
6282         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
6283         scripts generated within C files, for libvirt.
6284
6285 2010-11-13  Bruno Haible  <bruno@clisp.org>
6286
6287         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
6288         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
6289         character, return the number of bytes that belong together, not always
6290         1.
6291         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
6292         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
6293         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
6294         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
6295         number of bytes of an invalid character.
6296         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
6297         (main): Invoke it.
6298         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
6299         results.
6300         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
6301         malformed byte sequences.
6302         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
6303         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
6304         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
6305         Reported by Ben Pfaff and Paolo Bonzini.
6306
6307 2010-11-13  Bruno Haible  <bruno@clisp.org>
6308
6309         openat: Work around glibc bug with fchownat() and empty file names.
6310         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
6311         (gl_FUNC_FCHOWNAT): Invoke it.
6312         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
6313         * doc/posix-functions/fchownat.texi: Document the glibc bug.
6314         Reported by Gary V. Vaughan <gary@gnu.org>.
6315
6316 2010-11-13  Bruno Haible  <bruno@clisp.org>
6317
6318         openat: Ensure autoconf macro ordering.
6319         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
6320         gl_USE_SYSTEM_EXTENSIONS.
6321         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
6322
6323 2010-11-13  Bruno Haible  <bruno@clisp.org>
6324
6325         Update comments.
6326         * lib/unistr/u8-check.c: Update file name in comments.
6327         * lib/unistr/u8-mblen.c: Likewise.
6328         * lib/unistr/u8-prev.c: Likewise.
6329         * lib/unistr/u8-strmblen.c: Likewise.
6330         * lib/unistr/u8-strmbtouc.c: Likewise.
6331
6332 2010-11-13  Jim Meyering  <meyering@redhat.com>
6333
6334         tests: avoid test failure on Solaris 10 due to lack of PATH export
6335         * tests/test-update-copyright.sh: Don't forget to export PATH.
6336
6337         init.sh: ensure that IFS is defined, just in case...
6338         * tests/init.sh (setup_): Ensure that IFS is defined,
6339         so that saving and restoring it works as expected.  This
6340         appears to be useful at least for an old version of dash
6341         from a long time ago (RH 6).  See here for details:
6342         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
6343
6344         maint.mk: tighten "test a == b" check
6345         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
6346         test to files that contain something like #!/bin/sh.
6347         Without this, coreutils would get two false positives in
6348         the comments of C source files.
6349
6350 2010-11-12  Eric Blake  <eblake@redhat.com>
6351
6352         bootstrap: fix typo in previous attempt
6353         * build-aux/bootstrap (buildreq): Correct the grouping.
6354         Reported by Paul Eggert.
6355
6356         maintainer-makefile: prohibit test x == x
6357         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
6358         Based on a report by Matthias Bolte.
6359
6360         bootstrap: allow FreeBSD gzip
6361         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
6362         which has no '.' and goes to stderr.
6363         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
6364         Reported by Matthias Bolte.
6365
6366         maintainer-makefile: check for i18n setup
6367         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
6368         will likely work.
6369
6370 2010-11-12  Bruno Haible  <bruno@clisp.org>
6371
6372         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
6373         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
6374         * lib/nanosleep.c (nanosleep): Likewise.
6375
6376 2010-11-11  Bruno Haible  <bruno@clisp.org>
6377
6378         fcntl-h: Fix for use of C++ on glibc systems.
6379         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
6380         also on glibc systems in C++ mode.
6381         Reported by Gary V. Vaughan <gary@gnu.org>.
6382
6383 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
6384
6385         mknod: avoid false failure with dash
6386         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
6387
6388 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
6389
6390         unlink: Fix "is it should" typo in diagnostic.
6391         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
6392         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
6393
6394 2010-11-11  Bruno Haible  <bruno@clisp.org>
6395
6396         Tests for module 'strerror_r-posix'.
6397         * modules/strerror_r-posix-tests: New file.
6398         * tests/test-strerror_r.c: New file.
6399         * tests/test-string-c++.cc: Check the signature of strerror_r.
6400
6401         New module 'strerror_r-posix'.
6402         * lib/string.in.h (strerror_r): New declaration.
6403         * lib/strerror_r.c: New file.
6404         * m4/strerror_r.m4: New file.
6405         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
6406         of strerror_r.
6407         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
6408         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
6409         * modules/strerror_r-posix: New file.
6410         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
6411         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
6412         * doc/posix-functions/strerror_r.texi: Mention the new module and the
6413         portability problems.
6414
6415 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
6416
6417         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
6418         line is also considered for output. Quoted function name in shell
6419         command, so temporary files for functions like MyClass::operator()
6420         are removed correctly without errors.
6421
6422 2010-11-09  Bruno Haible  <bruno@clisp.org>
6423
6424         * doc/posix-functions/strerror.texi: List more failing platforms.
6425
6426         * doc/posix-functions/strerror.texi: Add a comment.
6427
6428 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
6429
6430         fdopendir: fix bug on MacOS X when low on file descriptors
6431
6432         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
6433         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
6434         All callers changed.
6435         (fdopendir): Invoke save_cwd at the top level, not after using
6436         multiple dup() calls to use up file descriptors.  Then retry
6437         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
6438         less than the maximum number of open file descriptors, because
6439         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
6440         on Mac OS X 10.6.4 for tar 1.24
6441         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
6442         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
6443         and for tar 1.25
6444         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
6445
6446 2010-11-07  Bruno Haible  <bruno@clisp.org>
6447
6448         vasnprintf: Support I flag on glibc systems.
6449         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
6450         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
6451         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
6452         snprintf function.
6453         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
6454         glibc systems.
6455         * tests/test-vasnprintf-posix3.c: New file.
6456         * modules/vasnprintf-posix-tests (Files): Add it.
6457         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
6458
6459 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
6460
6461         [html] Fix copy/paste bug: Use unique name for compiler warnings.
6462         * MODULES.html.sh: For compiler warnings, use name
6463         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
6464
6465 2010-11-05  Eric Blake  <eblake@redhat.com>
6466
6467         ceil, floor: avoid spurious failure with icc
6468         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
6469         [denormals-as-zero] when optimizing without -mieee-fp option.
6470         * tests/test-floorf2.c (floorf_reference): Likewise.
6471         * tests/test-ceilf1.c (dummy): New function.
6472         (main): Use it to outsmart icc's optimization.
6473         * tests/test-floorf1.c (dummy, main): Likewise.
6474
6475         tests: require working signbit
6476         * modules/ceilf-tests (Depends-on): Add signbit.
6477         * modules/ceill-tests (Depends-on): Likewise.
6478         * modules/floorf-tests (Depends-on): Likewise.
6479         * modules/floorl-tests (Depends-on): Likewise.
6480         * modules/round-tests (Depends-on): Likewise.
6481         * modules/roundf-tests (Depends-on): Likewise.
6482         * modules/roundl-tests (Depends-on): Likewise.
6483         * modules/trunc-tests (Depends-on): Likewise.
6484         * modules/truncf-tests (Depends-on): Likewise.
6485         * modules/truncl-tests (Depends-on): Likewise.
6486
6487         strtod: work around icc bug
6488         * lib/strtod.c (minus_zero): Define to working value.
6489         (strtod): Use it to avoid icc bug.
6490
6491         copysign: enhance tests
6492         * modules/copysign-tests (Files): Add minus-zero.h.
6493         * tests/test-copysign.c (main): Also test zeros.
6494
6495 2010-11-04  Eric Blake  <eblake@redhat.com>
6496
6497         ceil, floor, round, trunc: enhance tests of -0
6498         * tests/test-ceilf1.c (main): Ensure correct sign of result.
6499         * tests/test-ceill.c (main): Likewise.
6500         * tests/test-floorf1.c (main): Likewise.
6501         * tests/test-floorl.c (main): Likewise.
6502         * tests/test-round1.c (main): Likewise.
6503         * tests/test-roundf1.c (main): Likewise.
6504         * tests/test-roundl.c (main): Likewise.
6505         * tests/test-trunc1.c (main): Likewise.
6506         * tests/test-truncf1.c (main): Likewise.
6507         * tests/test-truncl.c (main): Likewise.
6508
6509 2010-11-04  Eric Blake  <eblake@redhat.com>
6510
6511         frexp, tests: work around ICC bug with -zero
6512         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
6513         works with more compilers.
6514         * tests/minus-zero.h: New file.
6515         * modules/ceilf-tests (Files): Include it.
6516         * modules/ceill-tests (Files): Likewise.
6517         * modules/floorf-tests (Files): Likewise.
6518         * modules/floorl-tests (Files): Likewise.
6519         * modules/frexp-nolibm-tests (Files): Likewise.
6520         * modules/frexp-tests (Files): Likewise.
6521         * modules/frexpl-nolibm-tests (Files): Likewise.
6522         * modules/frexpl-tests (Files): Likewise.
6523         * modules/isnan-tests (Files): Likewise.
6524         * modules/isnand-nolibm-tests (Files): Likewise.
6525         * modules/isnand-tests (Files): Likewise.
6526         * modules/isnanf-nolibm-tests (Files): Likewise.
6527         * modules/isnanf-tests (Files): Likewise.
6528         * modules/isnanl-nolibm-tests (Files): Likewise.
6529         * modules/isnanl-tests (Files): Likewise.
6530         * modules/round-tests (Files): Likewise.
6531         * modules/roundf-tests (Files): Likewise.
6532         * modules/roundl-tests (Files): Likewise.
6533         * modules/ldexpl-tests (Files): Likewise.
6534         * modules/signbit-tests (Files): Likewise.
6535         * modules/snprintf-posix-tests (Files): Likewise.
6536         * modules/sprintf-posix-tests (Files): Likewise.
6537         * modules/strtod-tests (Files): Likewise.
6538         * modules/trunc-tests (Files): Likewise.
6539         * modules/truncf-tests (Files): Likewise.
6540         * modules/truncl-tests (Files): Likewise.
6541         * modules/vsnprintf-posix-tests (Files): Likewise.
6542         * modules/vsprintf-posix-tests (Files): Likewise.
6543         * modules/vasnprintf-posix-tests (Files): Likewise.
6544         * modules/vasprintf-posix-tests (Files): Likewise.
6545         * tests/test-ceilf1.c (main): Use it.
6546         * tests/test-ceill.c (main): Likewise.
6547         * tests/test-floorf1.c (main): Likewise.
6548         * tests/test-floorl.c (main): Likewise.
6549         * tests/test-frexp.c (main): Likewise.
6550         * tests/test-frexpl.c (main): Likewise.
6551         * tests/test-isnan.c (main): Likewise.
6552         * tests/test-isnand.h (main): Likewise.
6553         * tests/test-isnanf.h (main): Likewise.
6554         * tests/test-isnanl.h (main): Likewise.
6555         * tests/test-ldexpl.c (main): Likewise.
6556         * tests/test-round.c (main): Likewise.
6557         * tests/test-roundf.c (main): Likewise.
6558         * tests/test-roundl.c (main): Likewise.
6559         * tests/test-signbit.c (test_signbitf, test_signbitd)
6560         (test_signbitl): Likewise.
6561         * tests/test-snprintf-posix.h (test_function): Likewise.
6562         * tests/test-sprintf-posix.h (test_function): Likewise.
6563         * tests/test-strtod.c (main): Likewise.
6564         * tests/test-trunc1.c (main): Likewise.
6565         * tests/test-truncf1.c (main): Likewise.
6566         * tests/test-truncl.c (main): Likewise.
6567
6568         isnanl: work around icc bug
6569         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
6570
6571 2010-11-03  Eric Blake  <eblake@redhat.com>
6572
6573         tests: fix compiler warnings
6574         * tests/test-getopt.h (test_getopt): Fix condition.
6575         * tests/test-getopt_long.h (test_getopt_long): Likewise.
6576         * tests/test-pipe2.c (main): Likewise.
6577         * tests/test-quotearg-simple.c (main): Avoid icc warning.
6578
6579         utimens: fix broken m4 test
6580         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
6581
6582 2010-10-28  Bruno Haible  <bruno@clisp.org>
6583
6584         posix_spawn*, getdtablesize: Relax license.
6585         * modules/posix_spawn (License): Change to LGPLv2+.
6586         * modules/posix_spawnp (License): Likewise.
6587         * modules/posix_spawn-internal (License): Likewise.
6588         * modules/posix_spawnattr_init (License): Likewise.
6589         * modules/posix_spawnattr_getflags (License): Likewise.
6590         * modules/posix_spawnattr_setflags (License): Likewise.
6591         * modules/posix_spawnattr_getpgroup (License): Likewise.
6592         * modules/posix_spawnattr_setpgroup (License): Likewise.
6593         * modules/posix_spawnattr_getschedparam (License): Likewise.
6594         * modules/posix_spawnattr_setschedparam (License): Likewise.
6595         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
6596         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
6597         * modules/posix_spawnattr_getsigdefault (License): Likewise.
6598         * modules/posix_spawnattr_setsigdefault (License): Likewise.
6599         * modules/posix_spawnattr_getsigmask (License): Likewise.
6600         * modules/posix_spawnattr_setsigmask (License): Likewise.
6601         * modules/posix_spawnattr_destroy (License): Likewise.
6602         * modules/posix_spawn_file_actions_init (License): Likewise.
6603         * modules/posix_spawn_file_actions_addclose (License): Likewise.
6604         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
6605         * modules/posix_spawn_file_actions_addopen (License): Likewise.
6606         * modules/posix_spawn_file_actions_destroy (License): Likewise.
6607         * modules/getdtablesize (License): Likewise.
6608         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
6609
6610 2010-10-26  Bruno Haible  <bruno@clisp.org>
6611
6612         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
6613         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
6614         Cygwin and mingw.
6615         Suggested by Eric Blake.
6616
6617 2010-10-26  Bruno Haible  <bruno@clisp.org>
6618
6619         stdio: Work around compilation error due to renameat() on Solaris 10.
6620         * lib/stdio.in.h: Include <unistd.h> on Solaris.
6621         * lib/renameat.c: Don't include <unistd.h> here.
6622         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
6623         Reported by Paul Eggert and Eric Blake.
6624
6625 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
6626
6627         renameat: port to Solaris 10, which declares renameat in unistd.h
6628
6629         * lib/renameat.c: Include unistd.h before stdio.h, because
6630         Solaris 10 declares renameat in unistd.h.  Problem encountered
6631         when building GNU tar 1.24 on Solaris 10.
6632
6633 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
6634
6635         fdopendir: fix C89 compilation
6636         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
6637         compilers.
6638
6639 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
6640
6641         inttostr: simplify by removing unnecessary redundancy
6642         * lib/anytostr.c: Don't include verify.h.
6643         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
6644         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
6645         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
6646         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
6647         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
6648         Likewise.
6649         * modules/inttostr (Depends-on): Remove 'verify'.
6650
6651 2010-10-23  Bruno Haible  <bruno@clisp.org>
6652
6653         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
6654         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
6655         Reported by Eric Blake.
6656
6657 2010-10-23  Bruno Haible  <bruno@clisp.org>
6658
6659         Tests: Fix LOCALE_JA on MirBSD 10.
6660         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
6661         to an UTF-8 locale.
6662         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
6663         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
6664         Reported by Eric Blake.
6665
6666 2010-10-21  Bruno Haible  <bruno@clisp.org>
6667
6668         nl_langinfo test: Avoid test failure on NetBSD 5.
6669         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
6670         Reported by Eric Blake.
6671
6672 2010-10-21  Eric Blake  <eblake@redhat.com>
6673
6674         c-stack: work around libsigsegv 2.8 bug
6675         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
6676         overflow on at least PowerPC64.
6677
6678 2010-10-17  Bruno Haible  <bruno@clisp.org>
6679
6680         userspec: Drop redundant file.
6681         * modules/userspec (Files): Remove lib/inttostr.h.
6682
6683 2010-10-17  Bruno Haible  <bruno@clisp.org>
6684
6685         nl_langinfo tests: Silence some warnings.
6686         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
6687         Reported by Jim Meyering.
6688
6689 2010-10-17  Bruno Haible  <bruno@clisp.org>
6690
6691         Make use of GCC's attribute __alloc_size__.
6692         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
6693         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
6694         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
6695         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
6696         __alloc_size__.
6697         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
6698         Suggested by Jim Meyering.
6699
6700 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
6701
6702         bootstrap: anchor .gitignore entries.
6703         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
6704         with...
6705         (insert_vc_ignore): ... this new function, which prepends `/' to
6706         all .gitignore entries before passing them to
6707         insert_sorted_if_absent.
6708
6709 2010-10-16  Bruno Haible  <bruno@clisp.org>
6710
6711         nextafter: Fix configure check.
6712         * modules/nextafter (configure.ac): Correct expected prototype.
6713
6714 2010-10-16  Bruno Haible  <bruno@clisp.org>
6715
6716         termios: Update documentation.
6717         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
6718
6719 2010-10-16  Bruno Haible  <bruno@clisp.org>
6720
6721         tests: Make them compile with TinyCC.
6722         * tests/test-strstr.c (main): Remove parentheses around array
6723         initializer.
6724
6725 2010-10-15  Eric Blake  <eblake@redhat.com>
6726
6727         ignore-value: make header idempotent
6728         * lib/ignore-value.h: Add double-inclusion guards.
6729         Reported by Stefan Berger.
6730
6731 2010-10-15  Jim Meyering  <meyering@redhat.com>
6732
6733         GNUmakefile: handle "stable" target, not "major"
6734         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
6735         lists in maint.mk and announce-gen.  Without this, "make stable"
6736         would fail to ensure that $(VERSION) is up to date.
6737
6738 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
6739
6740         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
6741         & co.
6742
6743 2010-10-14  Bruno Haible  <bruno@clisp.org>
6744
6745         vasnprintf: Don't set errno to 0.
6746         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
6747         block that sets it to 0.
6748         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
6749
6750 2010-10-14  Bruno Haible  <bruno@clisp.org>
6751
6752         socketlib: Fix.
6753         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
6754         gl_PREREQ_SYS_H_WINSOCK2.
6755         Reported by Ian Beckwith <ianb@erislabs.net>.
6756
6757 2010-10-13  Jim Meyering  <meyering@redhat.com>
6758
6759         test-select-stdin.c: avoid warn_unused_result warnings
6760         * tests/test-select-stdin.c: Include "macros.h".
6761         ASSERT that read and fflush succeed.
6762
6763 2010-10-13  Jim Meyering  <meyering@redhat.com>
6764
6765         git-version-gen: do require git-VC'd files in cwd
6766         * build-aux/git-version-gen: Reject a git version string
6767         if there are no commits associated with the current directory.
6768         This avoids an unlikely false-positive (unrelated dir whose parent
6769         repository also contains a tag matching v*), as pointed out
6770         by Giuseppe Scrivano in
6771         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
6772
6773 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
6774
6775         argv-iter: omit nonconforming declaration
6776         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
6777         enum arg_iter_err declaration, which doesn't conform to C99.
6778         Solaris 10 cc warns about this.
6779
6780 2010-10-13  Eric Blake  <eblake@redhat.com>
6781
6782         termios: fix compilation on mingw
6783         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
6784         (gl_TERMIOS_H): Adjust it on mingw.
6785         * modules/termios (Makefile.am): Substitute new key.
6786         * lib/termios.in.h (includes): Make include_next conditional.
6787         * doc/posix-headers/termios.texi (termios.h): Update
6788         documentation.
6789         Reported by Daniel P. Berrange.
6790
6791 2010-10-13  Jim Meyering  <meyering@redhat.com>
6792
6793         git-version-gen: don't require that .git/ be in the current dir
6794         * build-aux/git-version-gen: Adjust this script so that it works
6795         when run from any working directory beneath the top-level .git/-
6796         containing directory.  Inspired by a patch from Giuseppe Scrivano,
6797         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
6798
6799         test-select: avoid warn_unused_result warnings
6800         * tests/test-select.c: Include "macros.h".
6801         ASSERT that each call to read, write, and pipe succeeds.
6802         While not technically required, also check each "close".
6803         * modules/select-tests (Files): Add tests/macros.h.
6804
6805         test-symlinkat: remove declaration of unused local
6806         * tests/test-symlinkat.c (main): Remove unused local, "buf".
6807
6808         test-inttostr: avoid shadowing warnings
6809         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
6810         and use malloc rather than the stack for the same reason as
6811         mentioned in the comment justifying the other allocation.
6812
6813 2010-10-11  Bruno Haible  <bruno@clisp.org>
6814
6815         stdlib: Allow multiple gnulib generated replacements to coexist.
6816         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
6817         Reported by Sam Steingold <sds@gnu.org>.
6818
6819 2010-10-11  Jim Meyering  <meyering@redhat.com>
6820
6821         fix a documentation typo
6822         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
6823
6824 2010-10-11  Eric Blake  <eblake@redhat.com>
6825
6826         futimens: work around Solaris 11 bug
6827         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
6828         * tests/test-futimens.h (test_futimens): Enhance, rather than
6829         weaken test.
6830         * doc/posix-functions/futimens.texi (futimens): Document the bug.
6831
6832 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
6833
6834         Indentation.
6835         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
6836         higher-level operators more to the left.
6837
6838 2010-10-11  Jim Meyering  <meyering@redhat.com>
6839
6840         test-futimens: avoid unwarranted test failure on Solaris 5.11
6841         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
6842         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
6843         because it tries to dereference the NULL name argument.
6844
6845 2010-10-11  Bruno Haible  <bruno@clisp.org>
6846
6847         Indentation.
6848         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
6849         indentation.
6850
6851 2010-10-11  Jim Meyering  <meyering@redhat.com>
6852
6853         spawn.in.h: make indentation consistent with parentheses
6854         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
6855         Make indentation consistent with parentheses.
6856
6857 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
6858
6859         Fix mismatched parens in previous commit
6860         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
6861         parens.
6862
6863 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
6864
6865         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
6866
6867         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
6868         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
6869         * lib/malloca.c: Include "verify.h".
6870         (verify1): Remove, replacing with a verify call.
6871         * lib/relocwrapper.c (verify1): Likewise.
6872         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
6873         Likewise.
6874         * modules/malloca (Depends-on): Add 'verify'.
6875         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
6876         * modules/vasnprintf (Depends-on): Add 'verify'.
6877         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
6878         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
6879         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
6880         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
6881         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
6882         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
6883         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
6884
6885         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
6886
6887         Formerly the style was sometimes 2*X - 1, because the C standard
6888         was wrongly thought to disallow ?: in integral constant expressions.
6889         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
6890         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
6891         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
6892         * lib/stdint.in.h (_verify_intmax_size): Likewise.
6893         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
6894         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
6895         verify that time_t cannot be floating.
6896
6897 2010-10-08  Eric Blake  <eblake@redhat.com>
6898
6899         time: enforce recent POSIX ruling that time_t is integral
6900         * lib/time.in.h (__time_t_must_be_integral): Detect any
6901         problematic systems, allowing the rest of gnulib to assume POSIX.
6902
6903 2010-10-08  Jim Meyering  <meyering@redhat.com>
6904
6905         fdopendir: fix a bug on systems lacking openat and /proc support
6906         OpenBSD 4.7 is one such system.  The most noticeable effect was
6907         failure of any application making nontrivial use of fts: rm, du,
6908         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
6909           ./rm: traversal failed: `a': Bad file descriptor
6910         Debugging that, you see that even though FD 6 was closed just
6911         prior to the opendir call in fd_clone_opendir, its resulting
6912         dir->dd_fd was 8, rather than the expected value of 6:
6913
6914         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
6915         93                close (fd);
6916         (gdb) n
6917         94                dir = fd_clone_opendir (dupfd);
6918         (gdb) n
6919         95                saved_errno = errno;
6920         (gdb) p dir->dd_fd
6921         $11 = 8
6922
6923         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
6924         The problem is that on OpenBSD, fd_clone_opendir has to resort
6925         to using the old-style save/restore CWD mechanism, due to its
6926         lack of openat/proc support, and *that* would steal the FD (6)
6927         that opendir was supposed to use.
6928
6929         The fix is to squirrel away the desired FD so that save_cwd uses a
6930         different one, and then free the dest FD right before calling opendir.
6931         That guarantees opendir will use the required file descriptor.
6932
6933         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
6934
6935 2010-10-08  Bruno Haible  <bruno@clisp.org>
6936
6937         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
6938         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
6939
6940 2010-10-08  Bruno Haible  <bruno@clisp.org>
6941
6942         nanosleep: Make replacement POSIX compliant.
6943         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
6944         is out of range.
6945         Reported by Jim Meyering.
6946
6947 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
6948
6949         bootstrap: add hook for altering gnulib.mk, for Bison
6950         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
6951         the Bison bootstrapping process can rewrite file names and variables
6952         in this file before later parts of 'bootstrap' use the file.
6953         Bison wants to include lib/gnulib.mk from the top-level makefile,
6954         so it needs the file names in this file to be relative to the top
6955         level, not relative to lib; plus it needs variable names to be
6956         rewritten.
6957         (slurp): Use the new function.
6958
6959         bootstrap: reformat for readability
6960         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
6961
6962 2010-10-08  Eric Blake  <eblake@redhat.com>
6963
6964         docs: update cygwin progress
6965         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
6966         1.7.7.
6967         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
6968         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
6969         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
6970         * doc/posix-functions/carg.texi (carg): Likewise.
6971         * doc/posix-functions/cargf.texi (cargf): Likewise.
6972         * doc/posix-functions/casin.texi (casin): Likewise.
6973         * doc/posix-functions/casinf.texi (casinf): Likewise.
6974         * doc/posix-functions/casinh.texi (casinh): Likewise.
6975         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
6976         * doc/posix-functions/catan.texi (catan): Likewise.
6977         * doc/posix-functions/catanf.texi (catanf): Likewise.
6978         * doc/posix-functions/catanh.texi (catanh): Likewise.
6979         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
6980         * doc/posix-functions/ccos.texi (ccos): Likewise.
6981         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
6982         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
6983         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
6984         * doc/posix-functions/cexp.texi (cexp): Likewise.
6985         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
6986         * doc/posix-functions/cimag.texi (cimag): Likewise.
6987         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
6988         * doc/posix-functions/clog.texi (clog): Likewise.
6989         * doc/posix-functions/clogf.texi (clogf): Likewise.
6990         * doc/posix-functions/conj.texi (conj): Likewise.
6991         * doc/posix-functions/conjf.texi (conjf): Likewise.
6992         * doc/posix-functions/cpow.texi (cpow): Likewise.
6993         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
6994         * doc/posix-functions/cproj.texi (cproj): Likewise.
6995         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
6996         * doc/posix-functions/creal.texi (creal): Likewise.
6997         * doc/posix-functions/crealf.texi (crealf): Likewise.
6998         * doc/posix-functions/csin.texi (csin): Likewise.
6999         * doc/posix-functions/csinf.texi (csinf): Likewise.
7000         * doc/posix-functions/csinh.texi (csinh): Likewise.
7001         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
7002         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
7003         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
7004         * doc/posix-functions/ctan.texi (ctan): Likewise.
7005         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
7006         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
7007         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
7008         * doc/posix-headers/complex.texi (complex.h): Likewise.
7009
7010 2010-10-07  Jim Meyering  <meyering@redhat.com>
7011
7012         parse-datetime: avoid compilation failure on OpenBSD 4.7
7013         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
7014         This works around a compilation failure on OpenBSD 4.7:
7015         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
7016
7017 2010-10-07  Eric Blake  <eblake@redhat.com>
7018
7019         docs: update cygwin progress
7020         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
7021         1.7.6.
7022         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
7023         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
7024         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
7025         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
7026         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
7027         Likewise.
7028         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
7029         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
7030         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
7031         Likewise.
7032         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
7033         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
7034         Likewise.
7035         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
7036         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
7037         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
7038         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
7039         Likewise.
7040         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
7041         Likewise.
7042         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
7043
7044         docs: update parse-datetime history
7045         * doc/parse-datetime.texi (Authors of parse_datetime): Better
7046         documentation of this function's history and alternatives.
7047
7048         cygwin: use more robust version check
7049         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
7050         exclude an eventual cygwin 1.9.1.
7051         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
7052         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
7053         (gl_FUNC_STRCASESTR): Likewise.
7054         Reported by Bruno Haible.
7055
7056 2010-10-06  Bruno Haible  <bruno@clisp.org>
7057
7058         string, sys_select: Avoid #including large headers unless necessary.
7059         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
7060         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
7061         OSF/1, BeOS, Haiku.
7062         Reported by Jim Meyering.
7063
7064 2010-10-05  Eric Blake  <eblake@redhat.com>
7065
7066         memmem, strstr, strcasestr: fix bug with long periodic needle
7067         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
7068         periodic needle having false positive.
7069         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
7070         and cygwin 1.7.7.
7071         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
7072         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
7073         (gl_FUNC_STRCASESTR): Likewise.
7074         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
7075         * tests/test-memmem.c (main): Expose the bug.
7076         * tests/test-strcasestr.c (main): Likewise.
7077         * tests/test-strstr.c (main): Likewise.
7078         * tests/test-c-strcasestr.c (main): Likewise.
7079         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
7080         * doc/posix-functions/strstr.texi (strstr): Likewise.
7081         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
7082         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
7083
7084 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7085
7086         parse-datetime: do some more renaming
7087         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
7088         parse_datetime, not get_date.  Mention the renaming.
7089         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
7090         in comments.
7091         * m4/bison.m4: Likewise.
7092
7093 2010-10-05  Eric Blake  <eblake@redhat.com>
7094
7095         parse-datetime: better name than get_date
7096         * NEWS: Reword the deprecation notice.
7097         * modules/get_date: Rename to modules/parse-datetime.
7098         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
7099         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
7100         * lib/get_date.y: Rename to lib/parse-datetime.y.
7101         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
7102         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
7103         * doc/getdate.texi: Provide fallback wrapper.
7104         * lib/getdate.h: Move guts, and wrap...
7105         * lib/parse-datetime.h: ...new file.
7106         * lib/parse-datetime.y (get_date): Rename...
7107         (parse_datetime): ...to this.
7108         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
7109         (gl_PARSE_DATETIME): ...to this.
7110         * doc/posix-functions/getdate.texi (get_date): Provide fallback
7111         documentation.
7112         * modules/getdate (Files): Provide fallback docs and header.
7113         (Notice, Depends-on): Update references.
7114         * tests/test-parse-datetime.c: Likewise.
7115         * DEPENDENCIES: Likewise.
7116         * MODULES.html.sh (Date and time <time.h>): Likewise.
7117         * doc/parse-datetime.texi (Date input formats)
7118         (Authors of parse_datetime): Likewise.
7119         * modules/parse-datetime (Files, configure.ac, Makefile.am)
7120         (Include): Likewise.
7121         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
7122         * gnulib-tool: Likewise.
7123         * m4/bison.m4 (gl_BISON): Likewise.
7124         Suggested by Bruno Haible.
7125
7126 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7127
7128         more ports to Solaris tr, which needs [] around ranges
7129         * gnulib-tool: Solaris tr needs [] around ranges.
7130         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7131         * tests/test-pipe-filter-gi1.c (main): Likewise.
7132         * tests/test-pipe-filter-ii1.c (main): Likewise.
7133
7134 2010-10-05  Eric Blake  <eblake@redhat.com>
7135
7136         bootstrap: fix Solaris regression
7137         * build-aux/bootstrap (check_versions): Solaris tr still needs []
7138         around ranges.
7139         Reported by Pádraig Brady.
7140
7141         bootstrap: work with pkg-config
7142         * build-aux/bootstrap (check_versions): Also transliterate - in
7143         prerequisite name.
7144         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
7145         prerequisites that were already found, to avoid confusion.
7146         Reported by Justin Clift.
7147
7148         faccessat: remove unused wrappers
7149         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
7150         presence of these wrappers dragged in -lgen on Solaris.
7151         Reported by Clemens Brogi; fix suggested by Paul Eggert.
7152
7153 2010-10-05  Jim Meyering  <meyering@redhat.com>
7154
7155         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
7156         * Makefile (sc_pragma_columns): New syntax-check rule.
7157
7158 2010-10-04  Bruno Haible  <bruno@clisp.org>
7159
7160         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
7161         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
7162         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
7163         Reported by Bruce Korb and Eric Blake.
7164
7165 2010-10-04  Bruno Haible  <bruno@clisp.org>
7166
7167         threadlib: Make option --with-libpth-prefix work.
7168         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
7169         use $LIBPTH, not just -lpth.
7170
7171 2010-10-04  Bruno Haible  <bruno@clisp.org>
7172
7173         Avoid line length limitation from HP NonStop system header files.
7174         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
7175         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
7176         * lib/ctype.in.h: Likewise.
7177         * lib/dirent.in.h: Likewise.
7178         * lib/errno.in.h: Likewise.
7179         * lib/fcntl.in.h: Likewise.
7180         * lib/float.in.h: Likewise.
7181         * lib/getopt.in.h: Likewise.
7182         * lib/iconv.in.h: Likewise.
7183         * lib/inttypes.in.h: Likewise.
7184         * lib/langinfo.in.h: Likewise.
7185         * lib/locale.in.h: Likewise.
7186         * lib/math.in.h: Likewise.
7187         * lib/netdb.in.h: Likewise.
7188         * lib/netinet_in.in.h: Likewise.
7189         * lib/poll.in.h: Likewise.
7190         * lib/pthread.in.h: Likewise.
7191         * lib/pty.in.h: Likewise.
7192         * lib/sched.in.h: Likewise.
7193         * lib/se-selinux.in.h: Likewise.
7194         * lib/search.in.h: Likewise.
7195         * lib/signal.in.h: Likewise.
7196         * lib/spawn.in.h: Likewise.
7197         * lib/stdarg.in.h: Likewise.
7198         * lib/stddef.in.h: Likewise.
7199         * lib/stdint.in.h: Likewise.
7200         * lib/stdio.in.h: Likewise.
7201         * lib/stdlib.in.h: Likewise.
7202         * lib/string.in.h: Likewise.
7203         * lib/strings.in.h: Likewise.
7204         * lib/sys_file.in.h: Likewise.
7205         * lib/sys_ioctl.in.h: Likewise.
7206         * lib/sys_select.in.h: Likewise.
7207         * lib/sys_socket.in.h: Likewise.
7208         * lib/sys_stat.in.h: Likewise.
7209         * lib/sys_time.in.h: Likewise.
7210         * lib/sys_times.in.h: Likewise.
7211         * lib/sys_utsname.in.h: Likewise.
7212         * lib/sys_wait.in.h: Likewise.
7213         * lib/sysexits.in.h: Likewise.
7214         * lib/termios.in.h: Likewise.
7215         * lib/time.in.h: Likewise.
7216         * lib/unistd.in.h: Likewise.
7217         * lib/wchar.in.h: Likewise.
7218         * lib/wctype.in.h: Likewise.
7219         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
7220         * modules/ctype (Makefile.am): Likewise.
7221         * modules/dirent (Makefile.am): Likewise.
7222         * modules/errno (Makefile.am): Likewise.
7223         * modules/fcntl-h (Makefile.am): Likewise.
7224         * modules/float (Makefile.am): Likewise.
7225         * modules/getopt-posix (Makefile.am): Likewise.
7226         * modules/iconv-h (Makefile.am): Likewise.
7227         * modules/inttypes (Makefile.am): Likewise.
7228         * modules/langinfo (Makefile.am): Likewise.
7229         * modules/locale (Makefile.am): Likewise.
7230         * modules/math (Makefile.am): Likewise.
7231         * modules/netdb (Makefile.am): Likewise.
7232         * modules/netinet_in (Makefile.am): Likewise.
7233         * modules/poll-h (Makefile.am): Likewise.
7234         * modules/pthread (Makefile.am): Likewise.
7235         * modules/pty (Makefile.am): Likewise.
7236         * modules/sched (Makefile.am): Likewise.
7237         * modules/search (Makefile.am): Likewise.
7238         * modules/selinux-h (Makefile.am): Likewise.
7239         * modules/signal (Makefile.am): Likewise.
7240         * modules/spawn (Makefile.am): Likewise.
7241         * modules/stdarg (Makefile.am): Likewise.
7242         * modules/stddef (Makefile.am): Likewise.
7243         * modules/stdint (Makefile.am): Likewise.
7244         * modules/stdio (Makefile.am): Likewise.
7245         * modules/stdlib (Makefile.am): Likewise.
7246         * modules/string (Makefile.am): Likewise.
7247         * modules/strings (Makefile.am): Likewise.
7248         * modules/sys_file (Makefile.am): Likewise.
7249         * modules/sys_ioctl (Makefile.am): Likewise.
7250         * modules/sys_select (Makefile.am): Likewise.
7251         * modules/sys_socket (Makefile.am): Likewise.
7252         * modules/sys_stat (Makefile.am): Likewise.
7253         * modules/sys_time (Makefile.am): Likewise.
7254         * modules/sys_times (Makefile.am): Likewise.
7255         * modules/sys_utsname (Makefile.am): Likewise.
7256         * modules/sys_wait (Makefile.am): Likewise.
7257         * modules/sysexits (Makefile.am): Likewise.
7258         * modules/termios (Makefile.am): Likewise.
7259         * modules/time (Makefile.am): Likewise.
7260         * modules/unistd (Makefile.am): Likewise.
7261         * modules/wchar (Makefile.am): Likewise.
7262         * modules/wctype (Makefile.am): Likewise.
7263
7264 2010-10-04  Bruno Haible  <bruno@clisp.org>
7265
7266         read-file tests: Avoid a test failure on NonStop Kernel.
7267         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
7268         a regular file.
7269         Reported by Joachim Schmitz <schmitz@hp.com>.
7270
7271 2010-10-03  Bruno Haible  <bruno@clisp.org>
7272
7273         gnulib-tool: Fixes for --create-testdir with --libtool.
7274         * gnulib-tool (func_get_automake_snippet): Don't augment
7275         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
7276         an executable.
7277         (func_create_testdir): Handle module 'alloca' like func_import.
7278         Reported by Bruce Korb <bruce.korb@gmail.com>.
7279
7280 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
7281
7282         Avoid some lines longer than 80 characters.
7283         * lib/stdint.in.h: Break long comment lines.
7284         * lib/math.in.h: Likewise.
7285         (_GL_NUM_UINT_WORDS): New macro, for readability.
7286         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
7287         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
7288         * lib/stdlib.in.h: Likewise.
7289         * lib/spawn.in.h: Likewise.
7290         * lib/sys_socket.in.h: Update an URL.
7291         * lib/sys_stat.in.h: Break long line.
7292
7293 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
7294
7295         Improve pmccabe2html.
7296         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
7297         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
7298         when the sources change. Remove the line in the HTML about "Used
7299         ranges" (which implied that there might be other unused ranges),
7300         rename "Resume" to "Summary" (easier to understand for more users).
7301         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
7302         styles, and some unnecessary blank lines.
7303
7304 2010-10-03  Bruno Haible  <bruno@clisp.org>
7305             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
7306
7307         acl: Add support for ACLs on NonStop Kernel.
7308         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
7309         Check whether the function aclsort() exists.
7310         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
7311         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
7312         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
7313         (acl_nontrivial [HAVE_ACLSORT]: New function.
7314         (file_has_acl): Implement for NonStop Kernel.
7315         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
7316         (qset_acl): Implement for NonStop Kernel.
7317         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
7318         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
7319         (main): Implement for NonStop Kernel.
7320         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
7321         Kernel. Handle this flavor.
7322         * tests/test-set-mode-acl.sh: Likewise.
7323         * tests/test-copy-acl.sh: Likewise.
7324         * tests/test-copy-file.sh: Likewise.
7325
7326 2010-10-03  Bruno Haible  <bruno@clisp.org>
7327
7328         Info about ACLs on NonStop Kernel.
7329         * doc/acl-resources.txt: Add info about NonStop Kernel.
7330         References by Joachim Schmitz <schmitz@hp.com>.
7331
7332 2010-10-02  Bruno Haible  <bruno@clisp.org>
7333
7334         Define missing EDQUOT on NonStop Kernel.
7335         * lib/errno.in.h (EDQUOT): Assign a value if missing.
7336         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
7337         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
7338         missing.
7339         * doc/posix-headers/errno.texi: Mention the NSK bug.
7340         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
7341         Reported by Joachim Schmitz <schmitz@hp.com>.
7342
7343 2010-10-02  Bruno Haible  <bruno@clisp.org>
7344
7345         Update doc for POSIX:2008.
7346         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
7347         Update URL of POSIX specification.
7348
7349 2010-10-02  Bruno Haible  <bruno@clisp.org>
7350
7351         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
7352         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
7353         from gnulib, not from Automake.
7354
7355 2010-10-02  Bruno Haible  <bruno@clisp.org>
7356
7357         New module 'system-posix'.
7358         * modules/system-posix: New file.
7359         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
7360         module is present.
7361         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
7362         GNULIB_SYSTEM_POSIX.
7363         * modules/stdlib (Depends-on): Remove sys_wait.
7364         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
7365         * doc/posix-functions/system.texi: Mention the new module.
7366         * doc/posix-headers/stdlib.texi: Likewise.
7367         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
7368         define test_sys_wait_macros to a no-op.
7369         Reported by Sam Steingold <sds@gnu.org>.
7370
7371 2010-09-30  Bruno Haible  <bruno@clisp.org>
7372
7373         More renaming from 'getdate' to 'get_date'.
7374         * doc/get_date.texi: Renamed from doc/getdate.texi.
7375         * modules/get_date (Files): Update.
7376         * MODULES.html.sh (Date and time <time.h>): Update.
7377         * DEPENDENCIES: Update.
7378         * gnulib-tool: Update comment.
7379         * m4/bison.m4 (gl_BISON): Likewise.
7380         * m4/get_date.m4 (gl_GET_DATE): Likewise.
7381
7382 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
7383
7384         bootstrap: support ACLOCAL_FLAGS during aclocal
7385         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
7386         can add additional -I dir for third-party .m4 files.
7387
7388 2010-09-30  Eric Blake  <eblake@redhat.com>
7389
7390         bootstrap: use glibtoolize on MacOS
7391         * build-aux/bootstrap (check_versions): Convert libtool into
7392         libtoolize.
7393         (tool search): Move libtool check earlier, and look for
7394         glibtoolize for MacOS.
7395         (gnulib_tool_options): Auto-add --libtool when appropriate.
7396         Reported by Justin Clift.
7397
7398         poll: fix typo that broke test on MacOS
7399         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
7400         Reported by Justin Clift.
7401
7402         getdate: rename to get_date
7403         Note: getdate.h is not renamed, to minimize client impact.
7404         * modules/getdate: Mark obsolete.  Move old contents...
7405         * modules/get_date: ...to new module name.
7406         * modules/getdate-tests: Move...
7407         * modules/get_date-tests: ...here.
7408         * m4/getdate.m4: Move...
7409         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
7410         * lib/getdate.y: Move...
7411         * lib/get_date.y: ...here.
7412         * tests/test-getdate.c: Move...
7413         * tests/test-get_date.c: ...here.
7414         * doc/posix-functions/getdate.texi (getdate): Update name.
7415         * NEWS: Mention the change.
7416
7417 2010-09-29  Bruno Haible  <bruno@clisp.org>
7418
7419         Separate the module 'waitpid' from the module 'sys_wait'.
7420         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
7421         present.
7422         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
7423         gl_MODULE_INDICATOR_FOR_TESTS.
7424         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
7425         * modules/sys_wait (Depends-on): Remove waitpid.
7426         (Makefile.am): Substitute GNULIB_WAITPID.
7427         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
7428         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
7429         signature only if the 'waitpid' module is present.
7430         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
7431         * NEWS: Mention the change.
7432         * modules/grantpt (Depends-on): Add waitpid.
7433         * modules/wait-process (Depends-on): Likewise.
7434
7435 2010-09-29  Bruno Haible  <bruno@clisp.org>
7436
7437         More tests for module 'sys_wait'.
7438         * modules/sys_wait-c++-tests: New file.
7439         * tests/test-sys_wait-c++.cc: New file.
7440         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
7441         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
7442
7443 2010-09-29  Bruno Haible  <bruno@clisp.org>
7444
7445         New module 'waitpid'.
7446         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
7447         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
7448         Don't include <process.h>.
7449         (waitpid): Declare only, using modern idiom.
7450         * m4/waitpid.m4: New file.
7451         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
7452         * modules/waitpid: New file.
7453         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
7454         (Makefile.am): Update.
7455         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
7456
7457 2010-09-28  Bruno Haible  <bruno@clisp.org>
7458
7459         poll: Assume ANSI C.
7460         * lib/poll.c (poll): Use an ANSI C declaration.
7461
7462 2010-09-28  Bruno Haible  <bruno@clisp.org>
7463
7464         poll-h: Create poll.h on all platforms.
7465         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
7466         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
7467         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
7468         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
7469         (gl_REPLACE_POLL_H): Don't set POLL_H.
7470         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
7471         * modules/poll-h (Depends-on): Add include_next.
7472         (Makefile.am): Create poll.h unconditionally. Substitute also
7473         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
7474
7475 2010-09-28  Bruno Haible  <bruno@clisp.org>
7476
7477         Tests for module 'poll-h'.
7478         * modules/poll-h-c++-tests: New file.
7479         * tests/test-poll-h-c++.cc: New file.
7480
7481         Tests for module 'poll-h'.
7482         * modules/poll-h-tests: New file.
7483         * tests/test-poll-h.c: New file.
7484
7485 2010-09-28  Bruno Haible  <bruno@clisp.org>
7486
7487         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
7488         * modules/poll-h (Depends-on): Add 'extensions'.
7489
7490 2010-09-28  Bruno Haible  <bruno@clisp.org>
7491
7492         New module 'poll-h'.
7493         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
7494         (poll): Use modern idiom.
7495         * modules/poll-h: New file.
7496         * modules/poll (Files): Remove lib/poll.in.h.
7497         (Depends-on): Add poll-h.
7498         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
7499         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
7500         * m4/poll_h.m4: New file.
7501         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
7502         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
7503         and invoke gl_REPLACE_POLL_H.
7504         * lib/poll.c: Use common idiom.
7505         * tests/test-poll.c: Likewise.
7506         * doc/posix-headers/poll.texi: Mention the poll-h module.
7507         Suggested by Eric Blake.
7508
7509 2010-09-26  Bruno Haible  <bruno@clisp.org>
7510
7511         sys_wait: Implement WSTOPSIG.
7512         * lib/sys_wait.in.h (WSTOPSIG): New macro.
7513         Reported by Simon Josefsson.
7514
7515 2010-09-26  Simon Josefsson  <simon@josefsson.org>
7516
7517         stdlib, sys_wait: Avoid compilation error on mingw.
7518         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
7519
7520 2010-09-26  Bruno Haible  <bruno@clisp.org>
7521
7522         stdlib tests: Avoid code duplication.
7523         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
7524         * modules/sys_wait-tests (Files): Likewise.
7525         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
7526         * tests/test-stdlib.c: Include test-sys_wait.h.
7527         (main): Invoke test_sys_wait_macros.
7528         * tests/test-sys_wait.c: Include test-sys_wait.h.
7529         (main): Invoke test_sys_wait_macros.
7530
7531 2010-09-25  Simon Josefsson  <simon@josefsson.org>
7532
7533         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
7534         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
7535         sure Windows sockets are working before calling getaddrinfo.
7536         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
7537         * doc/gnulib.texi (Windows sockets): Fix typo.
7538
7539 2010-09-25  Bruno Haible  <bruno@clisp.org>
7540
7541         Tests for module 'regex-quote'.
7542         * modules/regex-quote-tests: New file.
7543         * tests/test-regex-quote.c: New file.
7544
7545         New module 'regex-quote'.
7546         * lib/regex-quote.h: New file.
7547         * lib/regex-quote.c: New file.
7548         * modules/regex-quote: New file.
7549         Suggested by Reuben Thomas <rrt@sc3d.org>.
7550
7551 2010-09-24  Bruno Haible  <bruno@clisp.org>
7552
7553         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
7554         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
7555
7556 2010-09-23  Bruno Haible  <bruno@clisp.org>
7557
7558         setenv: Relax license.
7559         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
7560         Blake.
7561         Requested by Eric Blake.
7562
7563 2010-09-22  Bruno Haible  <bruno@clisp.org>
7564
7565         termios: Relax license.
7566         * modules/termios (License): Change to LGPLv2+.
7567         Requested by Eric Blake.
7568
7569 2010-09-22  Bruno Haible  <bruno@clisp.org>
7570
7571         threadlib: Allow the package to change the default to 'no'.
7572         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
7573         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
7574         Reported by Paul Eggert.
7575
7576 2010-09-22  Pádraig Brady  <P@draigbrady.com>
7577             Bruno Haible  <bruno@clisp.org>
7578
7579         Fix endless loop in mbmemcasecoll.
7580         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
7581         byte.
7582         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
7583
7584 2010-09-22  Bruno Haible  <bruno@clisp.org>
7585
7586         Tests for module 'memcoll'.
7587         * modules/memcoll-tests: New file.
7588         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
7589
7590         memcoll, xmemcoll: Clarify size vs. length.
7591         * modules/memcoll.c (memcoll0): Clarify specification.
7592         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
7593         passed to collate_error.
7594
7595 2010-09-22  Bruno Haible  <bruno@clisp.org>
7596
7597         Tests for module 'memcasecmp'.
7598         * modules/memcasecmp-tests: New file.
7599         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
7600
7601 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
7602
7603         * lib/pthread.in.h: Add split double-inclusion guard, and include
7604         system <pthread.h> if there is one.  Use @@-style as in other
7605         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
7606         pthread.h doesn't.
7607         (pthread_mutexattr_destroy, pthread_mutexattr_init):
7608         (pthread_mutexattr_settype, pthread_mutex_trylock):
7609         New static inline functions, if there's no system <pthread.h>.
7610         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
7611         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
7612         Approximate with mutexes if the system lacks spinlocks, as in
7613         MacOS.
7614         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
7615         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
7616         @@-style.  Check for spinlocks separately.
7617         (gl_PTHREAD_DEFAULTS): New macro.
7618         * modules/pthread: Redo to use a more typical style for in.h files.
7619
7620 2010-09-21  Eric Blake  <eblake@redhat.com>
7621
7622         net_if: enhance tests
7623         * tests/test-net_if.c (main): Move signature checks earlier.
7624         Print failures to stderr.
7625         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
7626         Document the bug that we do not yet fix.
7627
7628 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
7629
7630         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
7631         about gnulib, not GSS.
7632
7633 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
7634
7635         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
7636         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
7637         for Emacs.
7638         * build-aux/pmccabe2html: Make Makefile.am example code more
7639         cut-and-paste friendly.
7640
7641 2010-09-21  Simon Josefsson  <simon@josefsson.org>
7642
7643         * tests/test-net_if.c: New file.
7644         * modules/net_if-tests: New file.
7645
7646 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
7647
7648         pthread: add pthread_spin_destroy
7649         * lib/pthread.in.h (pthread_spin_destroy): New function.
7650
7651 2010-09-19  Bruno Haible  <bruno@clisp.org>
7652
7653         gnulib-tool: Fix --help output.
7654         * gnulib-tool (func_usage): Fix help message.
7655         Reported by Reuben Thomas <rrt@sc3d.org>.
7656
7657 2010-09-18  Jim Meyering  <meyering@redhat.com>
7658
7659         maint.mk: avoid unexpanded \n in two diagnostics
7660         * top/maint.mk (sc_prohibit_always_true_header_tests):
7661         Don't use a literal \n in a halt=... assignment.  It would not be
7662         expanded, and the two \n bytes would appear in the diagnostic output
7663         rather than the desired newline.  Use halt=$$(printf ... instead.
7664         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
7665
7666 2010-09-18  Bruno Haible  <bruno@clisp.org>
7667
7668         netinet_in: Doc tweak.
7669         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
7670         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7671
7672 2010-09-18  Jim Meyering  <meyering@redhat.com>
7673
7674         init.sh: correct an outdated comment
7675         * tests/init.sh (create_exe_shims_):  s/function/alias/
7676
7677         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
7678         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
7679         a file named "*.exe" is removed between the glob expansion and the
7680         processing of that oddly named file.
7681
7682 2010-09-17  Eric Blake  <eblake@redhat.com>
7683
7684         mirbsd: add some more support
7685         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
7686         in BSD family.
7687         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
7688         devices as OpenBSD.
7689         * m4/host-os.m4 (mirbsd): Add MirBSD.
7690
7691         tests: fix unportable assumption on sys/wait.h
7692         * tests/test-sys_wait.c (main): Relax test.
7693         * tests/test-stdlib.c (main): Likewise.
7694
7695         init.sh: accomodate directory with no .exes
7696         * tests/init.sh: Accomodate directory containing only scripts.
7697
7698         tests: avoid compiler warning
7699         * tests/test-stdlib.c (main): Use the variable.
7700
7701         fdutimens, fdutimensat: update signature, again
7702         * lib/utimens.h (gl_futimens): Delete, and move signature...
7703         (fdutimens): ...here.
7704         (fdutimensat): Rearrange signature.
7705         (lutimensat): Rename variable for clarity.
7706         * lib/fdutimensat.c (fdutimensat): Update signature.
7707         * lib/utimens.c (fdutimens): Likewise.
7708         (gl_futimens): Delete.
7709         (utimens, lutimens): Update callers.
7710         * lib/futimens.c (futimens): Likewise.
7711         * tests/test-fdutimensat.c: Likewise.
7712         * tests/test-utimens.c: Likewise.
7713         * tests/test-futimens.h: Update comment.
7714         * NEWS: Mention this.
7715         Suggested by Paul Eggert.
7716
7717 2010-09-17  Bruno Haible  <bruno@clisp.org>
7718
7719         Take over the maintenance of some older macros from Autoconf.
7720         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
7721         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
7722         GNU Autoconf.
7723         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
7724         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
7725
7726 2010-09-17  Eric Blake  <eblake@redhat.com>
7727
7728         fdutimensat: drop atflag validation
7729         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
7730         with valid fd, to close a race scenario where futimens is
7731         unsupported and FILE was replaced by a symlink.
7732         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
7733         accordingly.
7734         Suggested by Paul Eggert.
7735
7736 2010-09-16  Bruno Haible  <bruno@clisp.org>
7737
7738         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
7739         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
7740
7741 2010-09-16  Bruno Haible  <bruno@clisp.org>
7742
7743         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
7744         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
7745         login_tty exists.
7746         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7747
7748 2010-09-16  Bruno Haible  <bruno@clisp.org>
7749
7750         login_tty: Make the replacement code work on BSD systems.
7751         * lib/login_tty.c: Include <sys/ioctl.h>.
7752         (login_tty): Use ioctl TIOCSCTTY when available.
7753         * modules/login_tty (Depends-on): Add sys_ioctl.
7754         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7755
7756 2010-09-16  Bruno Haible  <bruno@clisp.org>
7757
7758         login_tty: Stricter unit test.
7759         * modules/login_tty-tests (Depends-on): Add tcgetsid.
7760         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
7761         and tcgetsid() after login_tty.
7762         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7763
7764 2010-09-16  Bruno Haible  <bruno@clisp.org>
7765
7766         New module 'tcgetsid'.
7767         * lib/tcgetsid.c: New file.
7768         * m4/tcgetsid.m4: New file.
7769         * modules/tcgetsid: New file.
7770         * modules/termios (Depends-on): Add c++defs, warn-on-use.
7771         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
7772         GNULIB_TCGETSID, HAVE_TCGETSID.
7773         * lib/termios.in.h: Include <sys/types.h>.
7774         (tcgetsid): New declaration.
7775         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
7776         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
7777         * doc/posix-functions/tcgetsid.texi: Mention the new module.
7778         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
7779
7780 2010-09-16  Bruno Haible  <bruno@clisp.org>
7781
7782         Tests for module 'termios'.
7783         * modules/termios-c++-tests: New file.
7784         * modules/termios-tests: New file.
7785         * tests/test-termios-c++.cc: New file.
7786         * tests/test-termios.c: New file.
7787
7788         New module 'termios'.
7789         * modules/termios: New file.
7790         * lib/termios.in.h: New file.
7791         * m4/termios_h.m4: New file.
7792         * doc/posix-headers/termios.texi: Mention the new module.
7793
7794 2010-09-16  Eric Blake  <eblake@redhat.com>
7795
7796         fdutimensat: add an atflag parameter
7797         * lib/fdutimensat.c (fdutimensat): Add new parameter.
7798         * lib/utimens.h (fdutimensat): Update prototype.
7799         * tests/test-fdutimensat.c: Adjust test to match.
7800         * NEWS: Document the change.
7801         Suggested by Paul Eggert.
7802
7803 2010-09-16  Bruno Haible  <bruno@clisp.org>
7804
7805         Fix typos in comments.
7806         * lib/striconveh.h: Fix typo in comment.
7807         * lib/login_tty.c (login_tty): Likewise.
7808
7809 2010-09-15  Bruno Haible  <bruno@clisp.org>
7810
7811         stdlib: clarify MirBSD WEXITSTATUS bug
7812         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
7813         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
7814
7815 2010-09-15  Eric Blake  <eblake@redhat.com>
7816
7817         stdlib: work around MirBSD WEXITSTATUS bug
7818         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
7819         * modules/stdlib (Depends-on): Add sys_wait.
7820         * tests/test-sys_wait.c (main): Enhance test.
7821         * tests/test-stdlib.c (main): Likewise.
7822         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
7823
7824         docs: mention MacOS issue with WEXITSTATUS(constant)
7825         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
7826         issue.
7827         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
7828
7829         strnlen: add tests
7830         * modules/strnlen-tests: New file.
7831         * tests/test-strnlen.c: Likewise.
7832
7833 2010-09-14  Bruno Haible  <bruno@clisp.org>
7834
7835         unistr/base: Avoid link errors when module 'libunistring' is also used.
7836         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
7837         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
7838         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
7839         Declare also when HAVE_LIBUNISTRING is set.
7840         Reported by Pádraig Brady <P@draigbrady.com>.
7841
7842 2010-09-14  Eric Blake  <eblake@redhat.com>
7843
7844         test-rawmemchr: make more robust
7845         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
7846         (Depends-on, configure.ac): Add needed prerequisites to use it.
7847         * modules/memchr-tests (Files, Depends-on, configure.ac):
7848         Likewise, to avoid implicit reliance on memchr module prereqs.
7849         * tests/test-memchr.c (main): Ensure proper masking.
7850         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
7851         reads.
7852
7853         memchr: detect glibc Alpha bug
7854         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
7855         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
7856         Alpha.
7857         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
7858         * tests/test-memchr.c (main): Enhance test.
7859         Reported by Nelson H. F. Beebe.
7860
7861 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
7862
7863         fts, getcwd, glob: audit for dirfd returning -1
7864         * lib/fts.c (opendir): Remove #define; no longer used.
7865         (opendirat): New arg PDIR_FD.  All callers changed.
7866         (fts_build, _opendir2): Use new opendirat to avoid the need for
7867         dirfd, or for checking whether dirfd returns a negative value.
7868         Don't use opendir; always use openat followed by fdopendir.
7869         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
7870         it.
7871         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
7872         returns -1 here.
7873         * modules/fts (Depends-on): Remove dirfd.
7874         * modules/getcwd (Depends-on): Likewise.
7875
7876 2010-09-13  Eric Blake  <eblake@redhat.com>
7877
7878         float: fix broken MirBSD header
7879         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
7880         * doc/posix-headers/float.texi (float.h): Document it.
7881
7882 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
7883
7884         fts: use O_NOFOLLOW to avoid race condition when opening a directory
7885         * lib/fts.c (opendirat): New arg extra_flags.
7886         (__opendir2): Use it to avoid following symlinks when opening
7887         a directory, if symlinks are not supposed to be followed.  See
7888         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
7889
7890         fdopendir: preserve argument fd before returning
7891         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
7892         (fdopendir_with_dup, fd_clone_opendir): New static functions.
7893         (fdopendir): Use them, arranging for FD to be open to the same
7894         directory that it was when it started.  (It might be temporarily
7895         closed while fdopendir is running, so this not thread- or
7896         signal-safe.)  Be careful to do the right thing even when file
7897         descriptors are scarce and dup fails with errno == EMFILE.  See
7898         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
7899
7900 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
7901
7902         regex: Pass the system regex if its only problem is 32-bit regoff_t.
7903         * NEWS: Document change.
7904         * m4/regex.m4: Disable test for regoff_t size.
7905
7906 2010-09-13  Jim Meyering  <meyering@redhat.com>
7907
7908         fts: don't operate on an invalid file descriptor after failed dup
7909         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
7910         negative file descriptor.
7911
7912 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
7913
7914         savedir: add streamsavedir, deprecate fdsavedir
7915         * NEWS: Mention deprecation of fdsavedir.
7916         * lib/savedir.c (streamsavedir): New extern function, whose name
7917         ends in "savedir" to be consistent with the others.  This differs
7918         from savedirstream in that it doesn't close its argument.  The
7919         next version of GNU tar will use this instead of fdsavedir, to
7920         avoid some race conditions and conserve file descriptors.
7921         (savedirstream): Reimplement as a wrapper around streamsavedir.
7922         (fdsavedir): Add a comment deprecating this function.  As far as
7923         I know, only GNU tar used it, and GNU tar doesn't need it any more.
7924         * lib/savedir.h (streamsavedir): New decl.
7925         (fdsavedir): Add a comment deprecating this.
7926
7927 2010-09-10  Bruno Haible  <bruno@clisp.org>
7928
7929         langinfo: Fix last commit.
7930         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
7931         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
7932         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7933
7934 2010-09-10  Bruno Haible  <bruno@clisp.org>
7935
7936         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
7937         * lib/progreloc.c (O_EXEC): Define fallback.
7938
7939 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
7940
7941         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
7942         * NEWS: Document recent changes to fcntl-h.
7943         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
7944         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
7945         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
7946         Similarly for O_SEARCH; this last was already true, but not documented.
7947         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
7948         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
7949         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
7950         Likewise.
7951         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
7952         is zero, not whether it is defined.
7953         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
7954         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
7955         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
7956
7957 2010-09-10  Bruno Haible  <bruno@clisp.org>
7958
7959         langinfo, nl_langinfo: Fix for IRIX 5.3.
7960         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
7961         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
7962         HAVE_LANGINFO_YESEXPR.
7963         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
7964         HAVE_LANGINFO_YESEXPR.
7965         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
7966         HAVE_LANGINFO_T_FMT_AMPM is 0.
7967         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
7968         HAVE_LANGINFO_YESEXPR is 0.
7969         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
7970         NOEXPR.
7971         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
7972         * doc/posix-functions/nl_langinfo.texi: Likewise.
7973         Reported by Eric Blake.
7974
7975 2010-09-10  Bruno Haible  <bruno@clisp.org>
7976
7977         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
7978         * doc/glibc-functions/login_tty.texi: Mention the include file problem
7979         on FreeBSD 8.0 and OpenBSD 4.6.
7980         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
7981         * m4/pty_h.m4 (gl_PTY_H): Likewise.
7982         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
7983         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
7984         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
7985         ac_includes_default.
7986         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7987
7988 2010-09-09  Eric Blake  <eblake@redhat.com>
7989
7990         strsignal: work around NetBSD bug
7991         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
7992         * lib/string.in.h (includes): Likewise.
7993         * doc/posix-functions/strsignal.texi (strsignal): Document the
7994         bug.
7995         Reported by Nelson H. F. Beebe.
7996
7997         gnulib-tool: work with NetBSD /bin/sh
7998         * gnulib-tool (func_cache_var, func_cache_lookup_module)
7999         (func_get_description, func_get_comment, func_get_status)
8000         (func_get_notice, func_get_applicability, func_get_filelist)
8001         (func_get_dependencies, func_get_autoconf_early_snippet)
8002         (func_get_autoconf_snippet, func_get_automake_snippet)
8003         (func_get_include_directive, func_get_link_directive)
8004         (func_get_license, func_get_maintainer, func_import): Avoid
8005         shell syntax errors from parsing syntax extensions.
8006
8007 2010-09-09  Bruno Haible  <bruno@clisp.org>
8008
8009         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
8010         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
8011         a reliable way to determine whether the 'alias' command works.
8012
8013 2010-09-08  Jim Meyering  <meyering@redhat.com>
8014
8015         init.sh: penalize a set-x-impaired shell; don't disqualify it
8016         * tests/init.sh: Too many shells corrupt application stderr when
8017         you set -x, so we can't afford to disqualify them, since at least
8018         on Irix-6.5, that would disqualify all bourne shells.
8019         Instead, use a two-pass approach.
8020         On the first pass, try to find a shell that meets the stricter
8021         condition that set -x does not corrupt stderr.
8022         If no shell meets the stricter condition, retest each candidate
8023         shell, but without that extra condition.  Finally, when
8024         VERBOSE=yes is requested and set -x might cause trouble, simply
8025         issue a warning and refrain from enabling debug output.
8026
8027 2010-09-08  Eric Blake  <eblake@redhat.com>
8028
8029         unsetenv: fix OpenBSD bug
8030         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
8031         * doc/posix-functions/unsetenv.texi (unsetenv): Update
8032         documentation.
8033         Reported by Jim Meyering.
8034
8035         strtod: work around IRIX 6.5 bug
8036         * lib/strtod.c (strtod): Reparse number on shorter string if
8037         exponent parse was invalid.
8038         * tests/test-strtod.c (main): Add check for "0x1p 2".
8039         Reported by Tom G. Christensen.
8040
8041         getopt: optimize previous patch
8042         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
8043         empty variable.  Speed up awk script.
8044         Reported by Paolo Bonzini.
8045
8046 2010-09-08  Jim Meyering  <meyering@redhat.com>
8047
8048         test.sh: disqualify shells for which set -x corrupts stderr
8049         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
8050         and OpenBSD 4.7.  They make it so with "set -x", environment settings
8051         appear in stderr output.  For example, this command:
8052             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
8053         prints "P=1" on those two systems:
8054
8055 2010-09-08  Bruno Haible  <bruno@clisp.org>
8056
8057         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
8058         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
8059         commands, because some shells ignore redirections when there is an
8060         error in the command lookup.
8061         Reported by Eric Blake.
8062
8063 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
8064
8065         * lib/regex.h: Fix a mention of `regex_compile' (should be
8066         `re_compile_pattern').
8067         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
8068         (re_set_registers): Correct name of parameter in comment.
8069
8070         * doc/regex.texi: Add documentation for missing syntax flags.
8071         Remove commented-out documentation of defunct syntax option
8072         RE_NO_EMPTY_ALTS.
8073         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
8074         Add documentation of re_set_registers.
8075         Document trick to re-use a pattern buffer by setting fastmap manually.
8076         Update documentation of struct re_pattern_buffer per public members.
8077         Uncomment documentation of equivalence class operators and
8078         collating symbol operators, since they are now implemented,
8079         Explain leftmost-longest matching in relation to alternatives.
8080         Tidy documentation of substring matching.
8081         Remove POSIX documentation, which is done better in
8082         glibc, and refer the reader there. Keep BSD API documentation, as
8083         that is not readily available elsewhere.
8084
8085 2010-09-07  Eric Blake  <eblake@redhat.com>
8086
8087         getopt: handle POSIXLY_CORRECT set but not exported
8088         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
8089         export state of POSIXLY_CORRECT, due to bash set -o posix.
8090         Reported by Dustin J. Mitchell.
8091
8092 2010-09-05  Bruno Haible  <bruno@clisp.org>
8093
8094         gnulib-tool: Highlight the changed options.
8095         * gnulib-tool (func_usage): Display the --import, --add-import,
8096         --remove-import explanations in bold font.
8097
8098 2010-09-06  Karl Berry  <karl@gnu.org>
8099
8100         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
8101
8102 2010-09-05  Bruno Haible  <bruno@clisp.org>
8103
8104         uniwidth/width: Update comment.
8105         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
8106         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
8107
8108 2010-09-05  Bruno Haible  <bruno@clisp.org>
8109
8110         isinf, isnan: Relax license.
8111         * modules/isinf (License): Change from GPL to LGPL, with consent from
8112         Ben Pfaff.
8113         * modules/isnan (License): Likewise.
8114         Requested by Ludovic Courtès.
8115
8116 2010-09-04  Bruno Haible  <bruno@clisp.org>
8117
8118         gnulib-tool: Help migration from --import to --add-import or --update.
8119         * gnulib-tool: Emit a verbose error message when --import is used
8120         without any module name.
8121
8122 2010-09-04  Bruno Haible  <bruno@clisp.org>
8123
8124         Update doc about gnulib-tool.
8125         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
8126         'gnulib-tool --update' in more detail.
8127         Reported by Eric Blake.
8128
8129 2010-09-04  Bruno Haible  <bruno@clisp.org>
8130
8131         gnulib-tool: Change --import. New options --add/remove-import.
8132         * gnulib-tool: New options --add-import, --remove-import.
8133         (func_usage): Document them.
8134         (have_associative): Define always.
8135         (func_import): In import mode, don't merge the specified settings with
8136         the cached settings. Implement remove-import mode.
8137         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
8138         Explain when to use them versus --import.
8139         (Simple update): Use --add-import instead of --import.
8140         * NEWS: Mention the change.
8141
8142 2010-09-04  Bruno Haible  <bruno@clisp.org>
8143
8144         * doc/gnulib-tool.texi (Initial import): Update paragraph about
8145         separate gnulib.mk.
8146
8147 2010-09-04  Bruno Haible  <bruno@clisp.org>
8148
8149         gnulib-tool: Don't talk about CVS any more.
8150         * gnulib-tool (func_usage, func_import): Write "version control"
8151         instead of CVS.
8152
8153 2010-09-04  Jim Meyering  <meyering@redhat.com>
8154
8155         maint.mk: avoid obscure sc_copyright_check failure in coreutils
8156         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
8157         false positives (whose names may be ill-chosen) when searching
8158         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
8159         would cause a false-positive.
8160
8161         avoid coreutils "make distcheck" failure
8162         Coreutils tests with an absolute build directory name that contains
8163         a space.  Not quoting this directory name caused a failure.
8164         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
8165         * tests/test-vc-list-files-cvs.sh: Likewise.
8166
8167 2010-09-04  Bruno Haible  <bruno@clisp.org>
8168
8169         gnulib-tool: Avoid error when run in a package without Makefile.am.
8170         * gnulib-tool: When collecting the m4dirs in a package that does not
8171         have a Makefile.am, eliminate those directories that contain no
8172         gnulib-cache.m4. Fix expression that counts these directories.
8173
8174 2010-09-04  Bruno Haible  <bruno@clisp.org>
8175
8176         update-copyright test: Improve output when perl is missing or too old.
8177         * tests/test-update-copyright.sh: Move test of Perl version down after
8178         the test whether Perl exists. Provide an explanation relating Perl's
8179         error message to Automake's SKIP: message.
8180
8181 2010-09-04  Bruno Haible  <bruno@clisp.org>
8182
8183         Don't augment PATH in TESTS_ENVIRONMENT.
8184         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
8185         set abs_aux_dir instead of augmenting PATH.
8186         * modules/vc-list-files-tests (Makefile.am): Likewise.
8187         * tests/test-update-copyright.sh: Augment PATH here.
8188         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
8189         path_prepend_.
8190         * tests/test-vc-list-files-git.sh: Likewise.
8191
8192 2010-09-04  Jim Meyering  <meyering@redhat.com>
8193
8194         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
8195         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
8196
8197 2010-09-04  Bruno Haible  <bruno@clisp.org>
8198
8199         strdup: Fix compilation error in C++ mode.
8200         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
8201         the macro.
8202
8203 2010-09-04  Bruno Haible  <bruno@clisp.org>
8204
8205         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
8206         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
8207         macro into a function.
8208         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
8209
8210 2010-09-04  Bruno Haible  <bruno@clisp.org>
8211
8212         Set PATH_SEPARATOR the same way autoconf does.
8213         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
8214         the value of PATH_SEPARATOR the same way autoconf-generated configure
8215         scripts do.
8216         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
8217         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
8218
8219 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
8220
8221         Set PATH_SEPARATOR the same way autoconf does.
8222         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
8223         the same way autoconf-generated configure scripts do.
8224         * posix-modules: Likewise.
8225
8226 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
8227
8228         hash: fix safe_hasher const typo
8229         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
8230         const; otherwise, there is a type error later.
8231
8232 2010-09-02  Jim Meyering  <meyering@redhat.com>
8233
8234         test-update-copyright.sh: require perl 5.8.0
8235         * tests/test-update-copyright.sh: Require 5.8.0,
8236         which Tom G. Christensen has confirmed is adequate,
8237         while 5.6.1 is not.
8238
8239 2010-09-02  Eric Blake  <eblake@redhat.com>
8240
8241         tests: init.sh improvements for re-exec'ing with zsh
8242         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
8243         -vx through shell re-exec.
8244         Reported by Tom G. Christensen.
8245
8246         wctype: fix typo in previous commit
8247         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
8248         Reported by Ludovic Courtès.
8249
8250 2010-09-02  Jim Meyering  <meyering@redhat.com>
8251
8252         test-update-copyright.sh: skip test if Perl is too old
8253         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
8254         Reported by Tom G. Christensen.
8255
8256 2010-09-02  Bruno Haible  <bruno@clisp.org>
8257
8258         wctype: Avoid compilation error on IRIX 6.5.30.
8259         * lib/wctype.in.h (iswblank): Declare with a replacement if
8260         REPLACE_ISWBLANK is set.
8261         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
8262         declared. Set REPLACE_ISWBLANK.
8263         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
8264         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
8265         * doc/posix-headers/wctype.texi: Likewise.
8266         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8267
8268 2010-09-01  Bruno Haible  <bruno@clisp.org>
8269
8270         New module 'socketlib'.
8271         * modules/socketlib: New file.
8272         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
8273         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
8274         * modules/sockets (Depends-on): Add socketlib.
8275         Suggested by Sam Steingold <sds@gnu.org>.
8276
8277 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8278
8279         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
8280
8281         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
8282         when one needs search access to a directory but not read access.
8283         On systems where it is available, it works in some cases where
8284         O_RDONLY does not, namely on directories that are searchable but
8285         not readable, and which need only to be searchable.  If O_SEARCH
8286         is not available, fall back to the traditional method of using
8287         O_RDONLY.
8288
8289         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
8290         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
8291         when opening a directory that needs only to be searchable.
8292         * lib/chdir-safer.c (chdir_no_follow): Likewise.
8293         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
8294         * lib/openat-proc.c (openat_proc_name): Likewise.
8295         * lib/openat.c (openat_needs_fchdir): Likewise.
8296         * lib/save-cwd.c (save_cwd): Likewise.
8297         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
8298
8299 2010-08-28  Bruno Haible  <bruno@clisp.org>
8300
8301         New module 'host-cpu-c-abi'.
8302         * modules/host-cpu-c-abi: New file.
8303         * m4/host-cpu-c-abi.m4: New file, based on part of
8304         clisp/src/m4/general.m4.
8305         Requested by Sam Steingold <sds@gnu.org>.
8306
8307 2010-08-31  Eric Blake  <eblake@redhat.com>
8308         and Jim Meyering  <meyering@redhat.com>
8309
8310         hash: factor, and guard against misbehaving hasher function
8311         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
8312         of table->hasher's return value.  Also protect against a hash value
8313         so large that adding it to table->bucket results in a NULL pointer.
8314         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
8315         Use it in place of open-coded check-and-abort.
8316
8317 2010-08-30  Bruno Haible  <bruno@clisp.org>
8318
8319         hash: silence spurious clang warning
8320         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
8321         Reported by Eric Blake.
8322
8323 2010-08-30  Eric Blake  <eblake@redhat.com>
8324
8325         strstr, memmem, strcasestr: avoid leaked shell message
8326         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
8327         FreeBSD.
8328         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
8329         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
8330
8331         tests: silence clang warning
8332         * tests/test-malloca.c (do_allocation): Avoid dead store.
8333
8334 2010-08-29  Bruno Haible  <bruno@clisp.org>
8335
8336         gettext: Fix recent mistake.
8337         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
8338
8339 2010-08-29  Bruno Haible  <bruno@clisp.org>
8340
8341         selinux-h: Offer a --without-selinux option.
8342         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
8343         --without-selinux was specified, skip all tests and define
8344         HAVE_SELINUX_SELINUX_H to 0.
8345         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
8346         set LIB_SELINUX to empty.
8347         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
8348         gl_LIBSELINUX. If --without-selinux was specified, replace
8349         selinux/context.h.
8350         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
8351
8352 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8353             Bruno Haible  <bruno@clisp.org>
8354
8355         Make the module 'realloc-gnu' work again on AIX and OSF/1.
8356         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
8357         of HAVE_REALLOC.
8358         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
8359         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
8360         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
8361         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
8362
8363 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8364             Bruno Haible  <bruno@clisp.org>
8365
8366         Make the module 'calloc-gnu' work again on AIX and OSF/1.
8367         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
8368         HAVE_CALLOC.
8369         * lib/xmalloc.c: Update accordingly.
8370         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
8371         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
8372         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
8373
8374 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8375             Bruno Haible  <bruno@clisp.org>
8376
8377         Make the module 'malloc-gnu' work again on AIX and OSF/1.
8378         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
8379         HAVE_MALLOC.
8380         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
8381         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
8382         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
8383
8384 2010-08-29  Bruno Haible  <bruno@clisp.org>
8385
8386         Update modules list.
8387         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
8388         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
8389         (String handling <string.h>): Add astrxfrm.
8390         (File system functions): Add readlinkat.
8391
8392 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8393
8394         Tests for module 'realloc-gnu'.
8395         * modules/realloc-gnu-tests: New file.
8396         * tests/test-realloc-gnu.c: New file.
8397
8398         Tests for module 'calloc-gnu'.
8399         * modules/calloc-gnu-tests: New file.
8400         * tests/test-calloc-gnu.c: New file.
8401
8402         Tests for module 'malloc-gnu'.
8403         * modules/malloc-gnu-tests: New file.
8404         * tests/test-malloc-gnu.c: New file.
8405
8406 2010-08-28  Bruno Haible  <bruno@clisp.org>
8407
8408         Rename module 'realloc' -> 'realloc-gnu'.
8409         * modules/realloc-gnu: New file, copied from modules/realloc.
8410         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
8411         obsolete.
8412         * modules/mgetgroups (Depends-on): Update.
8413         * doc/posix-functions/realloc.texi: Update.
8414         * NEWS: Mention the change.
8415
8416         Rename module 'calloc' -> 'calloc-gnu'.
8417         * modules/calloc-gnu: New file, copied from modules/calloc.
8418         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
8419         obsolete.
8420         * doc/posix-functions/calloc.texi: Update.
8421         * NEWS: Mention the change.
8422
8423         Rename module 'malloc' -> 'malloc-gnu'.
8424         * modules/malloc-gnu: New file, copied from modules/malloc.
8425         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
8426         obsolete.
8427         * modules/argp (Depends-on): Update.
8428         * modules/regex (Depends-on): Update.
8429         * doc/posix-functions/malloc.texi: Update.
8430         * NEWS: Mention the change.
8431
8432 2010-08-28  Eric Blake  <eblake@redhat.com>
8433
8434         pread, pwrite: add missing dependency
8435         * modules/pread (Depends-on): Add extensions.
8436         * modules/pwrite (Depends-on): Likewise.
8437
8438 2010-08-28  Bruno Haible  <bruno@clisp.org>
8439
8440         unistr/u*-strchr: Fix tests dependencies.
8441         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
8442         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
8443         Reported by Ian Beckwith <ianb@erislabs.net>.
8444
8445 2010-08-28  Bruno Haible  <bruno@clisp.org>
8446
8447         read-file: Don't occupy too much unused memory.
8448         * lib/read-file.c (fread_file): Shrink the buffer at the end.
8449
8450 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
8451             Eric Blake  <eblake@redhat.com>
8452             Bruno Haible  <bruno@clisp.org>
8453
8454         read-file: Avoid memory reallocations with regular files.
8455         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
8456         (fread_file): With regular files, use the remaining length as the
8457         initial buffer size.  Check against overflow.
8458         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
8459         sys_stat.
8460
8461 2010-08-28  Bruno Haible  <bruno@clisp.org>
8462
8463         ftello: Relax license.
8464         * modules/ftello (License): Relax to LGPLv2+.
8465         Reported by Eric Blake.
8466
8467 2010-08-28  Bruno Haible  <bruno@clisp.org>
8468
8469         Avoid relocwrapper link errors due to gnulib replacement functions.
8470         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
8471         function.
8472         Reported by Ben Pfaff <blp@cs.stanford.edu>.
8473
8474 2010-08-28  Bruno Haible  <bruno@clisp.org>
8475
8476         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
8477         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
8478         defined.
8479         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
8480         Suggested by Eric Blake.
8481
8482 2010-08-28  Bruno Haible  <bruno@clisp.org>
8483
8484         sys_socket, netdb: Ensure socklen_t gets defined.
8485         * modules/sys_socket (Depends-on): Add socklen.
8486         * modules/netdb (Depends-on): Likewise.
8487         * modules/getaddrinfo (Depends-on): Remove socklen.
8488         * modules/getsockopt (Depends-on): Likewise.
8489         * modules/setsockopt (Depends-on): Likewise.
8490         * tests/test-sys_socket.c: Check that socklen_t is defined.
8491         * tests/test-netdb.c: Likewise.
8492         * m4/socklen.m4: Update comments.
8493         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8494
8495 2010-08-27  Eric Blake  <eblake@redhat.com>
8496
8497         login_tty: add missing dependency
8498         * modules/login_tty (Depends-on): Add pty.
8499
8500 2010-08-26  Eric Blake  <eblake@redhat.com>
8501
8502         lib-symbol-versions: fix m4 quoting
8503         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
8504         format for AC_LINK_IFELSE.
8505
8506         glob: fix compile test
8507         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
8508
8509         btowc: fix missing file
8510         * modules/btowc (Files): Also ship locale-fr.m4.
8511
8512         lseek: fix link test
8513         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
8514         AC_LINK_IFELSE.
8515
8516         include_next: silence autoconf 2.68 warning
8517         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
8518         AC_COMPILE_IFELSE as special.
8519         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
8520         autoconf < 2.68.
8521
8522         acl: fix compilation test
8523         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
8524         AC_COMPILE_IFELSE.
8525
8526 2010-08-26  Bruno Haible  <bruno@clisp.org>
8527
8528         Modernize AC_TRY_RUN invocations.
8529         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
8530         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
8531         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
8532         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
8533         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
8534         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
8535         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
8536         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
8537         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
8538         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
8539         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
8540         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
8541         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
8542         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
8543         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
8544         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
8545         gl_MBRLEN_NUL_RETVAL): Likewise.
8546         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
8547         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
8548         Likewise.
8549         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
8550         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
8551         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
8552         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
8553         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
8554         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
8555         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
8556         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
8557         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
8558         Likewise.
8559         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
8560         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
8561         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
8562         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
8563         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8564         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
8565         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
8566         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
8567         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
8568         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8569
8570 2010-08-26  Bruno Haible  <bruno@clisp.org>
8571
8572         Modernize AC_TRY_LINK invocations.
8573         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
8574         AC_TRY_LINK.
8575         * m4/argp.m4 (gl_ARGP): Likewise.
8576         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
8577         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
8578         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
8579         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
8580         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
8581         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
8582         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
8583         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
8584         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
8585         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
8586         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
8587         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
8588         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
8589         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
8590         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
8591         * m4/hostent.m4 (gl_HOSTENT): Likewise.
8592         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
8593         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
8594         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
8595         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
8596         Likewise.
8597         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
8598         Likewise.
8599         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
8600         Likewise.
8601         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
8602         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
8603         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
8604         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
8605         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
8606         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
8607         * m4/servent.m4 (gl_SERVENT): Likewise.
8608         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
8609         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
8610         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
8611         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
8612         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
8613         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
8614         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8615         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8616         * modules/tsearch-tests (configure.ac): Likewise.
8617
8618 2010-08-26  Bruno Haible  <bruno@clisp.org>
8619
8620         Modernize AC_TRY_COMPILE invocations.
8621         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
8622         AC_TRY_COMPILE.
8623         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
8624         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
8625         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
8626         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
8627         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
8628         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
8629         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
8630         * m4/lock.m4 (gl_LOCK): Likewise.
8631         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
8632         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
8633         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
8634         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
8635         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
8636         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
8637         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
8638         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
8639         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
8640         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
8641         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
8642         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
8643         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
8644         extraneous semicolon.
8645
8646 2010-08-26  Jim Meyering  <meyering@redhat.com>
8647
8648         stat-time: relax license LGPL
8649         * modules/stat-time (License): Change from GPL to LGPL,
8650         with consent from all contributors, for use in libguile.
8651         Requested by Ludovic Courtès.
8652
8653 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
8654
8655         poll: return immediately on POLLHUP.
8656         * lib/poll.c (poll): Always set timeout before wait_timeout is
8657         computed.
8658
8659 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8660
8661         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
8662         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
8663         rmdir ("dir/.//"), unlinkat.
8664
8665 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
8666
8667         stdbool: avoid spurious failure with modern xlc
8668         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
8669
8670 2010-08-24  Bruno Haible  <bruno@clisp.org>
8671
8672         getloadavg: simplify code
8673         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
8674         gl_have_func. Update comments.
8675
8676 2010-08-24  Eric Blake  <eblake@redhat.com>
8677
8678         getloadavg: don't define SVR4 on cygwin
8679         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
8680         only define SVR4 when -lkvm is required.
8681         Reported by Yaakov Selkowitz.
8682
8683 2010-08-24  Bruno Haible  <bruno@clisp.org>
8684
8685         priv-set: fix comment
8686         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
8687
8688 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
8689
8690         priv-set: fix comments
8691         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
8692         to match code, as suggested by David Bartley in:
8693         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
8694
8695 2010-08-23  Eric Blake  <eblake@redhat.com>
8696
8697         stdbool: avoid rejecting clang
8698         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
8699         * tests/test-stdbool.c: Enable more tests if using the system
8700         <stdbool.h> instead of the gnulib replacement.
8701         (main): Move xlc bug test to a runtime test for all compilers.
8702         Reported by Anders Kaseorg.
8703
8704         argz: fix shell quoting issue
8705         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
8706         Reported by Charles Wilson.
8707
8708 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
8709             Erik Faye-Lund <kusmabite@gmail.com>
8710
8711         poll, select: handle ERROR_BROKEN_PIPE.
8712         * lib/poll.c (win32_compute_revents): Return POLLHUP when
8713         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
8714         * lib/select.c (win32_compute_revents): Do not mark a pipe
8715         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
8716
8717 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
8718
8719         fts: allow compilation with C++
8720         * lib/fts_.h: Specify extern "C" linkage with C++.
8721
8722 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8723
8724         Fix gnulib-tool sed script de-commentation for AIX sed.
8725         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
8726         sed.
8727
8728 2010-08-17  Eric Blake  <eblake@redhat.com>
8729
8730         test-stddef: test for (some) offsetof bugs
8731         * tests/test-stddef.c: Enhance test to ensure correct type of
8732         offsetof.
8733         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
8734         that we are not fixing at this time.
8735
8736 2010-08-15  Bruno Haible  <bruno@clisp.org>
8737
8738         stpncpy: Allow stpncpy to be defined as a macro.
8739         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
8740         if it's already correctly declared.
8741         * lib/string.in.h (stpncpy): Undefine before redefining.
8742         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
8743
8744 2010-08-14  Bruno Haible  <bruno@clisp.org>
8745
8746         Rename module 'memxfrm' to 'amemxfrm'.
8747         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
8748         (amemxfrm): Renamed from memxfrm.
8749         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
8750         (amemxfrm): Renamed from memxfrm.
8751         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
8752         * NEWS: Mention the change.
8753         * MODULES.html.sh (String handling <string.h>): Update.
8754         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
8755         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
8756         * lib/unicase/u16-casexfrm.c: Likewise.
8757         * lib/unicase/u32-casexfrm.c: Likewise.
8758         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
8759         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
8760         * lib/uninorm/u16-normxfrm.c: Likewise.
8761         * lib/uninorm/u32-normxfrm.c: Likewise.
8762         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
8763         memxfrm.
8764         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
8765         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
8766         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
8767         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
8768         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
8769         Suggested by Paul Eggert.
8770
8771 2010-08-14  Bruno Haible  <bruno@clisp.org>
8772
8773         Tests for module 'astrxfrm'.
8774         * modules/astrxfrm-tests: New file.
8775         * tests/test-astrxfrm.c: New file.
8776
8777         New module 'astrxfrm'.
8778         * lib/astrxfrm.h: New file.
8779         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
8780         * modules/astrxfrm: New file.
8781
8782 2010-08-14  Reuben Thomas <rrt@sc3d.org>
8783
8784         regex: Tweak doc.
8785         * doc/regex.texi (Overview): Don't mention regex.c.
8786         (GNU Regular Expression Compiling): Likewise.
8787         (Match-end-of-line Operator): Mention 'not_eol'.
8788
8789 2010-08-14  Brian Gough  <bjg@gnu.org>
8790             Bruno Haible  <bruno@clisp.org>
8791
8792         git-merge-changelog: add doc relating to use with bzr and hg.
8793         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
8794
8795 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
8796
8797         pthread: fix pthread.h creation for srcdir != builddir
8798         * modules/pthread (Makefile.am): Fix the rule to work also in a
8799         non-srcdir build.
8800
8801 2010-08-13  Karl Berry  <karl@gnu.org>
8802
8803         * doc/regex.texi (Predefined Syntaxes): @smallexample.
8804         * doc/posix-*/*: force line break before @url of POSIX
8805         specifications.
8806         Suggested by Werner Lemberg.
8807
8808 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
8809
8810         strtod: fix const diagnostic
8811         * lib/strtod.c (strtod): Don't assign const char * to char *,
8812         as this elicits a warning from GCC when warnings are enabled.
8813
8814 2010-08-10  Pádraig Brady <P@draigbrady.com>
8815         and Eric Blake  <eblake@redhat.com>
8816
8817         copy-acl: ignore ENOTSUP on HP-UX
8818         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
8819         so that it is available for HP-UX.
8820         * lib/copy-acl.c (qcopy_acl): Use it.
8821         Reported by Patrick M. Callahan.
8822
8823 2010-08-10  Eric Blake  <eblake@redhat.com>
8824
8825         open, chown: relax license
8826         * modules/open (License): Change to LGPLv2+, with consent by all
8827         authors, for use in augeas.
8828         * modules/chown (License): Likewise.
8829         * modules/lchown (Likewise): Likewise.
8830         Requested by Adam Stokes.
8831
8832 2010-08-09  Karl Berry  <karl@gnu.org>
8833
8834         * build-aux/ar-lib: new file, import from Automake.
8835         * config/srclist.txt: autocheck for updates.
8836
8837 2010-08-09  Eric Blake  <eblake@redhat.com>
8838
8839         readlinkat: adjust client modules
8840         * modules/areadlinkat (Depends-on): Use readlinkat, not
8841         symlinkat.
8842         * modules/areadlinkat-with-size (Depends-on): Likewise.
8843
8844         mknod: be more vocal about danger of running tests as root
8845         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
8846         root, since that is just asking for problems.
8847         Suggested by Bruno Haible, based on a report by Rainer Tammer.
8848
8849         readlinkat: split into its own module
8850         * modules/symlinkat: Split readlinkat...
8851         * modules/readlinkat: ...into separate module.
8852         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
8853         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
8854         * lib/symlinkat.c (readlinkat): Move...
8855         * lib/readlinkat.c: ...into new file.
8856         * modules/symlinkat-tests: Split readlinkat test...
8857         * modules/readlinkat-tests: ...into separate module.
8858         * tests/test-symlinkat.c: Split...
8859         * tests/test-readlinkat.c: ...into new file.
8860         * NEWS: Document the split.
8861         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
8862         * lib/unistd.in.h (readlinkat): Likewise.
8863         Suggested by Bruno Haible.
8864
8865 2010-08-08  Bruno Haible  <bruno@clisp.org>
8866
8867         memxfrm: Speed up.
8868         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
8869         that usually only one call to strxfrm is necessary for each string
8870         part.
8871         Reported by Paul Eggert <eggert@cs.ucla.edu>.
8872
8873 2010-08-07  Karl Berry  <karl@gnu.org>
8874
8875         * doc/posix-headers/limits.texi,
8876         * doc/posix-functions/malloc.texi,
8877         * doc/posix-functions/strsignal.texi: missing @item.
8878         * doc/ld-version-script.texi: spurious leading i.
8879         * doc/regex.texi (Interval Operators): no commas inside @var.
8880
8881 2010-08-01  Bruno Haible  <bruno@clisp.org>
8882
8883         Integrate the regex documentation.
8884         * doc/gnulib.texi: Define 'cn' index.
8885         (Regular expressions): New a chapter that includes regex.texi and
8886         regexprops-generic.texi.
8887         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
8888         syntax.
8889
8890         Whitespace cleanup.
8891         * doc/regex.texi: Remove trailing spaces.
8892
8893         Add regex documentation.
8894         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
8895         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
8896         Written by Kathy A. Hargreaves and Karl Berry.
8897
8898 2010-08-01  Bruno Haible  <bruno@clisp.org>
8899
8900         link: Update documentation.
8901         * doc/posix-functions/link.texi: Update regarding Solaris.
8902
8903 2010-07-31  Bruno Haible  <bruno@clisp.org>
8904
8905         Update modules list.
8906         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
8907         (String handling <string.h>): Add memcmp2, memxfrm.
8908         (Container data structures): Add xlist, xsublist, xoset.
8909         (Core language properties): Add alignof, unused-parameter.
8910         (Process control, Numeric conversion functions <stdlib.h>): Renamed
8911         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
8912         (Unibyte characters <ctype.h>): New section.
8913         (String handling <string.h>): New section.
8914         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
8915         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
8916         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
8917         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
8918         tan, tanh, tanl, y0, y1, yn.
8919         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
8920         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
8921         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
8922         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
8923         unlockpt, vdprintf, vdprintf-posix.
8924         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
8925         (File system functions): Add concat-filename, sys_file, sys_ioctl,
8926         xconcat-filename.
8927         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
8928         getdtablesize, pipe2, pipe2-safer.
8929         (Security): New section.
8930         (Networking functions): Add accept4.
8931         (Signal handling): Add sigpipe.
8932         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
8933         mbmemcasecoll.
8934         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
8935         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
8936         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
8937         pipe-filter-ii.
8938         (Misc): Add argp-version-etc, login_tty, parse-duration.
8939
8940 2010-07-31  Bruno Haible  <bruno@clisp.org>
8941
8942         Improve doc in MODULES.html.
8943         * modules/linkat (Description): Add the word "function".
8944         * modules/mkfifo (Description): Likewise.
8945         * modules/mknod (Description): Likewise.
8946         * modules/remove (Description): Likewise.
8947         * modules/renameat (Description): Likewise.
8948         * modules/stat (Description): Likewise.
8949         * modules/symlink (Description): Likewise.
8950         * modules/unlink (Description): Likewise.
8951
8952 2010-07-31  Bruno Haible  <bruno@clisp.org>
8953
8954         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
8955         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
8956         option --enable/disable-c++ instead of --enable/disable-cxx.
8957         * NEWS: Mention the change.
8958
8959 2010-07-31  Bruno Haible  <bruno@clisp.org>
8960
8961         readlink, areadlink: Relax test a bit.
8962         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
8963         alternative to ENOTDIR.
8964         * tests/test-areadlink.h (test_areadlink): Likewise.
8965         Reported by Rainer Tammer.
8966
8967 2010-07-31  Bruno Haible  <bruno@clisp.org>
8968
8969         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
8970         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
8971         character, perform the search using U_STRCHR.
8972         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
8973         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
8974         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
8975         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
8976         Suggested by Paolo Bonzini.
8977
8978 2010-07-31  Bruno Haible  <bruno@clisp.org>
8979
8980         unistr/u*-strstr: Fix dependencies.
8981         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
8982         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
8983         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
8984
8985 2010-07-31  Bruno Haible  <bruno@clisp.org>
8986
8987         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
8988         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
8989         the beginning of the loop.
8990         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
8991         cases in 'switch' statement.
8992
8993         unistr/u8-strchr: Fix several bugs.
8994         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
8995         the string. When not found, return NULL, not a pointer near the end.
8996
8997         More tests for unistr/u8-strchr.
8998         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
8999         that the function does not read past the first occurrence of the byte
9000         being searched.
9001         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
9002         * tests/unistr/test-u16-strchr.c (main): New function.
9003         * tests/unistr/test-u32-strchr.c (main): New function.
9004
9005 2010-07-31  Bruno Haible  <bruno@clisp.org>
9006
9007         posix-modules: Ignore backup files of documentation files.
9008         * posix-modules: grep only through files named *.texi.
9009
9010 2010-07-31  Bruno Haible  <bruno@clisp.org>
9011
9012         symlinkat: Fix documentation.
9013         * doc/posix-functions/readlinkat.texi: Fix module name.
9014
9015 2010-07-31  Bruno Haible  <bruno@clisp.org>
9016
9017         fchownat: Replace also when chown has the trailing slash bug.
9018         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
9019         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
9020         introduced on 2010-04-10.
9021         Reported by Rainer Tammer.
9022
9023 2010-07-31  Bruno Haible  <bruno@clisp.org>
9024
9025         linkat: Work around AIX 7.1 bug.
9026         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
9027         whether linkat handles trailing slash correctly. If not, replace linkat
9028         and define LINKAT_TRAILING_SLASH_BUG.
9029         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
9030         check whether (fd1,file1) points to a directory if file1 or file2 ends
9031         in a slash. Code taken from lib/link.c.
9032         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
9033         Reported by Rainer Tammer.
9034
9035 2010-07-31  Bruno Haible  <bruno@clisp.org>
9036
9037         Correctly determine whether pow is available in libc on AIX 7 with xlc.
9038         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
9039         This disables an xlc optimization that was causing wrong test results.
9040         Reported by Rainer Tammer.
9041
9042 2010-07-31  Bruno Haible  <bruno@clisp.org>
9043
9044         iconv: Work around AIX 6.1..7.1 bug.
9045         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
9046         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
9047         cross-compiling, guess no on all versions of AIX.
9048         Reported by Rainer Tammer.
9049
9050 2010-07-31  Bruno Haible  <bruno@clisp.org>
9051
9052         readlink: Relax test a bit.
9053         * tests/test-readlink.h (test_readlink): Allow different errno value
9054         when readlink is called with a file name that ends in / and refers to
9055         a file.
9056         Suggested by Eric Blake.
9057         Reported by Rainer Tammer.
9058
9059 2010-07-31  Bruno Haible  <bruno@clisp.org>
9060
9061         copysign: Does not require -lm on glibc systems.
9062         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
9063         gl_COMMON_DOUBLE_MATHFUNC.
9064         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
9065
9066 2010-07-31  Bruno Haible  <bruno@clisp.org>
9067
9068         duplocale: Work around AIX 7.1 bug.
9069         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
9070         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
9071         * lib/duplocale.c (rpl_duplocale): Update comment.
9072         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
9073         Reported by Rainer Tammer.
9074
9075 2010-07-30  Bruno Haible  <bruno@clisp.org>
9076
9077         dirfd: Avoid link error on AIX 7.1.
9078         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
9079         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
9080         exist, set REPLACE_DIRFD.
9081         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
9082         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
9083         * doc/posix-functions/dirfd.texi: Update.
9084         Reported by Rainer Tammer.
9085
9086 2010-07-30  Eric Blake  <eblake@redhat.com>
9087
9088         strtod: next round of AIX fixes
9089         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
9090         exponent.
9091         * tests/test-strtod.c (main): Enhance tests.
9092         * doc/posix-functions/strtod.texi (strtod): Document next bug.
9093         Reported by Rainer Tammer.
9094
9095         futimens: fix configure check
9096         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
9097         Reported by Bruno Haible.
9098
9099 2010-07-30  Bruno Haible  <bruno@clisp.org>
9100
9101         getline: Update regarding AIX.
9102         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
9103         Reported by Rainer Tammer.
9104
9105 2010-07-30  Bruno Haible  <bruno@clisp.org>
9106
9107         wcwidth: Drop replacement on AIX 7.
9108         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
9109         AIX 7.
9110         Reported by Rainer Tammer.
9111
9112 2010-07-30  Bruno Haible  <bruno@clisp.org>
9113
9114         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
9115         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
9116         a 'char *'.
9117         Reported by Rainer Tammer.
9118
9119 2010-07-30  Bruno Haible  <bruno@clisp.org>
9120
9121         unlink: Update regarding AIX.
9122         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
9123         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
9124         Reported by Rainer Tammer.
9125
9126 2010-07-30  Bruno Haible  <bruno@clisp.org>
9127
9128         symlink: Update regarding AIX.
9129         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
9130         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
9131         Reported by Rainer Tammer.
9132
9133 2010-07-30  Bruno Haible  <bruno@clisp.org>
9134
9135         strndup: Update regarding AIX.
9136         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
9137         AIX 7.
9138         Reported by Rainer Tammer.
9139
9140 2010-07-30  Bruno Haible  <bruno@clisp.org>
9141
9142         stat: Update regarding AIX.
9143         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
9144         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
9145         Reported by Rainer Tammer.
9146
9147 2010-07-30  Bruno Haible  <bruno@clisp.org>
9148
9149         truncl: Fix autoconf test.
9150         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
9151         whether truncl works.
9152         Reported by Rainer Tammer.
9153
9154 2010-07-30  Bruno Haible  <bruno@clisp.org>
9155
9156         round: Update regarding AIX.
9157         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
9158         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
9159         Reported by Rainer Tammer.
9160
9161 2010-07-30  Bruno Haible  <bruno@clisp.org>
9162
9163         rename: Update regarding AIX.
9164         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
9165         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
9166         Reported by Rainer Tammer.
9167
9168 2010-07-30  Bruno Haible  <bruno@clisp.org>
9169
9170         printf.m4: Update regarding AIX.
9171         * m4/printf.m4: Update comments regarding AIX.
9172         Reported by Rainer Tammer.
9173
9174 2010-07-30  Bruno Haible  <bruno@clisp.org>
9175
9176         iconv: Update regarding AIX.
9177         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
9178         AIX 7.
9179         Reported by Rainer Tammer.
9180
9181 2010-07-30  Bruno Haible  <bruno@clisp.org>
9182
9183         getopt: Update regarding AIX.
9184         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
9185         no on AIX.
9186         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
9187         Reported by Rainer Tammer.
9188
9189 2010-07-30  Bruno Haible  <bruno@clisp.org>
9190
9191         ldexpl; Update regarding AIX.
9192         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
9193         on AIX 7.
9194         Reported by Rainer Tammer.
9195
9196 2010-07-30  Bruno Haible  <bruno@clisp.org>
9197
9198         frexpl: Update regarding AIX.
9199         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
9200         on AIX 7.
9201         Reported by Rainer Tammer.
9202
9203 2010-07-30  Bruno Haible  <bruno@clisp.org>
9204
9205         open, fopen: Update regarding AIX.
9206         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
9207         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
9208         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
9209         * doc/posix-functions/fopen.texi: Likewise.
9210         Reported by Rainer Tammer.
9211
9212 2010-07-30  Bruno Haible  <bruno@clisp.org>
9213
9214         chown: Update doc regarding AIX.
9215         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
9216         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
9217         Reported by Rainer Tammer.
9218
9219 2010-07-30  Eric Blake  <eblake@redhat.com>
9220
9221         strtod: fix bug in replacement function on AIX
9222         * lib/strtod.c (strtod): Special case broken "0x" parse in
9223         underlying strtod.
9224         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
9225         * doc/posix-functions/strtod.texi (strtod): Likewise.
9226         Reported by Rainer Tammer.
9227
9228 2010-07-30  Bruno Haible  <bruno@clisp.org>
9229
9230         mbrlen: Fix cross-compilation guess for AIX.
9231         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
9232         guess. Leftover from 2008-12-22.
9233
9234 2010-07-30  Bruno Haible  <bruno@clisp.org>
9235
9236         mbrtowc: Fix cross-compilation guess for AIX.
9237         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
9238         guess. Leftover from 2008-12-21.
9239
9240 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
9241
9242         init.sh: work around trap limitation of some shells
9243         * tests/init.sh (setup_): Move exit trap outside of shell function.
9244
9245 2010-07-29  Eric Blake  <eblake@redhat.com>
9246
9247         strtod: aid debugging
9248         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
9249         understanding why strtod is rejected.
9250
9251 2010-07-28  Bruno Haible  <bruno@clisp.org>
9252
9253         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
9254         * lib/unistr/u8-chr.c: Include <string.h>.
9255         * tests/unistr/test-u8-chr.c: Likewise.
9256         * tests/unistr/test-u16-chr.c: Likewise.
9257         * tests/unistr/test-u32-chr.c: Likewise.
9258         * tests/unistr/test-u8-strchr.c: Likewise.
9259         * tests/unistr/test-u16-strchr.c: Likewise.
9260         * tests/unistr/test-u32-strchr.c: Likewise.
9261         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
9262         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
9263         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
9264         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
9265
9266 2010-07-28  Bruno Haible  <bruno@clisp.org>
9267
9268         Use spaces for indentation, not tabs.
9269         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
9270
9271 2010-07-27  Bruno Haible  <bruno@clisp.org>
9272
9273         mbspcasecmp: Fix function specification.
9274         * lib/string.in.h (mbspcasecmp): Fix specification comment.
9275         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
9276         Reported by Eric Blake <eblake@redhat.com>.
9277
9278 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
9279
9280         timespec: use cast and not conditional, as truncation isn't possible
9281         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
9282         instead of a conditional.  Comment about the situation in more detail.
9283         This undoes most of the 2009-10-29 patch.
9284
9285 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
9286
9287         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
9288         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
9289         * lib/unistr/u8-strchr.c: Likewise.
9290         * modules/unistr/u8-chr: Depend on memchr.
9291
9292         unistr/u*-strchr: add tests
9293         * modules/unistr/u8-strchr-tests: New file.
9294         * modules/unistr/u16-strchr-tests: New file.
9295         * modules/unistr/u32-strchr-tests: New file.
9296         * tests/unistr/test-strchr.h: New file.
9297         * tests/unistr/test-u8-strchr.c: New file.
9298         * tests/unistr/test-u16-strchr.c: New file.
9299         * tests/unistr/test-u32-strchr.c: New file.
9300
9301         unistr/u*-chr: test multibyte sequences more
9302         * tests/unistr/test-chr.h: Do complete testing of the characters in the
9303         test vector.
9304         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
9305         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
9306         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
9307
9308         unistr/u*-chr: test multibyte sequences
9309         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
9310
9311         unistr/u*-chr: prepare for multibyte tests
9312         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
9313         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
9314         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
9315         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
9316         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
9317         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
9318
9319 2010-07-18  Bruno Haible  <bruno@clisp.org>
9320
9321         unistr/u8-strchr: Optimize non-ASCII argument case.
9322         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
9323         because the first byte often matches anyway.
9324         Reported by Pádraig Brady <P@draigbrady.com>.
9325
9326 2010-07-15  Karl Berry  <karl@gnu.org>
9327
9328         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
9329
9330 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
9331
9332         getcwd: on Solaris, work better if ancestors are inaccessible
9333         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
9334         buffer and size, try again with a large buffer.  This works better
9335         on Solaris, since its getcwd succeeds even if the path to the root
9336         is inaccessible, and this is helpful in common cases such as .zfs
9337         hidden directories.  Problem reported by J Chapman Flack in
9338         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
9339         Use system getcwd if it's declared, not merely if it's partly
9340         working; use the partly-working test only to avoid needless effort
9341         if the system getcwd fails.
9342         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
9343         comment that was already obsolete and is now even more obsolete.
9344         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
9345         now might call strdup.
9346
9347 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
9348
9349         pthread: Add enough so that coreutils/src/sort.c compiles.
9350         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
9351         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
9352         gnulib. Include <sched.h> and <time.h>, as per POSIX.
9353         Include <sys/types.h>, in case it defines pthread_t.
9354         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
9355         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
9356         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
9357         (pthread_rwlockattr_t, pthread_spinlock_t):
9358         New typedefs, if HAVE_PTHREAD_T is not defined.
9359         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
9360         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
9361         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
9362         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
9363         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
9364         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
9365         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
9366         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
9367         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
9368         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
9369         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
9370         New macros.
9371         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
9372         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
9373         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
9374         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
9375         (pthread_spin_unlock): New dummy functions.
9376         (pthread_create): Return EAGAIN; don't set errno.
9377         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
9378         require AC_C_INLINE.
9379         * modules/pthread (Depends-on): Add sched, time.
9380         (pthread.h): Use AM_V_GEN.
9381
9382 2010-07-13  Bruno Haible  <bruno@clisp.org>
9383
9384         striconveh: Don't malloc memory if the result buffer is sufficient.
9385         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
9386         buffer if its size is sufficient.
9387         Reported by Ludovic Courtès <ludo@gnu.org>.
9388
9389 2010-07-13  Bruno Haible  <bruno@clisp.org>
9390
9391         strtod: Add safety check.
9392         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
9393
9394 2010-07-12  Bruno Haible  <bruno@clisp.org>
9395
9396         Unify tests that set gl_cv_func_ldexpl_no_libm.
9397         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
9398         gl_FUNC_LDEXPL.
9399         (gl_FUNC_LDEXPL): Invoke it.
9400         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
9401
9402 2010-07-12  Bruno Haible  <bruno@clisp.org>
9403
9404         Unify tests that set gl_cv_func_ldexp_no_libm.
9405         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
9406         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
9407         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
9408         (configure.ac): Simply invoke gl_FUNC_LDEXP.
9409         * modules/strtod (Files): Add m4/ldexp.m4.
9410
9411 2010-07-12  Bruno Haible  <bruno@clisp.org>
9412
9413         Unify tests that set gl_cv_func_frexpl_no_libm.
9414         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
9415         gl_FUNC_FREXPL_NO_LIBM.
9416         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
9417         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
9418
9419 2010-07-12  Bruno Haible  <bruno@clisp.org>
9420
9421         Unify tests that set gl_cv_func_frexp_no_libm.
9422         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
9423         gl_FUNC_FREXP_NO_LIBM.
9424         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
9425         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
9426
9427 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
9428
9429         memcoll: clarify sizes versus lengths, document better, and tweak perf
9430         * lib/memcoll.c (strcoll_loop, memcoll0):
9431         Improve quality of descriptive comments.  Name variables
9432         consistently as to whether they are lengths (which do not include
9433         terminating null) versus sizes (which do).
9434         * lib/xmemcoll.c (xmemcoll0): Likewise.
9435         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
9436         returned when s1size == 0; this is easier to compile and saves
9437         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
9438
9439 2010-07-12  Bruno Haible  <bruno@clisp.org>
9440
9441         Tests for module '_Exit'.
9442         * modules/_Exit-tests: New file.
9443         * tests/test-_Exit.sh: New file.
9444         * tests/test-_Exit.c: New file.
9445
9446         New module '_Exit'.
9447         * lib/stdlib.in.h (__attribute__): New macro.
9448         (_Exit): New declaration.
9449         * lib/_Exit.c: New file.
9450         * m4/_Exit.m4: New file.
9451         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
9452         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
9453         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
9454         * modules/_Exit: New file.
9455         * tests/test-stdlib-c++.cc (_Exit): Check signature.
9456         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
9457
9458 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
9459
9460         strtod: make it more-accurate typically, and don't require libm
9461         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
9462         Include limits.h.  Don't include string.h.
9463         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
9464         (locale_isspace): New function, so that no casts are needed to
9465         check whether *s is a space.
9466         (ldexp): Provide an unused dummy if not available.
9467         (scale_radix_exp, parse_number, underlying_strtod): New functions.
9468         (strtod): Use them.  This implementation prefers to use the
9469         underlying strtod if available, falling back on our own code
9470         only to fix known bugs.  This is more likely to produce an
9471         accurate result.  Also, it avoids the use of libm functions.
9472         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
9473         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
9474         was absent, but it caused a test failure with coreutils.
9475         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
9476         with libm.
9477         * modules/strtod (Makefile.am, Link): libm is no longer needed.
9478         * modules/strtod-tests (Makefile.am): Likewise.
9479
9480 2010-07-11  Pádraig Brady  <P@draigBrady.com>
9481             Bruno Haible  <bruno@clisp.org>
9482
9483         unistr/u8-strchr: Optimize ASCII argument case.
9484         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
9485
9486 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
9487
9488         (x)memcoll: minor tweaks
9489         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
9490         is after the type that it qualifies.
9491         (memcoll0): Likewise.
9492         * lib/memcoll.h (memcoll0): Likewise.
9493         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
9494         * lib/xmemcoll.h (xmemcoll0): Likewise.
9495         * lib/memcoll.c (memcoll0): Correct the comment.  This function
9496         differs from memcoll in that the NUL byte is part of the argument.
9497         Omit the abort-checks, as performance is a real issue here.  Plus,
9498         the checks were wrong anyway (an off-by-one error).  Omit local
9499         variable 'diff', as it's a bit clearer that way.
9500         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
9501         no longer needed.
9502
9503 2010-07-08  Chen Guo <chenguo4@yahoo.com>
9504
9505         (x)memcoll: speedup when input is known to be NUL delimited
9506         * lib/memcoll.c: Include stdlib.
9507         (memcoll0) New function.
9508         (strcoll_loop) New function, refactored for use in both memcoll
9509         and memcoll0.
9510         * lib/memcoll.h: Add prototype for memcoll0.
9511         * lib/xmemcoll.c: (xmemcoll0) New function.
9512         (collate_error) New function, refactored for use in both xmemcoll
9513         and xmemcoll0.
9514         * lib/xmemcoll.h: Add prototype for xmemcoll0.
9515         * m4/memcoll.m4: add inline invocation.
9516
9517 2010-07-06  Pádraig Brady  <P@draigBrady.com>
9518
9519         * build-aux/bootstrap: Remove any local translations
9520         from the translation project synchronization directory,
9521         so that local only translations are not distributed.
9522
9523 2010-07-04  Bruno Haible  <bruno@clisp.org>
9524
9525         fsusage: Clarify which code applies to which platforms.
9526         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
9527         platform.
9528         * lib/fsusage.c (get_fs_usage): Likewise.
9529
9530 2010-07-04  Bruno Haible  <bruno@clisp.org>
9531
9532         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
9533         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
9534         Reported by Martin Lambers <marlam@marlam.de>.
9535
9536 2010-07-04  Jim Meyering  <meyering@redhat.com>
9537
9538         hash: once again explicitly disallow insertion of NULL
9539         * lib/hash.c (hash_insert0): Reinstate just-removed test:
9540         inserting a NULL pointer cannot work with these functions.
9541         Add a comment with details.
9542         This reverts part of the 2010-07-01 commit, 5bef1a35
9543         "hash: extend module to deal with non-pointer keys".
9544
9545 2010-07-01  Bruno Haible  <bruno@clisp.org>
9546
9547         stdbool: Update doc.
9548         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
9549         Info from Christian Weisgerber <naddy@mips.inka.de>.
9550
9551 2010-07-01  Jim Meyering  <meyering@redhat.com>
9552
9553         hash: extend module to deal with non-pointer keys
9554         * lib/hash.c (hash_insert0): New interface, much like hash_insert
9555         but that allows insertion of non-pointer entries.
9556         Do not disallow an ENTRY value of NULL.
9557         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
9558         * lib/hash.h (hash_insert0): Declare.
9559
9560 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
9561
9562         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
9563         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
9564         not present (i.e. with autoconf 2.59 and when using gettextize, not
9565         gnulib), require AC_GNU_SOURCE instead.
9566
9567 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
9568
9569         idpriv-drop: Fix tests.
9570         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
9571         not to the test-idpriv-droptemp program.
9572
9573 2010-06-29  Bruno Haible  <bruno@clisp.org>
9574
9575         string: Fix syntax error with g++ 2.96.
9576         * lib/string.in.h (__pure__): Remove definition.
9577         (_GL_ATTRIBUTE_PURE): New macro.
9578         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
9579         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
9580         Reported by Christian Weisgerber <naddy@mips.inka.de>.
9581
9582 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
9583
9584         unitypes: Fix bug introduced on 2010-05-18.
9585         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
9586
9587 2010-06-22  Eric Blake  <eblake@redhat.com>
9588
9589         memmem: slight optimization
9590         * lib/str-two-way.h (critical_factorization): Update comments.
9591         Reduce work during factorization phase.
9592         Reported by Carlos Bueno <carlos@bueno.org>.
9593
9594 2010-06-21  Bruno Haible  <bruno@clisp.org>
9595
9596         Fix HAVE_CALLOC_POSIX misnomer.
9597         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
9598         !HAVE_CALLOC_POSIX.
9599         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
9600         HAVE_CALLOC_POSIX.
9601         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
9602         instead of HAVE_CALLOC_POSIX.
9603         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
9604         HAVE_CALLOC_POSIX.
9605
9606         Use modern idiom for calloc() replacement.
9607         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
9608         AC_FUNC_CALLOC.
9609         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
9610         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
9611         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
9612         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
9613         (gl_REPLACE_CALLOC): New macro.
9614
9615 2010-06-21  Bruno Haible  <bruno@clisp.org>
9616
9617         Fix HAVE_REALLOC_POSIX misnomer.
9618         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
9619         !HAVE_REALLOC_POSIX.
9620         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
9621         HAVE_REALLOC_POSIX.
9622         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
9623         instead of HAVE_REALLOC_POSIX.
9624         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
9625         HAVE_REALLOC_POSIX.
9626
9627         Use modern idiom for realloc() replacement.
9628         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
9629         AC_FUNC_REALLOC.
9630         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
9631         Autoconf's AC_FUNC_REALLOC.
9632         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
9633         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
9634         (gl_REPLACE_REALLOC): New macro.
9635         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
9636
9637 2010-06-21  Bruno Haible  <bruno@clisp.org>
9638
9639         Fix HAVE_MALLOC_POSIX misnomer.
9640         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
9641         !HAVE_MALLOC_POSIX.
9642         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
9643         HAVE_MALLOC_POSIX.
9644         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
9645         instead of HAVE_MALLOC_POSIX.
9646         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
9647         HAVE_MALLOC_POSIX.
9648
9649         Use modern idiom for malloc() replacement.
9650         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
9651         AC_FUNC_MALLOC.
9652         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
9653         Autoconf's AC_FUNC_MALLOC.
9654         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
9655         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
9656         (gl_REPLACE_MALLOC): New macro.
9657         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
9658
9659 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
9660
9661         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
9662         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
9663         This macro takes 3 arguments, not 4.
9664
9665 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
9666
9667         ipv6: fix detection under mingw
9668         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
9669         in6_addr.
9670
9671 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
9672
9673         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
9674         that strtod() works when cross-compiling to a glibc version known
9675         to work.
9676
9677 2010-06-15  Bruno Haible  <bruno@clisp.org>
9678
9679         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
9680
9681 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
9682
9683         select: Correct timeout.
9684         * lib/select.c (rpl_select): Compute wait_timeout correctly.
9685
9686 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
9687
9688         git-version-gen: init shell var to avoid env var influence
9689         * build-aux/git-version-gen (v): Init shell var to empty.
9690
9691 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
9692
9693         priv-set: Don't assume that priv.h exists merely because getppriv does.
9694         See Jan Andersen's bug report about AIX 5L in
9695         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
9696         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
9697         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
9698         * lib/priv-set.h: Likewise.
9699         * tests/test-priv-set.c: Likewise.
9700
9701 2010-06-13  Bruno Haible  <bruno@clisp.org>
9702
9703         relocatable: Make it easier to test whether to install wrappers.
9704         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
9705         RELOCATABLE_VIA_WRAPPER.
9706
9707 2010-06-13  Bruno Haible  <bruno@clisp.org>
9708
9709         gnulib-tool: Display specified modules and dependencies differently.
9710         * gnulib-tool (func_show_module_list): New function.
9711         (func_import, func_create_testdir): Invoke it.
9712         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
9713
9714 2010-06-13  Bruno Haible  <bruno@clisp.org>
9715
9716         gnulib-tool: Align code of func_import and func_create_testdir.
9717         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
9718         specified_modules.
9719
9720 2010-06-12  Jim Meyering  <meyering@redhat.com>
9721
9722         test-inttostr: avoid spurious failure on Solaris 9
9723         * tests/test-inttostr.c (main): Skip the test when snprintf fails
9724         to accept "%ju".  Reported by Bruno Haible.
9725
9726 2010-06-11  Jim Meyering  <meyering@redhat.com>
9727
9728         test-sys_socket: mark variables as used more readably
9729         * tests/test-sys_socket.c (main): Mark otherwise unused variables
9730         as "used" explicitly via (void) statement casts.  This is more
9731         readable than using them in an artificial return expression.
9732         Suggestion from Bruno Haible.
9733
9734 2010-06-11  Bruno Haible  <bruno@clisp.org>
9735
9736         Avoid some more warnings from "gcc -Wwrite-strings".
9737         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
9738         to 'const char *'.
9739         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
9740         * tests/test-c-strcasestr.c (main): Likewise.
9741         * tests/test-mbscasestr1.c (main): Likewise.
9742         * tests/test-mbscasestr2.c (main): Likewise.
9743         * tests/test-memmem.c (main): Likewise.
9744         * tests/test-strstr.c (main): Likewise.
9745         * tests/test-strcasestr.c (main): Likewise.
9746
9747 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9748
9749         init.sh: change framework_failure_ to fail with status 99, not 1
9750         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
9751         automake's parallel-tests rule that this is an unexpected failure,
9752         even if the test is listed in XFAIL_TESTS.
9753
9754 2010-06-11  Jim Meyering  <meyering@redhat.com>
9755
9756         test-inttostr: avoid warnings about 4-6KB literal strings
9757         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
9758         Include "macros.h", for its definition of ASSERT.
9759         (CK): s/assert/ASSERT/
9760         * modules/inttostr-tests (Files): Add macros.h.
9761
9762         init.sh: don't use $ME_ or skip_ before they are defined
9763         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
9764         their first uses.  Also hoist their companions: warn_, fail_,
9765         framework_failure_, $stderr_fileno.  Prompted by a patch from
9766         Stefano Lattarini.
9767
9768         test-sys_socket: avoid set-but-not-used warnings from gcc
9769         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
9770         avoid warning about set-but-not-used variables.
9771
9772         test-xvasprintf: avoid 'const' discard warnings
9773         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
9774         "const" when assigning from literal strings.
9775         (test_xasprintf): Add "void" in function argument list to placate
9776         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
9777
9778         tests: avoid compilation warnings in argmatch and exclude tests...
9779         in packages that define ARGMATCH_DIE_DECL, like coreutils.
9780         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
9781         Since it always exits, declare with the "noreturn" attribute.
9782         * tests/test-argmatch.c: Likewise.
9783
9784         tests: avoid 'const' discard warnings in mbsstr tests
9785         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
9786         * tests/test-mbsstr2.c (main): Likewise.
9787
9788         test-verify: avoid warning from gcc's -Wmissing-declarations
9789         * tests/test-verify.c (function): Declare to be static.
9790
9791         test-inttostr.c: include <string.h> for use of strcmp
9792         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
9793
9794         test-linkat: avoid failed assertion on "other" architectures
9795         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
9796         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
9797         sparc: https://bugs.launchpad.net/bugs/591968
9798
9799 2010-06-11  Jim Meyering  <meyering@redhat.com>
9800
9801         printf.m4: avoid autoconf's "Expanded Before Required" warning
9802         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
9803         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
9804         autoconf warning.
9805
9806 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
9807
9808         Replacement header templates are now named with ".in", not "_".
9809         * doc/gnulib-intro.texi: Correct.
9810
9811 2010-06-10  Jim Meyering  <meyering@redhat.com>
9812
9813         inttostr-tests: depend on snprintf, not snprintf-posix
9814         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
9815         snprintf-posix, to avoid this aclocal failure:
9816           missing file gnulib-tests/vasnprintf.c
9817           configure.ac:45: error: expected source file, required through \
9818           AC_LIBSOURCES, not found
9819
9820 2010-06-10  Jim Meyering  <meyering@redhat.com>
9821
9822         inttostr: add a new function, inttostr, and tests
9823         The namesake function was not available.  The existence of the
9824         template file, inttostr.c makes its addition nontrivial.
9825         * lib/anytostr.c: Rename from inttostr.c.
9826         (anytostr): Rename from inttostr.
9827         * lib/inttostr.c: New file.
9828         * modules/inttostr (Files): Add anytostr.c.
9829         (Makefile.am): Set lib_SOURCES instead of ...
9830         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
9831         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
9832         * lib/offtostr.c: Likewise.
9833         * lib/uinttostr.c: Likewise.
9834         * lib/umaxtostr.c: Likewise.
9835         * modules/inttostr-tests: New file.
9836         * tests/test-inttostr.c: New file.  Test these functions.
9837
9838 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
9839             Bruno Haible  <bruno@clisp.org>
9840
9841         Add "Extending Gnulib" chapter to manual.
9842         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
9843         chapter.
9844         (Extending Gnulib): New chapter.
9845         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
9846         chapter.
9847
9848 2010-06-09  Bruno Haible  <bruno@clisp.org>
9849
9850         Avoid relocwrapper link errors due to gnulib replacement functions.
9851         * lib/areadlink.c: Use the system's malloc, realloc functions.
9852         (areadlink): Set errno to ENOMEM explicitly.
9853         * modules/areadlink (Depends-on): Remove malloc-posix.
9854         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9855
9856 2010-06-09  Bruno Haible  <bruno@clisp.org>
9857
9858         Avoid relocwrapper link errors due to gnulib replacement functions.
9859         * lib/canonicalize-lgpl.c: Use the system's malloc function.
9860         * lib/malloca.c: Likewise.
9861         * lib/relocatable.c: Likewise.
9862         * lib/progreloc.c: Use the system's malloc, sprintf functions.
9863         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
9864         * lib/setenv.c: Use the system's malloc, realloc functions.
9865         * lib/strerror.c: Use the system's sprintf function.
9866         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9867
9868 2010-06-04  Bruno Haible  <bruno@clisp.org>
9869
9870         Prefer documented low-level autoconf macro names.
9871         * m4/lib-link.m4: Use m4_translit instead of translit.
9872         * m4/environ.m4: Likewise.
9873         * m4/mathfunc.m4: Likewise.
9874         * m4/onceonly.m4: Likewise.
9875         * m4/stdint.m4: Likewise.
9876         Suggested by Eric Blake.
9877
9878 2010-06-04  Martin Lambers  <marlam@marlam.de>
9879             Bruno Haible  <bruno@clisp.org>
9880
9881         havelib: Allow library names with '+' characters.
9882         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
9883         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
9884
9885 2010-06-09  Bruno Haible  <bruno@clisp.org>
9886
9887         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
9888         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
9889         realloc failed.
9890
9891 2010-06-08  Peter Simons  <simons@cryp.to>
9892
9893         maint.mk: make the news-check rule more configurable
9894         * top/maint.mk (news-check-lines-spec) New variable.
9895         (news-check): Use "sed -n 1,10p" in place of "head".
9896
9897 2010-06-07  Jim Meyering  <meyering@redhat.com>
9898
9899         do-release-commit-and-tag: fix typo in --help
9900         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
9901
9902         regex: avoid new dead-code warning with gcc-4.6.0
9903         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
9904         if-block containing a while-loop.  It's been unused for at least
9905         5 years.
9906
9907 2010-06-05  Bruno Haible  <bruno@clisp.org>
9908
9909         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
9910         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
9911
9912 2010-06-04  Bruno Haible  <bruno@clisp.org>
9913
9914         Update to GNU gettext 0.18.1.
9915         * modules/gettext (configure.ac): Require gettext infrastructure from
9916         version 0.18.1.
9917
9918 2010-06-03  Bruno Haible  <bruno@clisp.org>
9919
9920         Don't use AC_LIBOBJ with file names in subdirectories.
9921         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
9922         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
9923         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
9924         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
9925         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
9926         gl_LIBUNISTRING_LIBSOURCE.
9927         (Makefile.am): Augment lib_SOURCES here, conditionally.
9928         * NEWS: Drop requirement for Automake option 'subdir-objects'.
9929
9930 2010-06-03  Bruno Haible  <bruno@clisp.org>
9931
9932         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
9933         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
9934         expansion does not end with a newline.
9935         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
9936         unnecessary newline.
9937
9938 2010-06-03  Bruno Haible  <bruno@clisp.org>
9939
9940         Reduce dependencies.
9941         * tests/test-quotearg.h: New file, extracted from
9942         tests/test-quotearg.c.
9943         * tests/test-quotearg-simple.c: New file, extracted from
9944         tests/test-quotearg.c.
9945         * tests/test-quotearg.c: Don't include <ctype.h>.
9946         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
9947         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
9948         use_quote_double_quotes, use_quotearg_colon): Moved to
9949         tests/test-quotearg.h.
9950         (results_g, flag_results, custom_quotes, custom_results): Moved
9951         to tests/test-quotearg-simple.c.
9952         (main): Moved the part that does not depend on gettext to
9953         tests/test-quotearg-simple.c. Return 77 if the test cannot be
9954         performed.
9955         * modules/quotearg-simple: New file.
9956         * modules/quotearg-simple-tests: New file.
9957         * modules/quotearg (Depends-on): Add quotearg-simple.
9958         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
9959         (Files): Add tests/test-quotearg.h.
9960         Reported by Paolo Bonzini.
9961
9962 2010-06-03  Bruno Haible  <bruno@clisp.org>
9963
9964         Reduce dependencies.
9965         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
9966
9967 2010-06-03  Bruno Haible  <bruno@clisp.org>
9968
9969         time: Undefine more broken macros.
9970         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
9971         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
9972         Reported by Eric Blake.
9973
9974 2010-06-03  Bruno Haible  <bruno@clisp.org>
9975
9976         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
9977         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
9978         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
9979         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
9980         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
9981         Reported by Ludovic Courtès <ludo@gnu.org>.
9982
9983 2010-06-02  Eric Blake  <eblake@redhat.com>
9984
9985         time: work with mingw + pthreads-win32 library
9986         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
9987         if timespec is defined only in pthread.h.
9988         * modules/time (Makefile.am): Substitute it.
9989         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
9990         <pthread.h>, when needed.
9991         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
9992         from the library.
9993
9994 2010-05-31  Bruno Haible  <bruno@clisp.org>
9995
9996         Avoid expanding two macros in the wrong order.
9997         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
9998         gl_LIBUNISTRING if it is defined.
9999         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
10000         autoconf >= 2.64.
10001         Reported by Ludovic Courtès <ludo@gnu.org>.
10002
10003 2010-05-27  Jim Meyering  <meyering@redhat.com>
10004
10005         maint.mk: also prohibit "#undef" of always-defined symbols
10006         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
10007         Allow more than one space before the symbol name.
10008         (sc_prohibit_always-defined_macros): Use grep's -E, now that
10009         the regexp uses alternation.
10010
10011 2010-05-26  Eric Blake  <eblake@redhat.com>
10012
10013         maint.mk: avoid echo -e
10014         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
10015         Convert all uses of echo -* to printf.
10016         Reported by Matthias Bolte.
10017
10018 2010-05-25  Bruno Haible  <bruno@clisp.org>
10019
10020         Update to GNU gettext 0.18, part 2.
10021         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
10022         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
10023
10024 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10025
10026         Add missing include in test-pwrite.c.
10027         * tests/test-pwrite.c: Include string.h, for strcmp.
10028
10029 2010-05-24  Bruno Haible  <bruno@clisp.org>
10030
10031         * NEWS: Mention requirement for Automake option 'subdir-objects'.
10032
10033 2010-05-24  Bruno Haible  <bruno@clisp.org>
10034
10035         Don't use conversion with transliteration in u{8,16,32}_strcoll.
10036         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
10037         iconveh_error argument.
10038         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
10039         U_STRCONV_TO_LOCALE.
10040         * lib/unistr/u16-strcoll.c: Likewise.
10041         * lib/unistr/u32-strcoll.c: Likewise.
10042         * modules/unistr/u8-strcoll (Depends-on): Add
10043         uniconv/u8-strconv-to-enc, localcharset. Remove
10044         uniconv/u8-strconv-to-locale.
10045         (configure.ac): Bump version number.
10046         * modules/unistr/u16-strcoll (Depends-on): Add
10047         uniconv/u16-strconv-to-enc, localcharset. Remove
10048         uniconv/u16-strconv-to-locale.
10049         (configure.ac): Bump version number.
10050         * modules/unistr/u32-strcoll (Depends-on): Add
10051         uniconv/u32-strconv-to-enc, localcharset. Remove
10052         uniconv/u32-strconv-to-locale.
10053         (configure.ac): Bump version number.
10054
10055 2010-05-24  Bruno Haible  <bruno@clisp.org>
10056
10057         Avoid a test failure on NetBSD 5.0.
10058         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
10059         an iconv() bug.
10060
10061 2010-05-24  Bruno Haible  <bruno@clisp.org>
10062
10063         Adjust #include directive style.
10064         * modules/regex (Includes): Recommend to write <regex.h>.
10065
10066 2010-05-24  Bruno Haible  <bruno@clisp.org>
10067
10068         regex: Don't require alloca.
10069         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
10070         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
10071         only inside if (0).
10072
10073 2010-05-23  Jim Meyering  <meyering@redhat.com>
10074
10075         test-renameat.c: include <sys/stat.h>
10076         * tests/test-renameat.c: Include <sys/stat.h>; required for
10077         definition of S_IS* macros.
10078
10079 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
10080
10081         Update maintainer documentation for 'relocatable-prog' module.
10082         * doc/relocatable-maint.texi: Update.
10083         Comments by Bruno Haible.
10084
10085 2010-05-23  Bruno Haible  <bruno@clisp.org>
10086
10087         git-merge-changelog: Enable --split-merged-entry by default.
10088         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
10089         (usage): Don't mention this option any more.
10090         Reported by Ralf Wildenhues.
10091
10092 2010-05-23  Jim Meyering  <meyering@redhat.com>
10093
10094         test-pwrite: do not leave behind a test file named "out"
10095         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
10096         The trivial-looking use of init.sh is really necessary.
10097         It ensures that the temporary file, "out", is created in
10098         a temporary directory, and removed upon termination.
10099         * tests/test-pwrite.sh: Re-add file.
10100         * modules/pwrite-tests: Reference it.
10101
10102 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10103
10104         Fix output redirection buglet in init.sh.
10105         * tests/init.sh: Fix redirection of stderr.
10106
10107 2010-05-20  Simon Josefsson  <simon@josefsson.org>
10108
10109         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
10110
10111 2010-05-17  Simon Josefsson  <simon@josefsson.org>
10112
10113         * modules/valgrind-tests: New file.
10114         * m4/valgrind-tests.m4: New file.
10115         * doc/valgrind-tests.texi: New file.
10116         * doc/gnulib.texi (Running self-tests under valgrind): New
10117         section.
10118
10119 2010-05-19  Bruno Haible  <bruno@clisp.org>
10120
10121         Clean up dead code in recent commit.
10122         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
10123         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
10124         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
10125         Suggested by Paolo Bonzini.
10126
10127 2010-05-19  Bruno Haible  <bruno@clisp.org>
10128
10129         Avoid valgrind error reports from libunistring.
10130         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
10131         * modules/libunistring (Files): Add it.
10132         * modules/libunistring-optional (Files): Likewise.
10133
10134 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
10135             Bruno Haible  <bruno@clisp.org>
10136
10137         New module 'libunistring-optional'.
10138         * modules/libunistring-optional: New file.
10139         * m4/libunistring-base.m4: New file.
10140         * m4/libunistring-optional.m4: New file.
10141         * lib/unicase.in.h: Renamed from lib/unicase.h.
10142         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
10143         * lib/unictype.in.h: Renamed from lib/unictype.h.
10144         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
10145         * lib/uniname.in.h: Renamed from lib/uniname.h.
10146         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
10147         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
10148         * lib/unistr.in.h: Renamed from lib/unistr.h.
10149         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
10150         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
10151         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
10152         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
10153         gl_LIBUNISTRING. If the library was found, determine the installed
10154         version and set LIBUNISTRING_VERSION.
10155         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
10156         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
10157         handle a configuration option --with-included-libunistring.
10158         * modules/libunistring (Files): Add m4/absolute-header.m4.
10159         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
10160         Add m4/libunistring-base.m4.
10161         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10162         (Makefile.am): Build unicase.h from unicase.in.h.
10163         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
10164         Add m4/libunistring-base.m4.
10165         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10166         (Makefile.am): Build uniconv.h from uniconv.in.h.
10167         * modules/unictype/base (Files): Use unictype.in.h instead of
10168         unictype.h. Add m4/libunistring-base.m4.
10169         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10170         (Makefile.am): Build unictype.h from unictype.in.h.
10171         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
10172         Add m4/libunistring-base.m4.
10173         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10174         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
10175         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
10176         Add m4/libunistring-base.m4.
10177         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10178         (Makefile.am): Build uniname.h from uniname.in.h.
10179         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
10180         Add m4/libunistring-base.m4.
10181         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10182         (Makefile.am): Build uninorm.h from uninorm.in.h.
10183         * modules/unistdio/base (Files): Use unistdio.in.h instead of
10184         unistdio.h. Add m4/libunistring-base.m4.
10185         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10186         (Makefile.am): Build unistdio.h from unistdio.in.h.
10187         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
10188         Add m4/libunistring-base.m4.
10189         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10190         (Makefile.am): Build unistr.h from unistr.in.h.
10191         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
10192         Add m4/libunistring-base.m4.
10193         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10194         (Makefile.am): Build unitypes.h from unitypes.in.h.
10195         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
10196         Add m4/libunistring-base.m4.
10197         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10198         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
10199         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
10200         uniwidth.h. Add m4/libunistring-base.m4.
10201         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10202         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
10203         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
10204         instead of augmenting lib_SOURCES.
10205         * modules/unicase/empty-suffix-context: Likewise.
10206         * modules/unicase/locale-language: Likewise.
10207         * modules/unicase/tolower: Likewise.
10208         * modules/unicase/totitle: Likewise.
10209         * modules/unicase/toupper: Likewise.
10210         * modules/unicase/u8-casecmp: Likewise.
10211         * modules/unicase/u8-casecoll: Likewise.
10212         * modules/unicase/u8-casefold: Likewise.
10213         * modules/unicase/u8-casexfrm: Likewise.
10214         * modules/unicase/u8-ct-casefold: Likewise.
10215         * modules/unicase/u8-ct-tolower: Likewise.
10216         * modules/unicase/u8-ct-totitle: Likewise.
10217         * modules/unicase/u8-ct-toupper: Likewise.
10218         * modules/unicase/u8-is-cased: Likewise.
10219         * modules/unicase/u8-is-casefolded: Likewise.
10220         * modules/unicase/u8-is-lowercase: Likewise.
10221         * modules/unicase/u8-is-titlecase: Likewise.
10222         * modules/unicase/u8-is-uppercase: Likewise.
10223         * modules/unicase/u8-prefix-context: Likewise.
10224         * modules/unicase/u8-suffix-context: Likewise.
10225         * modules/unicase/u8-tolower: Likewise.
10226         * modules/unicase/u8-totitle: Likewise.
10227         * modules/unicase/u8-toupper: Likewise.
10228         * modules/unicase/u16-casecmp: Likewise.
10229         * modules/unicase/u16-casecoll: Likewise.
10230         * modules/unicase/u16-casefold: Likewise.
10231         * modules/unicase/u16-casexfrm: Likewise.
10232         * modules/unicase/u16-ct-casefold: Likewise.
10233         * modules/unicase/u16-ct-tolower: Likewise.
10234         * modules/unicase/u16-ct-totitle: Likewise.
10235         * modules/unicase/u16-ct-toupper: Likewise.
10236         * modules/unicase/u16-is-cased: Likewise.
10237         * modules/unicase/u16-is-casefolded: Likewise.
10238         * modules/unicase/u16-is-lowercase: Likewise.
10239         * modules/unicase/u16-is-titlecase: Likewise.
10240         * modules/unicase/u16-is-uppercase: Likewise.
10241         * modules/unicase/u16-prefix-context: Likewise.
10242         * modules/unicase/u16-suffix-context: Likewise.
10243         * modules/unicase/u16-tolower: Likewise.
10244         * modules/unicase/u16-totitle: Likewise.
10245         * modules/unicase/u16-toupper: Likewise.
10246         * modules/unicase/u32-casecmp: Likewise.
10247         * modules/unicase/u32-casecoll: Likewise.
10248         * modules/unicase/u32-casefold: Likewise.
10249         * modules/unicase/u32-casexfrm: Likewise.
10250         * modules/unicase/u32-ct-casefold: Likewise.
10251         * modules/unicase/u32-ct-tolower: Likewise.
10252         * modules/unicase/u32-ct-totitle: Likewise.
10253         * modules/unicase/u32-ct-toupper: Likewise.
10254         * modules/unicase/u32-is-cased: Likewise.
10255         * modules/unicase/u32-is-casefolded: Likewise.
10256         * modules/unicase/u32-is-lowercase: Likewise.
10257         * modules/unicase/u32-is-titlecase: Likewise.
10258         * modules/unicase/u32-is-uppercase: Likewise.
10259         * modules/unicase/u32-prefix-context: Likewise.
10260         * modules/unicase/u32-suffix-context: Likewise.
10261         * modules/unicase/u32-tolower: Likewise.
10262         * modules/unicase/u32-totitle: Likewise.
10263         * modules/unicase/u32-toupper: Likewise.
10264         * modules/unicase/ulc-casecmp: Likewise.
10265         * modules/unicase/ulc-casecoll: Likewise.
10266         * modules/unicase/ulc-casexfrm: Likewise.
10267         * modules/uniconv/u8-conv-from-enc: Likewise.
10268         * modules/uniconv/u8-conv-to-enc: Likewise.
10269         * modules/uniconv/u8-strconv-from-enc: Likewise.
10270         * modules/uniconv/u8-strconv-from-locale: Likewise.
10271         * modules/uniconv/u8-strconv-to-enc: Likewise.
10272         * modules/uniconv/u8-strconv-to-locale: Likewise.
10273         * modules/uniconv/u16-conv-from-enc: Likewise.
10274         * modules/uniconv/u16-conv-to-enc: Likewise.
10275         * modules/uniconv/u16-strconv-from-enc: Likewise.
10276         * modules/uniconv/u16-strconv-from-locale: Likewise.
10277         * modules/uniconv/u16-strconv-to-enc: Likewise.
10278         * modules/uniconv/u16-strconv-to-locale: Likewise.
10279         * modules/uniconv/u32-conv-from-enc: Likewise.
10280         * modules/uniconv/u32-conv-to-enc: Likewise.
10281         * modules/uniconv/u32-strconv-from-enc: Likewise.
10282         * modules/uniconv/u32-strconv-from-locale: Likewise.
10283         * modules/uniconv/u32-strconv-to-enc: Likewise.
10284         * modules/uniconv/u32-strconv-to-locale: Likewise.
10285         * modules/unictype/bidicategory-byname: Likewise.
10286         * modules/unictype/bidicategory-name: Likewise.
10287         * modules/unictype/bidicategory-of: Likewise.
10288         * modules/unictype/bidicategory-test: Likewise.
10289         * modules/unictype/block-list: Likewise.
10290         * modules/unictype/block-test: Likewise.
10291         * modules/unictype/category-C: Likewise.
10292         * modules/unictype/category-Cc: Likewise.
10293         * modules/unictype/category-Cf: Likewise.
10294         * modules/unictype/category-Cn: Likewise.
10295         * modules/unictype/category-Co: Likewise.
10296         * modules/unictype/category-Cs: Likewise.
10297         * modules/unictype/category-L: Likewise.
10298         * modules/unictype/category-Ll: Likewise.
10299         * modules/unictype/category-Lm: Likewise.
10300         * modules/unictype/category-Lo: Likewise.
10301         * modules/unictype/category-Lt: Likewise.
10302         * modules/unictype/category-Lu: Likewise.
10303         * modules/unictype/category-M: Likewise.
10304         * modules/unictype/category-Mc: Likewise.
10305         * modules/unictype/category-Me: Likewise.
10306         * modules/unictype/category-Mn: Likewise.
10307         * modules/unictype/category-N: Likewise.
10308         * modules/unictype/category-Nd: Likewise.
10309         * modules/unictype/category-Nl: Likewise.
10310         * modules/unictype/category-No: Likewise.
10311         * modules/unictype/category-P: Likewise.
10312         * modules/unictype/category-Pc: Likewise.
10313         * modules/unictype/category-Pd: Likewise.
10314         * modules/unictype/category-Pe: Likewise.
10315         * modules/unictype/category-Pf: Likewise.
10316         * modules/unictype/category-Pi: Likewise.
10317         * modules/unictype/category-Po: Likewise.
10318         * modules/unictype/category-Ps: Likewise.
10319         * modules/unictype/category-S: Likewise.
10320         * modules/unictype/category-Sc: Likewise.
10321         * modules/unictype/category-Sk: Likewise.
10322         * modules/unictype/category-Sm: Likewise.
10323         * modules/unictype/category-So: Likewise.
10324         * modules/unictype/category-Z: Likewise.
10325         * modules/unictype/category-Zl: Likewise.
10326         * modules/unictype/category-Zp: Likewise.
10327         * modules/unictype/category-Zs: Likewise.
10328         * modules/unictype/category-and: Likewise.
10329         * modules/unictype/category-and-not: Likewise.
10330         * modules/unictype/category-byname: Likewise.
10331         * modules/unictype/category-name: Likewise.
10332         * modules/unictype/category-none: Likewise.
10333         * modules/unictype/category-of: Likewise.
10334         * modules/unictype/category-or: Likewise.
10335         * modules/unictype/category-test: Likewise.
10336         * modules/unictype/combining-class: Likewise.
10337         * modules/unictype/ctype-alnum: Likewise.
10338         * modules/unictype/ctype-alpha: Likewise.
10339         * modules/unictype/ctype-blank: Likewise.
10340         * modules/unictype/ctype-cntrl: Likewise.
10341         * modules/unictype/ctype-digit: Likewise.
10342         * modules/unictype/ctype-graph: Likewise.
10343         * modules/unictype/ctype-lower: Likewise.
10344         * modules/unictype/ctype-print: Likewise.
10345         * modules/unictype/ctype-punct: Likewise.
10346         * modules/unictype/ctype-space: Likewise.
10347         * modules/unictype/ctype-upper: Likewise.
10348         * modules/unictype/ctype-xdigit: Likewise.
10349         * modules/unictype/decimal-digit: Likewise.
10350         * modules/unictype/digit: Likewise.
10351         * modules/unictype/mirror: Likewise.
10352         * modules/unictype/numeric: Likewise.
10353         * modules/unictype/property-alphabetic: Likewise.
10354         * modules/unictype/property-ascii-hex-digit: Likewise.
10355         * modules/unictype/property-bidi-arabic-digit: Likewise.
10356         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
10357         * modules/unictype/property-bidi-block-separator: Likewise.
10358         * modules/unictype/property-bidi-boundary-neutral: Likewise.
10359         * modules/unictype/property-bidi-common-separator: Likewise.
10360         * modules/unictype/property-bidi-control: Likewise.
10361         * modules/unictype/property-bidi-embedding-or-override: Likewise.
10362         * modules/unictype/property-bidi-eur-num-separator: Likewise.
10363         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
10364         * modules/unictype/property-bidi-european-digit: Likewise.
10365         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
10366         * modules/unictype/property-bidi-left-to-right: Likewise.
10367         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
10368         * modules/unictype/property-bidi-other-neutral: Likewise.
10369         * modules/unictype/property-bidi-pdf: Likewise.
10370         * modules/unictype/property-bidi-segment-separator: Likewise.
10371         * modules/unictype/property-bidi-whitespace: Likewise.
10372         * modules/unictype/property-byname: Likewise.
10373         * modules/unictype/property-combining: Likewise.
10374         * modules/unictype/property-composite: Likewise.
10375         * modules/unictype/property-currency-symbol: Likewise.
10376         * modules/unictype/property-dash: Likewise.
10377         * modules/unictype/property-decimal-digit: Likewise.
10378         * modules/unictype/property-default-ignorable-code-point: Likewise.
10379         * modules/unictype/property-deprecated: Likewise.
10380         * modules/unictype/property-diacritic: Likewise.
10381         * modules/unictype/property-extender: Likewise.
10382         * modules/unictype/property-format-control: Likewise.
10383         * modules/unictype/property-grapheme-base: Likewise.
10384         * modules/unictype/property-grapheme-extend: Likewise.
10385         * modules/unictype/property-grapheme-link: Likewise.
10386         * modules/unictype/property-hex-digit: Likewise.
10387         * modules/unictype/property-hyphen: Likewise.
10388         * modules/unictype/property-id-continue: Likewise.
10389         * modules/unictype/property-id-start: Likewise.
10390         * modules/unictype/property-ideographic: Likewise.
10391         * modules/unictype/property-ids-binary-operator: Likewise.
10392         * modules/unictype/property-ids-trinary-operator: Likewise.
10393         * modules/unictype/property-ignorable-control: Likewise.
10394         * modules/unictype/property-iso-control: Likewise.
10395         * modules/unictype/property-join-control: Likewise.
10396         * modules/unictype/property-left-of-pair: Likewise.
10397         * modules/unictype/property-line-separator: Likewise.
10398         * modules/unictype/property-logical-order-exception: Likewise.
10399         * modules/unictype/property-lowercase: Likewise.
10400         * modules/unictype/property-math: Likewise.
10401         * modules/unictype/property-non-break: Likewise.
10402         * modules/unictype/property-not-a-character: Likewise.
10403         * modules/unictype/property-numeric: Likewise.
10404         * modules/unictype/property-other-alphabetic: Likewise.
10405         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
10406         * modules/unictype/property-other-grapheme-extend: Likewise.
10407         * modules/unictype/property-other-id-continue: Likewise.
10408         * modules/unictype/property-other-id-start: Likewise.
10409         * modules/unictype/property-other-lowercase: Likewise.
10410         * modules/unictype/property-other-math: Likewise.
10411         * modules/unictype/property-other-uppercase: Likewise.
10412         * modules/unictype/property-paired-punctuation: Likewise.
10413         * modules/unictype/property-paragraph-separator: Likewise.
10414         * modules/unictype/property-pattern-syntax: Likewise.
10415         * modules/unictype/property-pattern-white-space: Likewise.
10416         * modules/unictype/property-private-use: Likewise.
10417         * modules/unictype/property-punctuation: Likewise.
10418         * modules/unictype/property-quotation-mark: Likewise.
10419         * modules/unictype/property-radical: Likewise.
10420         * modules/unictype/property-sentence-terminal: Likewise.
10421         * modules/unictype/property-soft-dotted: Likewise.
10422         * modules/unictype/property-space: Likewise.
10423         * modules/unictype/property-terminal-punctuation: Likewise.
10424         * modules/unictype/property-test: Likewise.
10425         * modules/unictype/property-titlecase: Likewise.
10426         * modules/unictype/property-unassigned-code-value: Likewise.
10427         * modules/unictype/property-unified-ideograph: Likewise.
10428         * modules/unictype/property-uppercase: Likewise.
10429         * modules/unictype/property-variation-selector: Likewise.
10430         * modules/unictype/property-white-space: Likewise.
10431         * modules/unictype/property-xid-continue: Likewise.
10432         * modules/unictype/property-xid-start: Likewise.
10433         * modules/unictype/property-zero-width: Likewise.
10434         * modules/unictype/scripts: Likewise.
10435         * modules/unictype/syntax-c-ident: Likewise.
10436         * modules/unictype/syntax-c-whitespace: Likewise.
10437         * modules/unictype/syntax-java-ident: Likewise.
10438         * modules/unictype/syntax-java-whitespace: Likewise.
10439         * modules/unilbrk/u8-possible-linebreaks: Likewise.
10440         * modules/unilbrk/u8-width-linebreaks: Likewise.
10441         * modules/unilbrk/u16-possible-linebreaks: Likewise.
10442         * modules/unilbrk/u16-width-linebreaks: Likewise.
10443         * modules/unilbrk/u32-possible-linebreaks: Likewise.
10444         * modules/unilbrk/u32-width-linebreaks: Likewise.
10445         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
10446         * modules/unilbrk/ulc-width-linebreaks: Likewise.
10447         * modules/uniname/uniname: Likewise.
10448         * modules/uninorm/canonical-decomposition: Likewise.
10449         * modules/uninorm/composition: Likewise.
10450         * modules/uninorm/decomposing-form: Likewise.
10451         * modules/uninorm/decomposition: Likewise.
10452         * modules/uninorm/filter: Likewise.
10453         * modules/uninorm/nfc: Likewise.
10454         * modules/uninorm/nfd: Likewise.
10455         * modules/uninorm/nfkc: Likewise.
10456         * modules/uninorm/nfkd: Likewise.
10457         * modules/uninorm/u8-normalize: Likewise.
10458         * modules/uninorm/u8-normcmp: Likewise.
10459         * modules/uninorm/u8-normcoll: Likewise.
10460         * modules/uninorm/u8-normxfrm: Likewise.
10461         * modules/uninorm/u16-normalize: Likewise.
10462         * modules/uninorm/u16-normcmp: Likewise.
10463         * modules/uninorm/u16-normcoll: Likewise.
10464         * modules/uninorm/u16-normxfrm: Likewise.
10465         * modules/uninorm/u32-normalize: Likewise.
10466         * modules/uninorm/u32-normcmp: Likewise.
10467         * modules/uninorm/u32-normcoll: Likewise.
10468         * modules/uninorm/u32-normxfrm: Likewise.
10469         * modules/unistdio/u8-asnprintf: Likewise.
10470         * modules/unistdio/u8-asprintf: Likewise.
10471         * modules/unistdio/u8-snprintf: Likewise.
10472         * modules/unistdio/u8-sprintf: Likewise.
10473         * modules/unistdio/u8-u8-asnprintf: Likewise.
10474         * modules/unistdio/u8-u8-asprintf: Likewise.
10475         * modules/unistdio/u8-u8-snprintf: Likewise.
10476         * modules/unistdio/u8-u8-sprintf: Likewise.
10477         * modules/unistdio/u8-u8-vasnprintf: Likewise.
10478         * modules/unistdio/u8-u8-vasprintf: Likewise.
10479         * modules/unistdio/u8-u8-vsnprintf: Likewise.
10480         * modules/unistdio/u8-u8-vsprintf: Likewise.
10481         * modules/unistdio/u8-vasnprintf: Likewise.
10482         * modules/unistdio/u8-vasprintf: Likewise.
10483         * modules/unistdio/u8-vsnprintf: Likewise.
10484         * modules/unistdio/u8-vsprintf: Likewise.
10485         * modules/unistdio/u16-asnprintf: Likewise.
10486         * modules/unistdio/u16-asprintf: Likewise.
10487         * modules/unistdio/u16-snprintf: Likewise.
10488         * modules/unistdio/u16-sprintf: Likewise.
10489         * modules/unistdio/u16-u16-asnprintf: Likewise.
10490         * modules/unistdio/u16-u16-asprintf: Likewise.
10491         * modules/unistdio/u16-u16-snprintf: Likewise.
10492         * modules/unistdio/u16-u16-sprintf: Likewise.
10493         * modules/unistdio/u16-u16-vasnprintf: Likewise.
10494         * modules/unistdio/u16-u16-vasprintf: Likewise.
10495         * modules/unistdio/u16-u16-vsnprintf: Likewise.
10496         * modules/unistdio/u16-u16-vsprintf: Likewise.
10497         * modules/unistdio/u16-vasnprintf: Likewise.
10498         * modules/unistdio/u16-vasprintf: Likewise.
10499         * modules/unistdio/u16-vsnprintf: Likewise.
10500         * modules/unistdio/u16-vsprintf: Likewise.
10501         * modules/unistdio/u32-asnprintf: Likewise.
10502         * modules/unistdio/u32-asprintf: Likewise.
10503         * modules/unistdio/u32-snprintf: Likewise.
10504         * modules/unistdio/u32-sprintf: Likewise.
10505         * modules/unistdio/u32-u32-asnprintf: Likewise.
10506         * modules/unistdio/u32-u32-asprintf: Likewise.
10507         * modules/unistdio/u32-u32-snprintf: Likewise.
10508         * modules/unistdio/u32-u32-sprintf: Likewise.
10509         * modules/unistdio/u32-u32-vasnprintf: Likewise.
10510         * modules/unistdio/u32-u32-vasprintf: Likewise.
10511         * modules/unistdio/u32-u32-vsnprintf: Likewise.
10512         * modules/unistdio/u32-u32-vsprintf: Likewise.
10513         * modules/unistdio/u32-vasnprintf: Likewise.
10514         * modules/unistdio/u32-vasprintf: Likewise.
10515         * modules/unistdio/u32-vsnprintf: Likewise.
10516         * modules/unistdio/u32-vsprintf: Likewise.
10517         * modules/unistdio/ulc-asnprintf: Likewise.
10518         * modules/unistdio/ulc-asprintf: Likewise.
10519         * modules/unistdio/ulc-fprintf: Likewise.
10520         * modules/unistdio/ulc-snprintf: Likewise.
10521         * modules/unistdio/ulc-sprintf: Likewise.
10522         * modules/unistdio/ulc-vasnprintf: Likewise.
10523         * modules/unistdio/ulc-vasprintf: Likewise.
10524         * modules/unistdio/ulc-vfprintf: Likewise.
10525         * modules/unistdio/ulc-vsnprintf: Likewise.
10526         * modules/unistdio/ulc-vsprintf: Likewise.
10527         * modules/unistr/u8-check: Likewise.
10528         * modules/unistr/u8-chr: Likewise.
10529         * modules/unistr/u8-cmp: Likewise.
10530         * modules/unistr/u8-cmp2: Likewise.
10531         * modules/unistr/u8-cpy: Likewise.
10532         * modules/unistr/u8-cpy-alloc: Likewise.
10533         * modules/unistr/u8-endswith: Likewise.
10534         * modules/unistr/u8-mblen: Likewise.
10535         * modules/unistr/u8-mbsnlen: Likewise.
10536         * modules/unistr/u8-mbtouc: Likewise.
10537         * modules/unistr/u8-mbtouc-unsafe: Likewise.
10538         * modules/unistr/u8-mbtoucr: Likewise.
10539         * modules/unistr/u8-move: Likewise.
10540         * modules/unistr/u8-next: Likewise.
10541         * modules/unistr/u8-prev: Likewise.
10542         * modules/unistr/u8-set: Likewise.
10543         * modules/unistr/u8-startswith: Likewise.
10544         * modules/unistr/u8-stpcpy: Likewise.
10545         * modules/unistr/u8-stpncpy: Likewise.
10546         * modules/unistr/u8-strcat: Likewise.
10547         * modules/unistr/u8-strchr: Likewise.
10548         * modules/unistr/u8-strcmp: Likewise.
10549         * modules/unistr/u8-strcoll: Likewise.
10550         * modules/unistr/u8-strcpy: Likewise.
10551         * modules/unistr/u8-strcspn: Likewise.
10552         * modules/unistr/u8-strdup: Likewise.
10553         * modules/unistr/u8-strlen: Likewise.
10554         * modules/unistr/u8-strmblen: Likewise.
10555         * modules/unistr/u8-strmbtouc: Likewise.
10556         * modules/unistr/u8-strncat: Likewise.
10557         * modules/unistr/u8-strncmp: Likewise.
10558         * modules/unistr/u8-strncpy: Likewise.
10559         * modules/unistr/u8-strnlen: Likewise.
10560         * modules/unistr/u8-strpbrk: Likewise.
10561         * modules/unistr/u8-strrchr: Likewise.
10562         * modules/unistr/u8-strspn: Likewise.
10563         * modules/unistr/u8-strstr: Likewise.
10564         * modules/unistr/u8-strtok: Likewise.
10565         * modules/unistr/u8-to-u16: Likewise.
10566         * modules/unistr/u8-to-u32: Likewise.
10567         * modules/unistr/u8-uctomb: Likewise.
10568         * modules/unistr/u16-check: Likewise.
10569         * modules/unistr/u16-chr: Likewise.
10570         * modules/unistr/u16-cmp: Likewise.
10571         * modules/unistr/u16-cmp2: Likewise.
10572         * modules/unistr/u16-cpy: Likewise.
10573         * modules/unistr/u16-cpy-alloc: Likewise.
10574         * modules/unistr/u16-endswith: Likewise.
10575         * modules/unistr/u16-mblen: Likewise.
10576         * modules/unistr/u16-mbsnlen: Likewise.
10577         * modules/unistr/u16-mbtouc: Likewise.
10578         * modules/unistr/u16-mbtouc-unsafe: Likewise.
10579         * modules/unistr/u16-mbtoucr: Likewise.
10580         * modules/unistr/u16-move: Likewise.
10581         * modules/unistr/u16-next: Likewise.
10582         * modules/unistr/u16-prev: Likewise.
10583         * modules/unistr/u16-set: Likewise.
10584         * modules/unistr/u16-startswith: Likewise.
10585         * modules/unistr/u16-stpcpy: Likewise.
10586         * modules/unistr/u16-stpncpy: Likewise.
10587         * modules/unistr/u16-strcat: Likewise.
10588         * modules/unistr/u16-strchr: Likewise.
10589         * modules/unistr/u16-strcmp: Likewise.
10590         * modules/unistr/u16-strcoll: Likewise.
10591         * modules/unistr/u16-strcpy: Likewise.
10592         * modules/unistr/u16-strcspn: Likewise.
10593         * modules/unistr/u16-strdup: Likewise.
10594         * modules/unistr/u16-strlen: Likewise.
10595         * modules/unistr/u16-strmblen: Likewise.
10596         * modules/unistr/u16-strmbtouc: Likewise.
10597         * modules/unistr/u16-strncat: Likewise.
10598         * modules/unistr/u16-strncmp: Likewise.
10599         * modules/unistr/u16-strncpy: Likewise.
10600         * modules/unistr/u16-strnlen: Likewise.
10601         * modules/unistr/u16-strpbrk: Likewise.
10602         * modules/unistr/u16-strrchr: Likewise.
10603         * modules/unistr/u16-strspn: Likewise.
10604         * modules/unistr/u16-strstr: Likewise.
10605         * modules/unistr/u16-strtok: Likewise.
10606         * modules/unistr/u16-to-u32: Likewise.
10607         * modules/unistr/u16-to-u8: Likewise.
10608         * modules/unistr/u16-uctomb: Likewise.
10609         * modules/unistr/u32-check: Likewise.
10610         * modules/unistr/u32-chr: Likewise.
10611         * modules/unistr/u32-cmp: Likewise.
10612         * modules/unistr/u32-cmp2: Likewise.
10613         * modules/unistr/u32-cpy: Likewise.
10614         * modules/unistr/u32-cpy-alloc: Likewise.
10615         * modules/unistr/u32-endswith: Likewise.
10616         * modules/unistr/u32-mblen: Likewise.
10617         * modules/unistr/u32-mbsnlen: Likewise.
10618         * modules/unistr/u32-mbtouc: Likewise.
10619         * modules/unistr/u32-mbtouc-unsafe: Likewise.
10620         * modules/unistr/u32-mbtoucr: Likewise.
10621         * modules/unistr/u32-move: Likewise.
10622         * modules/unistr/u32-next: Likewise.
10623         * modules/unistr/u32-prev: Likewise.
10624         * modules/unistr/u32-set: Likewise.
10625         * modules/unistr/u32-startswith: Likewise.
10626         * modules/unistr/u32-stpcpy: Likewise.
10627         * modules/unistr/u32-stpncpy: Likewise.
10628         * modules/unistr/u32-strcat: Likewise.
10629         * modules/unistr/u32-strchr: Likewise.
10630         * modules/unistr/u32-strcmp: Likewise.
10631         * modules/unistr/u32-strcoll: Likewise.
10632         * modules/unistr/u32-strcpy: Likewise.
10633         * modules/unistr/u32-strcspn: Likewise.
10634         * modules/unistr/u32-strdup: Likewise.
10635         * modules/unistr/u32-strlen: Likewise.
10636         * modules/unistr/u32-strmblen: Likewise.
10637         * modules/unistr/u32-strmbtouc: Likewise.
10638         * modules/unistr/u32-strncat: Likewise.
10639         * modules/unistr/u32-strncmp: Likewise.
10640         * modules/unistr/u32-strncpy: Likewise.
10641         * modules/unistr/u32-strnlen: Likewise.
10642         * modules/unistr/u32-strpbrk: Likewise.
10643         * modules/unistr/u32-strrchr: Likewise.
10644         * modules/unistr/u32-strspn: Likewise.
10645         * modules/unistr/u32-strstr: Likewise.
10646         * modules/unistr/u32-strtok: Likewise.
10647         * modules/unistr/u32-to-u16: Likewise.
10648         * modules/unistr/u32-to-u8: Likewise.
10649         * modules/unistr/u32-uctomb: Likewise.
10650         * modules/uniwbrk/u8-wordbreaks: Likewise.
10651         * modules/uniwbrk/u16-wordbreaks: Likewise.
10652         * modules/uniwbrk/u32-wordbreaks: Likewise.
10653         * modules/uniwbrk/ulc-wordbreaks: Likewise.
10654         * modules/uniwbrk/wordbreak-property: Likewise.
10655         * modules/uniwidth/u8-strwidth: Likewise.
10656         * modules/uniwidth/u8-width: Likewise.
10657         * modules/uniwidth/u16-strwidth: Likewise.
10658         * modules/uniwidth/u16-width: Likewise.
10659         * modules/uniwidth/u32-strwidth: Likewise.
10660         * modules/uniwidth/u32-width: Likewise.
10661         * modules/uniwidth/width: Likewise.
10662         * modules/unicase/cased-tests (Makefile.am): Link all test programs
10663         with $(LIBUNISTRING).
10664         * modules/unicase/ignorable-tests: Likewise.
10665         * modules/unicase/locale-language-tests: Likewise.
10666         * modules/unicase/tolower-tests: Likewise.
10667         * modules/unicase/totitle-tests: Likewise.
10668         * modules/unicase/toupper-tests: Likewise.
10669         * modules/unicase/u8-casecmp-tests: Likewise.
10670         * modules/unicase/u8-casecoll-tests: Likewise.
10671         * modules/unicase/u8-casefold-tests: Likewise.
10672         * modules/unicase/u8-is-cased-tests: Likewise.
10673         * modules/unicase/u8-is-casefolded-tests: Likewise.
10674         * modules/unicase/u8-is-lowercase-tests: Likewise.
10675         * modules/unicase/u8-is-titlecase-tests: Likewise.
10676         * modules/unicase/u8-is-uppercase-tests: Likewise.
10677         * modules/unicase/u8-tolower-tests: Likewise.
10678         * modules/unicase/u8-totitle-tests: Likewise.
10679         * modules/unicase/u8-toupper-tests: Likewise.
10680         * modules/unicase/u16-casecmp-tests: Likewise.
10681         * modules/unicase/u16-casecoll-tests: Likewise.
10682         * modules/unicase/u16-casefold-tests: Likewise.
10683         * modules/unicase/u16-is-cased-tests: Likewise.
10684         * modules/unicase/u16-is-casefolded-tests: Likewise.
10685         * modules/unicase/u16-is-lowercase-tests: Likewise.
10686         * modules/unicase/u16-is-titlecase-tests: Likewise.
10687         * modules/unicase/u16-is-uppercase-tests: Likewise.
10688         * modules/unicase/u16-tolower-tests: Likewise.
10689         * modules/unicase/u16-totitle-tests: Likewise.
10690         * modules/unicase/u16-toupper-tests: Likewise.
10691         * modules/unicase/u32-casecmp-tests: Likewise.
10692         * modules/unicase/u32-casecoll-tests: Likewise.
10693         * modules/unicase/u32-casefold-tests: Likewise.
10694         * modules/unicase/u32-is-cased-tests: Likewise.
10695         * modules/unicase/u32-is-casefolded-tests: Likewise.
10696         * modules/unicase/u32-is-lowercase-tests: Likewise.
10697         * modules/unicase/u32-is-titlecase-tests: Likewise.
10698         * modules/unicase/u32-is-uppercase-tests: Likewise.
10699         * modules/unicase/u32-tolower-tests: Likewise.
10700         * modules/unicase/u32-totitle-tests: Likewise.
10701         * modules/unicase/u32-toupper-tests: Likewise.
10702         * modules/unicase/ulc-casecmp-tests: Likewise.
10703         * modules/unicase/ulc-casecoll-tests: Likewise.
10704         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
10705         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
10706         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
10707         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
10708         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
10709         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
10710         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
10711         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
10712         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
10713         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
10714         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
10715         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
10716         * modules/unictype/bidicategory-byname-tests: Likewise.
10717         * modules/unictype/bidicategory-name-tests: Likewise.
10718         * modules/unictype/bidicategory-of-tests: Likewise.
10719         * modules/unictype/bidicategory-test-tests: Likewise.
10720         * modules/unictype/block-list-tests: Likewise.
10721         * modules/unictype/block-of-tests: Likewise.
10722         * modules/unictype/block-test-tests: Likewise.
10723         * modules/unictype/category-C-tests: Likewise.
10724         * modules/unictype/category-Cc-tests: Likewise.
10725         * modules/unictype/category-Cf-tests: Likewise.
10726         * modules/unictype/category-Cn-tests: Likewise.
10727         * modules/unictype/category-Co-tests: Likewise.
10728         * modules/unictype/category-Cs-tests: Likewise.
10729         * modules/unictype/category-L-tests: Likewise.
10730         * modules/unictype/category-Ll-tests: Likewise.
10731         * modules/unictype/category-Lm-tests: Likewise.
10732         * modules/unictype/category-Lo-tests: Likewise.
10733         * modules/unictype/category-Lt-tests: Likewise.
10734         * modules/unictype/category-Lu-tests: Likewise.
10735         * modules/unictype/category-M-tests: Likewise.
10736         * modules/unictype/category-Mc-tests: Likewise.
10737         * modules/unictype/category-Me-tests: Likewise.
10738         * modules/unictype/category-Mn-tests: Likewise.
10739         * modules/unictype/category-N-tests: Likewise.
10740         * modules/unictype/category-Nd-tests: Likewise.
10741         * modules/unictype/category-Nl-tests: Likewise.
10742         * modules/unictype/category-No-tests: Likewise.
10743         * modules/unictype/category-P-tests: Likewise.
10744         * modules/unictype/category-Pc-tests: Likewise.
10745         * modules/unictype/category-Pd-tests: Likewise.
10746         * modules/unictype/category-Pe-tests: Likewise.
10747         * modules/unictype/category-Pf-tests: Likewise.
10748         * modules/unictype/category-Pi-tests: Likewise.
10749         * modules/unictype/category-Po-tests: Likewise.
10750         * modules/unictype/category-Ps-tests: Likewise.
10751         * modules/unictype/category-S-tests: Likewise.
10752         * modules/unictype/category-Sc-tests: Likewise.
10753         * modules/unictype/category-Sk-tests: Likewise.
10754         * modules/unictype/category-Sm-tests: Likewise.
10755         * modules/unictype/category-So-tests: Likewise.
10756         * modules/unictype/category-Z-tests: Likewise.
10757         * modules/unictype/category-Zl-tests: Likewise.
10758         * modules/unictype/category-Zp-tests: Likewise.
10759         * modules/unictype/category-Zs-tests: Likewise.
10760         * modules/unictype/category-and-not-tests: Likewise.
10761         * modules/unictype/category-and-tests: Likewise.
10762         * modules/unictype/category-byname-tests: Likewise.
10763         * modules/unictype/category-name-tests: Likewise.
10764         * modules/unictype/category-none-tests: Likewise.
10765         * modules/unictype/category-of-tests: Likewise.
10766         * modules/unictype/category-or-tests: Likewise.
10767         * modules/unictype/category-test-withtable-tests: Likewise.
10768         * modules/unictype/combining-class-tests: Likewise.
10769         * modules/unictype/ctype-alnum-tests: Likewise.
10770         * modules/unictype/ctype-alpha-tests: Likewise.
10771         * modules/unictype/ctype-blank-tests: Likewise.
10772         * modules/unictype/ctype-cntrl-tests: Likewise.
10773         * modules/unictype/ctype-digit-tests: Likewise.
10774         * modules/unictype/ctype-graph-tests: Likewise.
10775         * modules/unictype/ctype-lower-tests: Likewise.
10776         * modules/unictype/ctype-print-tests: Likewise.
10777         * modules/unictype/ctype-punct-tests: Likewise.
10778         * modules/unictype/ctype-space-tests: Likewise.
10779         * modules/unictype/ctype-upper-tests: Likewise.
10780         * modules/unictype/ctype-xdigit-tests: Likewise.
10781         * modules/unictype/decimal-digit-tests: Likewise.
10782         * modules/unictype/digit-tests: Likewise.
10783         * modules/unictype/mirror-tests: Likewise.
10784         * modules/unictype/numeric-tests: Likewise.
10785         * modules/unictype/property-alphabetic-tests: Likewise.
10786         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
10787         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
10788         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
10789         * modules/unictype/property-bidi-block-separator-tests: Likewise.
10790         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
10791         * modules/unictype/property-bidi-common-separator-tests: Likewise.
10792         * modules/unictype/property-bidi-control-tests: Likewise.
10793         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
10794         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
10795         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
10796         * modules/unictype/property-bidi-european-digit-tests: Likewise.
10797         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
10798         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
10799         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
10800         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
10801         * modules/unictype/property-bidi-pdf-tests: Likewise.
10802         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
10803         * modules/unictype/property-bidi-whitespace-tests: Likewise.
10804         * modules/unictype/property-byname-tests: Likewise.
10805         * modules/unictype/property-combining-tests: Likewise.
10806         * modules/unictype/property-composite-tests: Likewise.
10807         * modules/unictype/property-currency-symbol-tests: Likewise.
10808         * modules/unictype/property-dash-tests: Likewise.
10809         * modules/unictype/property-decimal-digit-tests: Likewise.
10810         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
10811         * modules/unictype/property-deprecated-tests: Likewise.
10812         * modules/unictype/property-diacritic-tests: Likewise.
10813         * modules/unictype/property-extender-tests: Likewise.
10814         * modules/unictype/property-format-control-tests: Likewise.
10815         * modules/unictype/property-grapheme-base-tests: Likewise.
10816         * modules/unictype/property-grapheme-extend-tests: Likewise.
10817         * modules/unictype/property-grapheme-link-tests: Likewise.
10818         * modules/unictype/property-hex-digit-tests: Likewise.
10819         * modules/unictype/property-hyphen-tests: Likewise.
10820         * modules/unictype/property-id-continue-tests: Likewise.
10821         * modules/unictype/property-id-start-tests: Likewise.
10822         * modules/unictype/property-ideographic-tests: Likewise.
10823         * modules/unictype/property-ids-binary-operator-tests: Likewise.
10824         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
10825         * modules/unictype/property-ignorable-control-tests: Likewise.
10826         * modules/unictype/property-iso-control-tests: Likewise.
10827         * modules/unictype/property-join-control-tests: Likewise.
10828         * modules/unictype/property-left-of-pair-tests: Likewise.
10829         * modules/unictype/property-line-separator-tests: Likewise.
10830         * modules/unictype/property-logical-order-exception-tests: Likewise.
10831         * modules/unictype/property-lowercase-tests: Likewise.
10832         * modules/unictype/property-math-tests: Likewise.
10833         * modules/unictype/property-non-break-tests: Likewise.
10834         * modules/unictype/property-not-a-character-tests: Likewise.
10835         * modules/unictype/property-numeric-tests: Likewise.
10836         * modules/unictype/property-other-alphabetic-tests: Likewise.
10837         * modules/unictype/property-other-default-ignorable-code-point-tests:
10838         Likewise.
10839         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
10840         * modules/unictype/property-other-id-continue-tests: Likewise.
10841         * modules/unictype/property-other-id-start-tests: Likewise.
10842         * modules/unictype/property-other-lowercase-tests: Likewise.
10843         * modules/unictype/property-other-math-tests: Likewise.
10844         * modules/unictype/property-other-uppercase-tests: Likewise.
10845         * modules/unictype/property-paired-punctuation-tests: Likewise.
10846         * modules/unictype/property-paragraph-separator-tests: Likewise.
10847         * modules/unictype/property-pattern-syntax-tests: Likewise.
10848         * modules/unictype/property-pattern-white-space-tests: Likewise.
10849         * modules/unictype/property-private-use-tests: Likewise.
10850         * modules/unictype/property-punctuation-tests: Likewise.
10851         * modules/unictype/property-quotation-mark-tests: Likewise.
10852         * modules/unictype/property-radical-tests: Likewise.
10853         * modules/unictype/property-sentence-terminal-tests: Likewise.
10854         * modules/unictype/property-soft-dotted-tests: Likewise.
10855         * modules/unictype/property-space-tests: Likewise.
10856         * modules/unictype/property-terminal-punctuation-tests: Likewise.
10857         * modules/unictype/property-test-tests: Likewise.
10858         * modules/unictype/property-titlecase-tests: Likewise.
10859         * modules/unictype/property-unassigned-code-value-tests: Likewise.
10860         * modules/unictype/property-unified-ideograph-tests: Likewise.
10861         * modules/unictype/property-uppercase-tests: Likewise.
10862         * modules/unictype/property-variation-selector-tests: Likewise.
10863         * modules/unictype/property-white-space-tests: Likewise.
10864         * modules/unictype/property-xid-continue-tests: Likewise.
10865         * modules/unictype/property-xid-start-tests: Likewise.
10866         * modules/unictype/property-zero-width-tests: Likewise.
10867         * modules/unictype/scripts-tests: Likewise.
10868         * modules/unictype/syntax-c-ident-tests: Likewise.
10869         * modules/unictype/syntax-c-whitespace-tests: Likewise.
10870         * modules/unictype/syntax-java-ident-tests: Likewise.
10871         * modules/unictype/syntax-java-whitespace-tests: Likewise.
10872         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
10873         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
10874         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
10875         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
10876         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
10877         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
10878         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
10879         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
10880         * modules/uniname/uniname-tests: Likewise.
10881         * modules/uninorm/canonical-decomposition-tests: Likewise.
10882         * modules/uninorm/compat-decomposition-tests: Likewise.
10883         * modules/uninorm/composition-tests: Likewise.
10884         * modules/uninorm/decomposing-form-tests: Likewise.
10885         * modules/uninorm/decomposition-tests: Likewise.
10886         * modules/uninorm/filter-tests: Likewise.
10887         * modules/uninorm/nfc-tests: Likewise.
10888         * modules/uninorm/nfd-tests: Likewise.
10889         * modules/uninorm/nfkc-tests: Likewise.
10890         * modules/uninorm/nfkd-tests: Likewise.
10891         * modules/uninorm/u8-normcmp-tests: Likewise.
10892         * modules/uninorm/u8-normcoll-tests: Likewise.
10893         * modules/uninorm/u16-normcmp-tests: Likewise.
10894         * modules/uninorm/u16-normcoll-tests: Likewise.
10895         * modules/uninorm/u32-normcmp-tests: Likewise.
10896         * modules/uninorm/u32-normcoll-tests: Likewise.
10897         * modules/unistdio/u8-asnprintf-tests: Likewise.
10898         * modules/unistdio/u8-vasnprintf-tests: Likewise.
10899         * modules/unistdio/u8-vasprintf-tests: Likewise.
10900         * modules/unistdio/u8-vsnprintf-tests: Likewise.
10901         * modules/unistdio/u8-vsprintf-tests: Likewise.
10902         * modules/unistdio/u16-asnprintf-tests: Likewise.
10903         * modules/unistdio/u16-vasnprintf-tests: Likewise.
10904         * modules/unistdio/u16-vasprintf-tests: Likewise.
10905         * modules/unistdio/u16-vsnprintf-tests: Likewise.
10906         * modules/unistdio/u16-vsprintf-tests: Likewise.
10907         * modules/unistdio/u32-asnprintf-tests: Likewise.
10908         * modules/unistdio/u32-vasnprintf-tests: Likewise.
10909         * modules/unistdio/u32-vasprintf-tests: Likewise.
10910         * modules/unistdio/u32-vsnprintf-tests: Likewise.
10911         * modules/unistdio/u32-vsprintf-tests: Likewise.
10912         * modules/unistdio/ulc-asnprintf-tests: Likewise.
10913         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
10914         * modules/unistdio/ulc-vasprintf-tests: Likewise.
10915         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
10916         * modules/unistdio/ulc-vsprintf-tests: Likewise.
10917         * modules/unistr/u8-check-tests: Likewise.
10918         * modules/unistr/u8-chr-tests: Likewise.
10919         * modules/unistr/u8-cmp-tests: Likewise.
10920         * modules/unistr/u8-cmp2-tests: Likewise.
10921         * modules/unistr/u8-cpy-alloc-tests: Likewise.
10922         * modules/unistr/u8-cpy-tests: Likewise.
10923         * modules/unistr/u8-mblen-tests: Likewise.
10924         * modules/unistr/u8-mbsnlen-tests: Likewise.
10925         * modules/unistr/u8-mbtouc-tests: Likewise.
10926         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
10927         * modules/unistr/u8-mbtoucr-tests: Likewise.
10928         * modules/unistr/u8-move-tests: Likewise.
10929         * modules/unistr/u8-next-tests: Likewise.
10930         * modules/unistr/u8-prev-tests: Likewise.
10931         * modules/unistr/u8-set-tests: Likewise.
10932         * modules/unistr/u8-stpcpy-tests: Likewise.
10933         * modules/unistr/u8-stpncpy-tests: Likewise.
10934         * modules/unistr/u8-strcat-tests: Likewise.
10935         * modules/unistr/u8-strcmp-tests: Likewise.
10936         * modules/unistr/u8-strcoll-tests: Likewise.
10937         * modules/unistr/u8-strcpy-tests: Likewise.
10938         * modules/unistr/u8-strdup-tests: Likewise.
10939         * modules/unistr/u8-strlen-tests: Likewise.
10940         * modules/unistr/u8-strmblen-tests: Likewise.
10941         * modules/unistr/u8-strmbtouc-tests: Likewise.
10942         * modules/unistr/u8-strncat-tests: Likewise.
10943         * modules/unistr/u8-strncmp-tests: Likewise.
10944         * modules/unistr/u8-strncpy-tests: Likewise.
10945         * modules/unistr/u8-strnlen-tests: Likewise.
10946         * modules/unistr/u8-to-u16-tests: Likewise.
10947         * modules/unistr/u8-to-u32-tests: Likewise.
10948         * modules/unistr/u8-uctomb-tests: Likewise.
10949         * modules/unistr/u16-check-tests: Likewise.
10950         * modules/unistr/u16-chr-tests: Likewise.
10951         * modules/unistr/u16-cmp-tests: Likewise.
10952         * modules/unistr/u16-cmp2-tests: Likewise.
10953         * modules/unistr/u16-cpy-alloc-tests: Likewise.
10954         * modules/unistr/u16-cpy-tests: Likewise.
10955         * modules/unistr/u16-mblen-tests: Likewise.
10956         * modules/unistr/u16-mbsnlen-tests: Likewise.
10957         * modules/unistr/u16-mbtouc-tests: Likewise.
10958         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
10959         * modules/unistr/u16-mbtoucr-tests: Likewise.
10960         * modules/unistr/u16-move-tests: Likewise.
10961         * modules/unistr/u16-next-tests: Likewise.
10962         * modules/unistr/u16-prev-tests: Likewise.
10963         * modules/unistr/u16-set-tests: Likewise.
10964         * modules/unistr/u16-stpcpy-tests: Likewise.
10965         * modules/unistr/u16-stpncpy-tests: Likewise.
10966         * modules/unistr/u16-strcat-tests: Likewise.
10967         * modules/unistr/u16-strcmp-tests: Likewise.
10968         * modules/unistr/u16-strcoll-tests: Likewise.
10969         * modules/unistr/u16-strcpy-tests: Likewise.
10970         * modules/unistr/u16-strdup-tests: Likewise.
10971         * modules/unistr/u16-strlen-tests: Likewise.
10972         * modules/unistr/u16-strmblen-tests: Likewise.
10973         * modules/unistr/u16-strmbtouc-tests: Likewise.
10974         * modules/unistr/u16-strncat-tests: Likewise.
10975         * modules/unistr/u16-strncmp-tests: Likewise.
10976         * modules/unistr/u16-strncpy-tests: Likewise.
10977         * modules/unistr/u16-strnlen-tests: Likewise.
10978         * modules/unistr/u16-to-u32-tests: Likewise.
10979         * modules/unistr/u16-to-u8-tests: Likewise.
10980         * modules/unistr/u16-uctomb-tests: Likewise.
10981         * modules/unistr/u32-check-tests: Likewise.
10982         * modules/unistr/u32-chr-tests: Likewise.
10983         * modules/unistr/u32-cmp-tests: Likewise.
10984         * modules/unistr/u32-cmp2-tests: Likewise.
10985         * modules/unistr/u32-cpy-alloc-tests: Likewise.
10986         * modules/unistr/u32-cpy-tests: Likewise.
10987         * modules/unistr/u32-mblen-tests: Likewise.
10988         * modules/unistr/u32-mbsnlen-tests: Likewise.
10989         * modules/unistr/u32-mbtouc-tests: Likewise.
10990         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
10991         * modules/unistr/u32-mbtoucr-tests: Likewise.
10992         * modules/unistr/u32-move-tests: Likewise.
10993         * modules/unistr/u32-next-tests: Likewise.
10994         * modules/unistr/u32-prev-tests: Likewise.
10995         * modules/unistr/u32-set-tests: Likewise.
10996         * modules/unistr/u32-stpcpy-tests: Likewise.
10997         * modules/unistr/u32-stpncpy-tests: Likewise.
10998         * modules/unistr/u32-strcat-tests: Likewise.
10999         * modules/unistr/u32-strcmp-tests: Likewise.
11000         * modules/unistr/u32-strcoll-tests: Likewise.
11001         * modules/unistr/u32-strcpy-tests: Likewise.
11002         * modules/unistr/u32-strdup-tests: Likewise.
11003         * modules/unistr/u32-strlen-tests: Likewise.
11004         * modules/unistr/u32-strmblen-tests: Likewise.
11005         * modules/unistr/u32-strmbtouc-tests: Likewise.
11006         * modules/unistr/u32-strncat-tests: Likewise.
11007         * modules/unistr/u32-strncmp-tests: Likewise.
11008         * modules/unistr/u32-strncpy-tests: Likewise.
11009         * modules/unistr/u32-strnlen-tests: Likewise.
11010         * modules/unistr/u32-to-u16-tests: Likewise.
11011         * modules/unistr/u32-to-u8-tests: Likewise.
11012         * modules/unistr/u32-uctomb-tests: Likewise.
11013         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
11014         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
11015         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
11016         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
11017         * modules/uniwidth/u8-strwidth-tests: Likewise.
11018         * modules/uniwidth/u8-width-tests: Likewise.
11019         * modules/uniwidth/u16-strwidth-tests: Likewise.
11020         * modules/uniwidth/u16-width-tests: Likewise.
11021         * modules/uniwidth/u32-strwidth-tests: Likewise.
11022         * modules/uniwidth/u32-width-tests: Likewise.
11023         * modules/uniwidth/width-tests: Likewise.
11024
11025 2010-05-18  Richard Jones  <rjones@redhat.com>
11026
11027         doc: users.txt: list hivex
11028         * users.txt: Add hivex.
11029
11030 2010-05-18  Richard Jones  <rjones@redhat.com>
11031
11032         doc: users.txt: list febootstrap
11033         * users.txt: Add febootstrap.
11034
11035 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
11036
11037         bootstrap: fix an error when gnulib is not used as a git submodule
11038         * build-aux/bootstrap (gnulib_path): If its length is zero then
11039         assign "gnulib" to it.
11040         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
11041
11042 2010-05-16  Bruno Haible  <bruno@clisp.org>
11043
11044         Avoid autoconf warnings about AM_ICONV.
11045         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
11046         2.64.
11047
11048 2010-05-16  Bruno Haible  <bruno@clisp.org>
11049
11050         absolute-header: Make the macro usable in more situations.
11051         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
11052         from gl_ABSOLUTE_HEADER.
11053         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
11054
11055 2010-05-16  James Youngman  <jay@gnu.org>
11056
11057         doc: update users.txt
11058         * users.txt: Add CSSC.
11059
11060 2010-05-16  Jim Meyering  <meyering@redhat.com>
11061
11062         init.sh: fix an error in the previous change; add more comments
11063         * tests/init.sh: Compare exit code in loop against 9, not 2.
11064         Patch by Bruno Haible.
11065         Make the two tests more similar by adding an empty "then" clause.
11066         Add comments.
11067
11068         init.sh: avoid unnecessary shell re-exec
11069         * tests/init.sh: Improve the re-exec-required check to first test the
11070         current shell.  If it passes the test, do not search for a shell that
11071         does pass, and do not re-exec.  This test is particularly contorted to
11072         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
11073         of $(...) evokes a syntax error and causes immediate shell exit with
11074         status 2.  Bruno Haible reported that the re-exec made it impossible
11075         to single-step through any init.sh-using script.
11076
11077 2010-05-16  Bruno Haible  <bruno@clisp.org>
11078
11079         Fix collision between gnulib's and libintl's printf replacements.
11080         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
11081         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
11082         (printf): When using GNU C, map the __printf__ function to rpl_printf
11083         via __asm__. When not using GNU C, define rpl_printf instead of
11084         __printf__.
11085         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
11086         commit.
11087         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
11088         commit.
11089         * m4/asm-underscore.m4: New file.
11090         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
11091         * modules/stdio (Files): Add m4/asm-underscore.m4.
11092         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
11093         Reported by Ben Pfaff.
11094
11095 2010-05-16  Bruno Haible  <bruno@clisp.org>
11096
11097         verify: Avoid skipping the test on openSUSE 11.0.
11098         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
11099
11100 2010-05-13  Bruno Haible  <bruno@clisp.org>
11101
11102         Avoid useless warnings from G++.
11103         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
11104         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
11105         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
11106
11107 2010-05-11  Jim Meyering  <meyering@redhat.com>
11108
11109         maint.mk: tweak preceding change
11110         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
11111         regexps tighter by anchoring at EOL, and make the new group "shy"
11112         for slightly decreased overhead.
11113
11114 2010-05-11  Eric Blake  <eblake@redhat.com>
11115
11116         maint.mk: gnulib doesn't guarantee NSIG
11117         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
11118
11119 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
11120
11121         test-pwrite.c: Remove unused variable declaration.
11122         * tests/test-pwrite.c (main): Remove read_buf declaration.
11123
11124         Remove useless test-pwrite.sh file.
11125         * tests/test-pwrite.sh: Delete file.
11126         * modules/pwrite-tests: Remove references.
11127         Reported by Bruno Haible.
11128
11129 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
11130
11131         init.sh: fix a typo
11132         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
11133
11134 2010-05-10  Jim Meyering  <meyering@redhat.com>
11135
11136         maint.mk: avoid using a temporary file in the always-defined-macros check
11137         * top/maint.mk (.re-defmac): Remove rule.
11138         (gl_trap_): Remove definition.
11139         (sc_prohibit_always-defined_macros): Rewrite not to create and
11140         depend on a temporary file.  Instead, depend on GNU grep's ability
11141         to read a list of regular expressions from stdin when given "-f -".
11142
11143 2010-05-09  Bruno Haible  <bruno@clisp.org>
11144
11145         Update to GNU gettext 0.18, part 1.
11146         * m4/gettext.m4: Update to GNU gettext 0.18.
11147         * m4/intl.m4: Likewise.
11148         * m4/po.m4: Likewise.
11149         * modules/gettext (Files): Add m4/fcntl-o.m4.
11150         (configure.ac): Require gettext infrastructure from version 0.18.
11151
11152 2010-05-09  Jim Meyering  <meyering@redhat.com>
11153
11154         init.sh: enable MALLOC_PERTURB_
11155         * tests/init.sh: Enable glibc's malloc-perturbing option.
11156
11157         maint.mk: improve sc_cross_check_PATH_usage_in_tests
11158         With my recent change in init.sh from the two-line form:
11159             -#   : ${srcdir=.}
11160             -#   . "$srcdir/init.sh"; path_prepend_ .
11161             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
11162         I noticed that using the one-line form would cause this test
11163         to fail with a false-positive, or to stop working altogether,
11164         depending on whether help-version changed or all the tests did.
11165         * top/maint.mk (_hv_regex): Remove this definition.
11166         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
11167         (_hv_regex_strong): Use a stronger regex to check for conformance.
11168         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
11169         Give a separate diagnostic for lack of conforming use.
11170
11171         maint.mk: prohibit definition of symbols defined by gnulib
11172         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
11173         definition of symbols defined by gnulib.
11174
11175 2010-05-09  Bruno Haible  <bruno@clisp.org>
11176
11177         acl: Avoid test failure on Cygwin-hosted mingw.
11178         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
11179
11180 2010-05-09  Bruno Haible  <bruno@clisp.org>
11181
11182         error: Use system's fcntl function.
11183         * lib/error.c (fcntl): Undefine.
11184
11185 2010-05-09  Jim Meyering  <meyering@redhat.com>
11186
11187         verify: adjust formatting to be more consistent
11188         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
11189         argument-list '('s, and after one comma.
11190
11191 2010-05-09  Bruno Haible  <bruno@clisp.org>
11192
11193         error: More reliable output on mingw.
11194         * lib/error.c: Include <windows.h>.
11195         (is_open): New function.
11196         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
11197         defined.
11198
11199 2010-05-09  Bruno Haible  <bruno@clisp.org>
11200
11201         vasnprintf: Fix syntax errors in libintl build on mingw.
11202         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
11203         pad_ourselves and prec_ourselves after use.
11204
11205 2010-05-08  Bruno Haible  <bruno@clisp.org>
11206
11207         * lib/config.charset: Update comments for Cygwin 1.7.
11208         * lib/localcharset.c: Likewise.
11209
11210 2010-05-07  Jim Meyering  <meyering@redhat.com>
11211
11212         init.sh: improve comments
11213         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
11214         . "${srcdir=.}/init.sh"; path_prepend_ .
11215         Add a note about path_prepend_ and the alternative of using
11216         TESTS_ENVIRONMENT.
11217
11218 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
11219
11220         exclude: Unescape hashed patterns in wildcard mode.
11221         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
11222         to the hash list.
11223         * tests/test-exclude8.sh: New test case.
11224         * modules/exclude-tests: Add new test.
11225
11226 2010-05-05  Eric Blake  <eblake@redhat.com>
11227
11228         verify: automate tests
11229         * modules/verify-tests: New module.
11230         * tests/test-verify.sh: New file.
11231         * tests/test-verify.c: Guard each negative test with a unique id.
11232         Also avoid warning about unused left hand of comma expressions.
11233
11234 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
11235
11236         Further improvements to verify.h, suggested by Eric Blake.
11237         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
11238         the GL_* versions, to avoid collision with OpenGL.
11239         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
11240         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
11241         than testing merely whether it's defined.
11242
11243         Modify verify.h to pacify gcc -Wredundant_decls.
11244         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
11245         These use the prefix "GL_" since they're likely to be useful elsewhere.
11246         We may need to break them out into a different .h file.
11247         (__COUNTER__): Define to 0 if the compiler doesn't support it.
11248         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
11249         of verify_function__.
11250
11251 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
11252
11253         Tests for module pwrite.
11254         * modules/pwrite-tests: New file.
11255         * tests/test-pwrite.sh: New file.
11256         * tests/test-pwrite.c: New file.
11257
11258         New module pwrite.
11259         * lib/unistd.in.h (pwrite): New declaration.
11260         * lib/pwrite.c: New file, from glibc with modifications.
11261         * m4/pwrite.m4: New file.
11262         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
11263         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
11264         REPLACE_PWRITE.
11265         * modules/pwrite: New file.
11266         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
11267         REPLACE_PWRITE.
11268         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
11269         * doc/posix-functions/pwrite.texi: Mention the new module.
11270
11271 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
11272
11273         pread: Update documentation.
11274         * doc/posix-functions/pread.texi: Mention the 'pread' module.
11275
11276 2010-05-04  Eric Blake  <eblake@redhat.com>
11277
11278         docs: update cygwin progress
11279         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
11280         this bug.
11281         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
11282         Added in cygwin 1.7.2.
11283         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
11284         Likewise.
11285         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
11286         Likewise.
11287         * doc/glibc-functions/dup3.texi (dup3): Likewise.
11288         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
11289         * doc/glibc-functions/accept4.texi (accept4): Likewise.
11290         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
11291         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
11292         Mention nproc module.
11293         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
11294         bug in cygwin 1.7.5 addition.
11295         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
11296         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
11297         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
11298         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
11299         1.7.5.
11300         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
11301         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
11302         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
11303         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
11304         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
11305         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
11306         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
11307         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
11308         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
11309         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
11310         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
11311         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
11312         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
11313         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
11314         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
11315         Likewise.
11316         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
11317         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
11318         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
11319         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
11320         Likewise.
11321         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
11322         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
11323         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
11324         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
11325         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
11326         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
11327         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
11328         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
11329         Likewise.
11330         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
11331         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
11332         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
11333         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
11334         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
11335         Likewise.
11336         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
11337         Likewise.
11338         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
11339         Likewise.
11340         * doc/glibc-functions/xdrrec_endofrecord.texi
11341         (xdrrec_endofrecord): Likewise.
11342         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
11343         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
11344         Likewise.
11345         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
11346         Likewise.
11347
11348 2010-05-04  Jim Meyering  <meyering@redhat.com>
11349
11350         gendocs.sh: make its "-s FILE" option more useful
11351         * build-aux/gendocs.sh: When honoring the -s FILE option, update
11352         $PACKAGE to reflect the probably-different basename of "FILE".
11353
11354 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
11355
11356         bootstrap: don't ignore download_po_files failure
11357         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
11358         failure.
11359
11360 2010-05-03  Jim Meyering  <meyering@redhat.com>
11361
11362         maint.mk: allow to pass options to gendocs.sh
11363         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
11364         (gendocs_options_): New overridable variable.
11365
11366         gnu-web-doc-update: don't ignore configure or build failure
11367         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
11368
11369         announce-gen: backslash-escape '@'s in --help output
11370         * build-aux/announce-gen: Fix syntax errors.
11371
11372         maint.mk, announce-gen: allow project-specific announcement mail headers
11373         * top/maint.mk (translation_project_): Define default.
11374         (announcement_Cc_, announcement_mail_headers_): Likewise.
11375         (announcement): Invoke announce-gen with new --mail-headers option.
11376         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
11377
11378         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
11379         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
11380         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
11381         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
11382         line in the "err2" output file when running "make check" in verbose
11383         mode (i.e., with set -x enabled).
11384
11385 2010-05-03  Bruno Haible  <bruno@clisp.org>
11386
11387         wctob: Fix for weird platforms.
11388         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
11389         argument value.
11390
11391 2010-05-03  Jim Meyering  <meyering@redhat.com>
11392
11393         maint.mk: prohibit unwarranted use of <strings.h>
11394         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
11395         strings.h in a file that does not also use strcasecmp, strncasecmp,
11396         ffs or ffsll.
11397
11398         maint.mk: remove obsolete comments
11399         * top/maint.mk: Remove stale, commented-out rules.
11400
11401 2010-05-02  Bruno Haible  <bruno@clisp.org>
11402
11403         wcwidth: Declare also when it's aliased.
11404         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
11405         macro.
11406
11407 2010-05-02  Bruno Haible  <bruno@clisp.org>
11408
11409         Fix regression from 2010-04-25.
11410         * gnulib-tool (func_modules_transitive_closure): Check the status of
11411         all modules, not only of the tests that are of the form foo-tests where
11412         foo is a module.
11413
11414 2010-05-02  Bruno Haible  <bruno@clisp.org>
11415
11416         wctob: Work around nasty Cygwin 1.7.2 bug.
11417         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
11418         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
11419
11420 2010-05-01  Bruno Haible  <bruno@clisp.org>
11421
11422         fpurge: Sharper test.
11423         * tests/test-fpurge.c (main): Add one more ftell check.
11424         * modules/fpurge-tests (Depends-on): Add ftell.
11425         Suggested by Eric Blake.
11426
11427 2010-05-01  Bruno Haible  <bruno@clisp.org>
11428
11429         ftello: Another test.
11430         * tests/test-ftello3.c: New file.
11431         * modules/ftello-tests (Files): Add it.
11432         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
11433         MOSTLYCLEANFILES.
11434
11435         ftell: Another test.
11436         * tests/test-ftell3.c: New file.
11437         * modules/ftell-tests (Files): Add it.
11438         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
11439         MOSTLYCLEANFILES.
11440
11441 2010-05-01  Bruno Haible  <bruno@clisp.org>
11442
11443         ftell, ftello: Work around Solaris bug.
11444         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
11445         * lib/ftello.c: Include stdio-impl.h.
11446         (ftello): On Solaris, when _IOWRT is set, compute the result without
11447         looking at _IOREAD.
11448         * modules/ftello (Files): Add lib/stdio-impl.h.
11449         * doc/posix-functions/ftell.texi: Mention Solaris bug.
11450         * doc/posix-functions/ftello.texi: Likewise.
11451         Reported by Eric Blake.
11452
11453 2010-05-01  Bruno Haible  <bruno@clisp.org>
11454
11455         freading: Adapt to special meaning of _IOREAD flag on Solaris.
11456         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
11457         the _IOWRT flag is also set.
11458
11459 2010-05-01  Bruno Haible  <bruno@clisp.org>
11460
11461         Fix doc about a HP-UX stdio bug.
11462         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
11463         * doc/posix-functions/ftello.texi: Likewise.
11464
11465 2010-05-01  Bruno Haible  <bruno@clisp.org>
11466
11467         lseek test: Fix failure on Solaris.
11468         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
11469         output.
11470
11471 2010-04-30  Jim Meyering  <meyering@redhat.com>
11472
11473         bootstrap: don't ignore failure to generate po*/Makevars
11474         * build-aux/bootstrap (with_gettext): Don't ignore failure
11475         to create po/Makevars or runtime-po/Makevars.
11476
11477 2010-04-29  Eric Blake  <eblake@redhat.com>
11478
11479         headers: relax license to LGPLv2+
11480         * modules/fcntl-h (License): Relax license.
11481         * modules/getopt-posix (License): Likewise.
11482         * modules/locale (License): Likewise.
11483         * modules/math (License): Likewise.
11484         * modules/pty (License): Likewise.
11485         * modules/sched (License): Likewise.
11486         * modules/search (License): Likewise.
11487         * modules/spawn (License): Likewise.
11488         * modules/stdarg (License): Likewise.
11489         * modules/sysexits (License): Likewise.
11490
11491 2010-04-29  Jim Meyering  <meyering@redhat.com>
11492
11493         inttypes: relax license to LGPLv2+
11494         * modules/inttypes (License): Relax license.
11495
11496 2010-04-29  Simon Josefsson  <simon@josefsson.org>
11497
11498         * top/maint.mk (indent): Run twice to produce idempotent results.
11499
11500 2010-04-28  Bruno Haible  <bruno@clisp.org>
11501
11502         getdate: Generate getdate.c in the source directory.
11503         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
11504         MOSTLYCLEANFILES.
11505         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
11506
11507 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
11508
11509         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
11510         is not declared as a const *; avoid warnings in that case.
11511
11512 2010-04-28  Eric Blake  <eblake@redhat.com>
11513
11514         canonicalize-lgpl: avoid compiler warning
11515         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
11516         declaration' / 'extraneous semicolon' warning with some compilers.
11517         Reported by Andreas Gruenbacher.
11518
11519 2010-04-28  Jim Meyering  <meyering@redhat.com>
11520
11521         init.sh: ensure a more reliable exit status when exiting via trap
11522         * tests/init.sh (setup_): Don't rely on $? in signal handler.
11523         Inspired by patches from Dmitry V. Levin.
11524         Also trap on signal 3 (SIGQUIT).
11525
11526 2010-04-27  Bruno Haible  <bruno@clisp.org>
11527
11528         Update doc about utimes().
11529         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
11530         'utimens' module.
11531         Reported by Andreas Gruenbacher <agruen@suse.de>.
11532
11533 2010-04-27  Eric Blake  <eblake@redhat.com>
11534
11535         full-read, full-write: relax license
11536         * modules/full-read (License): Drop to LGPLv2+.
11537         * modules/full-write (License): Likewise.
11538         * modules/safe-read (License): Likewise.
11539         * modules/safe-write (License): Likewise.
11540
11541         pthread: mention library for linking
11542         * modules/pthread (Link): Mention $(LIB_PTHREAD).
11543
11544 2010-04-27  Jim Meyering  <meyering@redhat.com>
11545
11546         maint.mk: fix a bug introduced in last change
11547         * top/maint.mk (gl_assured_headers_): Now that all names are on
11548         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
11549         is not anchored to end of word, it should be adequate.
11550
11551         maint.mk: avoid side-effect in latest syntax-check
11552         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
11553         to run commands via $(shell...), and hence to incur cost only when
11554         the new rule is actually run.
11555
11556         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
11557         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
11558         and use that to create a regexp used to detect all #if HAVE_..._H uses.
11559         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
11560         (gl_assured_headers_, az_, AZ_): Define.
11561         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
11562
11563 2010-04-26  Jim Meyering  <jim@meyering.net>
11564             Bruno Haible  <bruno@clisp.org>
11565
11566         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
11567         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
11568         Prompted by an exchange with Gilles Espinasse.
11569
11570 2010-04-26  Jim Meyering  <meyering@redhat.com>
11571
11572         git-version-gen: aesthetic tweak
11573         * build-aux/git-version-gen: Use "$nl" rather than a literal,
11574         so that the command remains on a single line.
11575
11576 2010-04-26  Eric Blake  <eblake@redhat.com>
11577
11578         git-version-gen: allow use on EBCDIC hosts
11579         * build-aux/git-version-gen (dirty): Use literal rather than tying
11580         ourselves to ascii.
11581         Reported by Steve Goetze.
11582
11583 2010-04-25  Bruno Haible  <bruno@clisp.org>
11584
11585         netdb: Add support for GNULIB_POSIXCHECK.
11586         * lib/netdb.in.h: Include warn-on-use.h.
11587         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
11588         functions are used when GNULIB_POSIXCHECK is defined and the
11589         getaddrinfo module is not in use.
11590         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
11591         freeaddrinfo, gai_strerror, getnameinfo are declared.
11592         * modules/netdb (Depends-on): Add warn-on-use.
11593         (Makefile.am): Include warn-on-use.h in netdb.h.
11594
11595 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
11596
11597         build: avoid "make check" failure without .git/ directory
11598         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
11599         there is no .git/ directory.
11600
11601 2010-04-25  Bruno Haible  <bruno@clisp.org>
11602
11603         ptsname: Fix misuse of ttyname_r.
11604         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
11605         of errno.
11606
11607 2010-04-25  Bruno Haible  <bruno@clisp.org>
11608
11609         ttyname_r: Make it work on Solaris 10.
11610         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
11611         if the system function has the POSIX declaration. Test whether the
11612         function fails if the buffer is less than 128 bytes large.
11613         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
11614         system's ttyname_r function. Provide a reasonably large buffer.
11615         * modules/ttyname_r (Depends-on): Add extensions.
11616         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
11617
11618 2010-04-25  Bruno Haible  <bruno@clisp.org>
11619
11620         Use the 'extensions' module for some more functions on Solaris.
11621         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
11622         module.
11623         * doc/posix-functions/ctime_r.texi: Likewise.
11624         * doc/posix-functions/getgrgid_r.texi: Likewise.
11625         * doc/posix-functions/getgrnam_r.texi: Likewise.
11626         * doc/posix-functions/getpwnam_r.texi: Likewise.
11627         * doc/posix-functions/getpwuid_r.texi: Likewise.
11628         * doc/posix-functions/readdir_r.texi: Likewise.
11629         * doc/posix-functions/sigwait.texi: Likewise.
11630         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
11631         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
11632
11633 2010-04-25  Bruno Haible  <bruno@clisp.org>
11634
11635         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
11636         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
11637         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
11638         * lib/ttyname_r.c: Include <limits.h>.
11639         (ttyname_r): Define using the system's ttyname_r function, if it exists
11640         and not on Solaris.
11641         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
11642         set.
11643         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
11644         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
11645         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
11646         Reported by Simon Josefsson.
11647
11648 2010-04-25  Bruno Haible  <bruno@clisp.org>
11649
11650         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
11651         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
11652         * doc/posix-functions/ctime_r.texi: Likewise.
11653         * doc/posix-functions/getgrgid_r.texi: Likewise.
11654         * doc/posix-functions/getgrnam_r.texi: Likewise.
11655         * doc/posix-functions/getlogin_r.texi: Likewise.
11656         * doc/posix-functions/getpwnam_r.texi: Likewise.
11657         * doc/posix-functions/getpwuid_r.texi: Likewise.
11658         * doc/posix-functions/readdir_r.texi: Likewise.
11659         * doc/posix-functions/sigwait.texi: Likewise.
11660         * doc/posix-functions/ttyname_r.texi: Likewise.
11661         Reported by Simon Josefsson.
11662
11663 2010-04-25  Bruno Haible  <bruno@clisp.org>
11664
11665         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
11666         * gnulib-tool (func_usage): Document that --with-*-tests options apply
11667         also to --create-testdir.
11668         (func_acceptable): Don't consider the status of *-tests modules here.
11669         (func_modules_transitive_closure): Consider it here, before including a
11670         test module.
11671         (func_import, func_create_testdir): Set inc_all_direct_tests,
11672         inc_all_indirect_tests.
11673         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
11674         --create-testdir and --create-megatestdir.
11675
11676 2010-04-25  Bruno Haible  <bruno@clisp.org>
11677
11678         gnulib-tool: Add --without-*-tests options.
11679         * gnulib-tool (func_usage): Document the --without-*-tests options.
11680         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
11681         excl_unportable_tests): New variables.
11682         Fail if they are specified with --import or --update.
11683         (func_acceptable): Respect the excl_*_tests variables.
11684         (func_import): Set the excl_*_tests variables to empty.
11685
11686 2010-04-25  Simon Josefsson  <simon@josefsson.org>
11687             Bruno Haible  <bruno@clisp.org>
11688
11689         Work around a MacOS X 10.4 bug with openpty.
11690         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
11691         * tests/test-openpty.c (main): Close the master side explicitly.
11692
11693 2010-04-25  Bruno Haible  <bruno@clisp.org>
11694
11695         strnlen: Fix a C++ test error on MacOS X and Solaris.
11696         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
11697         the function is not declared.
11698         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
11699         Simon Josefsson.
11700
11701 2010-04-24  Bruno Haible  <bruno@clisp.org>
11702
11703         Avoid a gcc warning.
11704         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
11705         of correct type for %08lx directive.
11706         Reported by Eric Blake.
11707
11708 2010-04-24  Bruno Haible  <bruno@clisp.org>
11709
11710         vasnprintf: Correct errno value in case of out-of-memory.
11711         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
11712         or sprintf. Use the errno value from SNPRINTF or sprintf.
11713         Reported by Ian Beckwith <ianb@erislabs.net>.
11714
11715 2010-04-24  Bruno Haible  <bruno@clisp.org>
11716
11717         ansi-c++-opt: Find correct compiler when cross-compiling.
11718         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
11719         AC_CHECK_PROGS.
11720         Reported by Simon Josefsson.
11721
11722 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
11723
11724         vc-list-files: Add support for subversion
11725         * build-aux/vc-list-files: Use "svn list" to generate the list of
11726         files controlled by subversion.
11727
11728 2010-04-23  Jim Meyering  <meyering@redhat.com>
11729
11730         vc-list-files tests: convert to use init.sh
11731         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
11732         path_prepend_.
11733         Use Exit, not exit.
11734         Use skip_ rather than open coding it.
11735         Remove trap set-up and compare definitions.
11736         * tests/test-vc-list-files-git.sh: Likewise.
11737         * modules/vc-list-files-tests (Files): Add tests/init.sh.
11738
11739 2010-04-22  Simon Josefsson  <simon@josefsson.org>
11740
11741         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
11742         backup files.
11743
11744 2010-04-21  Simon Josefsson  <simon@josefsson.org>
11745
11746         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
11747
11748 2010-04-20  Eric Blake  <eblake@redhat.com>
11749
11750         tests: be robust to ignored SIGPIPE
11751         * tests/test-select-in.sh: Consume all output.
11752         * tests/test-lseek.sh: Check correct exit status, while avoiding
11753         EPIPE.
11754
11755 2010-04-20  Simon Josefsson  <simon@josefsson.org>
11756             Bruno Haible  <bruno@clisp.org>
11757
11758         visibility: Don't use -fvisibility if it leads to a warning.
11759         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
11760         yes, don't pretend that visibility works if it leads to a warning.
11761         Reported by Mike Gran <spk121@yahoo.com>.
11762
11763 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
11764
11765         * build-aux/bootstrap: Use "git -h" for testing for supported options
11766         instead of "git --help".  The short-form option only shows a summary,
11767         and doesn't layout the full man page.  Grep for the full option name
11768         in the summary, too.
11769
11770 2010-04-19  Bruno Haible  <bruno@clisp.org>
11771
11772         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
11773         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
11774         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
11775         mention of RELOCATABLE_STRIP.
11776         Reported by Sylvain Beucler <beuc@beuc.net>.
11777
11778 2010-04-19  Bruno Haible  <bruno@clisp.org>
11779
11780         * lib/diffseq.h: Fix typo in comment.
11781         Reported by Eric Blake.
11782
11783 2010-04-19  Bruno Haible  <bruno@clisp.org>
11784
11785         ioctl: Move autoconf macro to a .m4 file.
11786         * m4/ioctl.m4: New file, extracted from modules/ioctl.
11787         * modules/ioctl (Files): Add it.
11788         (configure.ac): Simply invoke gl_FUNC_IOCTL.
11789         Reported by Ian Beckwith <ianb@erislabs.net>.
11790
11791 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
11792             Bruno Haible  <bruno@clisp.org>
11793
11794         diffseq: Accommodate use-case with abstract arrays.
11795         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
11796         is not defined.
11797         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
11798         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
11799
11800 2010-04-18  Bruno Haible  <bruno@clisp.org>
11801
11802         * doc/posix-headers/stdbool.texi: More precise wording.
11803
11804 2010-04-17  Jim Meyering  <meyering@redhat.com>
11805
11806         maint.mk: use gnu-style indentation in an embedded perl script
11807         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
11808         Rename variable: s/two/last_two_bytes/
11809
11810 2010-04-16  Eric Blake  <eblake@redhat.com>
11811
11812         test-stdbool: skip test that fails with Solaris CC
11813         * tests/test-stdbool.c (f): Skip test that causes compilation
11814         error under buggy C++ compiler.
11815         * lib/stdbool.in.h: Document the limitation.
11816         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
11817
11818         setenv: allow compilation with C++
11819         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
11820         register keyword.
11821
11822         stdint: allow test to pass with C++
11823         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
11824
11825         getopt: allow compilation with C++
11826         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
11827         struct.
11828         * lib/getopt.c (_getopt_internal_r): Use correct type.
11829         Reported by Dagobert Michelson, via Joel E. Denny.
11830
11831 2010-04-16  Bruno Haible  <bruno@clisp.org>
11832
11833         Override netdb.h always.
11834         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
11835         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
11836         Reported by Ludovic Courtès <ludo@gnu.org>.
11837
11838 2010-04-15  Bruno Haible  <bruno@clisp.org>
11839
11840         openpty: Fix mistake from 2010-03-21.
11841         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
11842         Reported by Simon Josefsson.
11843
11844 2010-04-15  Eric Blake  <eblake@redhat.com>
11845
11846         test-forkpty: fix expected signature
11847         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
11848         Reported by Simon Josefsson.
11849
11850 2010-04-15  Jim Meyering  <meyering@redhat.com>
11851
11852         maint.mk: texinfo_suffix_re_: correct the default regexp
11853         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
11854
11855         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
11856         make it configurable via texinfo_suffix_re_.
11857
11858 2010-04-14  Eric Blake  <eblake@redhat.com>
11859
11860         strtok_r: relax license to LGPLv2+
11861         * modules/strtok_r (License): Relax license.
11862         Reported by Matthias Bolte.
11863
11864 2010-04-14  Simon Josefsson  <simon@josefsson.org>
11865
11866         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
11867         version 1.4.4 by default instead of requiring the libgcrypt
11868         version used during build.  This makes it possible to use the
11869         application with older but still binary compatible libgcrypt
11870         versions.
11871
11872 2010-04-13  Eric Blake  <eblake@redhat.com>
11873
11874         getopt-gnu: match recent glibc fixes and posix ruling
11875         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
11876         '+' handling, when requesting extensions.
11877         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
11878         'W;' handling.
11879         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
11880         * doc/posix-functions/getopt.texi (getopt): Document this.
11881         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
11882         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11883         Likewise.
11884
11885         getopt: merge bug fixes from glibc
11886         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
11887         diagnostics.  Honor '+:' correctly.  Reject ';'.
11888
11889         getopt-posix: detect MacOS bug
11890         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
11891         optind when missing a required argument.
11892         * doc/posix-functions/getopt.texi (getopt): Document the bug.
11893         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
11894         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11895         Likewise.
11896
11897         getopt-posix: avoid spurious failure on Solaris
11898         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
11899         an indicator that setting optind=1 is sufficient for reset.
11900
11901         getopt-posix: avoid spurious failure on FreeBSD
11902         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
11903         in POSIX mode, since the m4 test uses it.
11904
11905         gnulib-tool: silence warning on BSD sh
11906         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
11907
11908 2010-04-13  Jim Meyering  <meyering@redhat.com>
11909
11910         doc: users.txt: GNU patch now uses gnulib
11911         * users.txt: Add patch.
11912
11913 2010-04-12  Jim Meyering  <meyering@redhat.com>
11914
11915         maint.mk: generate more concise timing data for syntax-check rules
11916         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
11917         " done" from each line that reports a syntax-check test duration.
11918
11919 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
11920
11921         git-version-gen: use "git update-index..." rather than "git status"
11922         * build-aux/git-version-gen: Use git update-index --refresh, not
11923         "git status".  With some versions of git, "git status" would fail
11924         to update the index and result in an unwarranted "-dirty" suffix.
11925
11926 2010-04-11  Jim Meyering  <meyering@redhat.com>
11927
11928         openat: correct formatting (no semantic change)
11929         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
11930         Suggested by Bruno Haible.
11931
11932 2010-04-11  Bruno Haible  <bruno@clisp.org>
11933
11934         Stricter declaration checking in testdirs.
11935         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
11936         If for_tests is true, augment AM_CPPFLAGS to define
11937         GNULIB_STRICT_CHECKING.
11938         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
11939         GNULIB_STRICT_CHECKING is defined, verify that the function is
11940         declared.
11941
11942 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
11943             Bruno Haible  <bruno@clisp.org>
11944
11945         libunistring: Improve configure output.
11946         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
11947         Don't say "consider installing GNU libunistring" when checking again
11948         with libiconv.
11949
11950 2010-04-11  Bruno Haible  <bruno@clisp.org>
11951
11952         libunistring: Correct value of $LTLIBUNISTRING.
11953         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
11954         correct the value of $LTLIBUNISTRING.
11955
11956 2010-04-11  Bruno Haible  <bruno@clisp.org>
11957
11958         havelib: Add static libraries to LIBS in the right order.
11959         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
11960         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
11961
11962 2010-04-11  Bruno Haible  <bruno@clisp.org>
11963
11964         libunistring: Detect libunistring also when it depends on libiconv.
11965         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
11966         the second AC_LIB_HAVE_LINKFLAGS invocation.
11967
11968 2010-04-11  James Youngman  <jay@gnu.org>
11969
11970         close-stream: declare local scalars to be "const"
11971         * lib/close-stream.c (close_stream): Make boolean variables const
11972         to document the fact that we set but do not change them.
11973
11974 2010-04-11  Bruno Haible  <bruno@clisp.org>
11975
11976         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
11977
11978 2010-04-11  Jim Meyering  <meyering@redhat.com>
11979
11980         maint.mk: don't include dist-check.mk
11981         * top/maint.mk: Remove bogus include directive.
11982
11983         maint.mk: improve empty-line-at-EOF check
11984         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
11985         solution, rather than tail+Perl-based one.  The latter would read
11986         a few kilobytes from the end of each file, and did not handle empty
11987         files properly.
11988
11989         maint.mk: print the elapsed time for each syntax-check rule
11990         * top/maint.mk (sc_m_rules_): Save start time in a file.
11991         (sc_z_rules_): New rules: remove temp file and print elapsed time.
11992         (local-check): Interpose the .z rules
11993
11994 2010-04-11  Jim Meyering  <meyering@redhat.com>
11995
11996         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
11997         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
11998         empty file with one that ends in an empty line.
11999
12000 2010-04-10  Bruno Haible  <bruno@clisp.org>
12001
12002         mkdir: Make it work on mingw64.
12003         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
12004         * lib/mkdir.c: Update comment.
12005         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
12006
12007 2010-04-10  Bruno Haible  <bruno@clisp.org>
12008
12009         Don't override improved macro from newer autoconf.
12010         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
12011         autoconf >= 2.62.
12012         Reported by Joel E. Denny <jdenny@clemson.edu>.
12013
12014 2010-04-10  Jim Meyering  <meyering@redhat.com>
12015
12016         maint.mk: new syntax-check rule: prohibit empty lines at end of file
12017         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
12018
12019         maint.mk: correct a diagnostic
12020         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
12021         in diagnostic; now use $prohibit.
12022
12023 2010-04-10  Bruno Haible  <address@hidden>
12024
12025         fchownat: Fix a C++ test error on Solaris 8.
12026         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
12027         the function does not exist.
12028
12029 2010-04-10  Bruno Haible  <bruno@clisp.org>
12030
12031         vasnprintf: Add more tests.
12032         * tests/test-vasnprintf-posix.c: Include <errno.h>.
12033         (test_function): Test converting an invalid wide string.
12034
12035         vasnprintf: Correct handling of unconvertible wide string arguments.
12036         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
12037         VASNPRINTF.
12038         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
12039         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
12040         smaller than the expected maximum need for the directive. Set errno to
12041         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
12042         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
12043         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
12044         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
12045         * modules/vasnprintf (Files): Add m4/printf.m4.
12046         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12047
12048 2010-04-10  Bruno Haible  <bruno@clisp.org>
12049
12050         vasnprintf: Fix crash in %ls directive.
12051         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
12052         string is passed as argument to %ls, with no precision and no width.
12053         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12054
12055 2010-04-10  Bruno Haible  <bruno@clisp.org>
12056
12057         vasnprintf: Fix multiple test failures on mingw.
12058         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
12059         _snprintf, or snwprintf, not _snwprintf.
12060
12061 2010-04-10  Bruno Haible  <bruno@clisp.org>
12062
12063         write: Fix a C++ test error on mingw.
12064         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
12065
12066 2010-04-10  Bruno Haible  <bruno@clisp.org>
12067
12068         vasnprintf test: Reduce code duplication.
12069         * tests/test-vasnprintf.c (test_function): New function, extracted from
12070         test_vasnprintf.
12071         (test_vasnprintf, test_asnprintf): Invoke it.
12072
12073 2010-04-10  Bruno Haible  <bruno@clisp.org>
12074
12075         strnlen: Fix warning in C++ mode on MacOS X.
12076         * lib/string.in.h (strnlen): Use the modern idiom.
12077         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
12078         defining strnlen as a macro already in <config.h>.
12079         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
12080         REPLACE_STRNLEN.
12081         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
12082         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12083
12084 2010-04-08  James Youngman  <jay@gnu.org>
12085
12086         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
12087         the example.
12088
12089 2010-04-09  Jim Meyering  <meyering@redhat.com>
12090
12091         maint.mk: print better diagnostic when there is no $(_hv_file)
12092         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
12093         announce that when $(_hv_file) (aka help-version) does not exist.
12094
12095         init.sh: run tr in the "C" locale to avoid multibyte interpretation
12096         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
12097         not try to interpret its random input bytes.  Jarno Rajahalme reported
12098         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
12099         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
12100         (mktempd_): Likewise, just in case.
12101
12102         ftruncate: add two years to projected module removal date: 2012
12103         * m4/ftruncate.m4: Adjust comments.
12104
12105         ftruncate: mark module as obsolete; even MinGW provides it, now
12106         * modules/ftruncate (Status): Obsolete.
12107         (Notice): Say that.
12108         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
12109         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
12110
12111 2010-04-08  Bruno Haible  <bruno@clisp.org>
12112
12113         Fix side effects from tests-related modules.
12114         * modules/dprintf-posix (Comment): New section.
12115         * modules/fprintf-posix (Comment): Likewise.
12116         * modules/obstack-printf-posix (Comment): Likewise.
12117         * modules/printf-posix (Comment): Likewise.
12118         * modules/snprintf-posix (Comment): Likewise.
12119         * modules/sprintf-posix (Comment): Likewise.
12120         * modules/vasnprintf-posix (Comment): Likewise.
12121         * modules/vasprintf-posix (Comment): Likewise.
12122         * modules/vdprintf-posix (Comment): Likewise.
12123         * modules/vfprintf-posix (Comment): Likewise.
12124         * modules/vprintf-posix (Comment): Likewise.
12125         * modules/vsnprintf-posix (Comment): Likewise.
12126         * modules/vsprintf-posix (Comment): Likewise.
12127         * modules/xprintf-posix (Comment): Likewise.
12128         * modules/xvasprintf-posix (Comment): Likewise.
12129         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
12130         * modules/floorf-tests (Depends-on): Likewise.
12131         * modules/round-tests (Depends-on): Likewise.
12132         * modules/roundf-tests (Depends-on): Likewise.
12133         * modules/trunc-tests (Depends-on): Likewise.
12134         * modules/truncf-tests (Depends-on): Likewise.
12135         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
12136         'fprintf-posix' module is not present.
12137         * tests/test-floorf2.c (check): Likewise.
12138         * tests/test-trunc2.c (check): Likewise.
12139         * tests/test-truncf2.c (check): Likewise.
12140         * tests/test-round2.c (equal): Likewise.
12141         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12142
12143 2010-04-07  Karl Berry  <karl@gnu.org>
12144
12145         * config/srclist.txt,
12146         * config/srclistvars.sh,
12147         * config/srclist-update: doc fixes.
12148
12149 2010-04-07  Jim Meyering  <meyering@redhat.com>
12150
12151         maint.mk: add a PATH crosschecking syntax-check rule
12152         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
12153         Useful if you use a test like the one in help-version (coreutils,
12154         diffutils, grep, gzip) that ensures $(VERSION) matches what is
12155         printed by prog --version.
12156
12157 2010-04-06  Bruno Haible  <bruno@clisp.org>
12158
12159         Fix link error on mingw.
12160         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
12161         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
12162
12163 2010-04-06  Bruno Haible  <bruno@clisp.org>
12164
12165         Assume rmdir exists.
12166         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
12167
12168 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
12169
12170         doc: update users.txt
12171         * users.txt: Add gcal.
12172
12173 2010-04-06  Jim Meyering  <meyering@redhat.com>
12174
12175         init.sh: simply unset TMPDIR rather than risking env -i
12176         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
12177         although it probably works fine on all Unix-based systems, some
12178         systems (Cygwin?) cannot tolerate a totally cleared environment.
12179         Suggestion from Eric Blake.
12180
12181 2010-04-06  Jim Meyering  <meyering@redhat.com>
12182
12183         init.sh: portability fix: use env's POSIX-specified -i option not -u
12184         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
12185         than unportable env -u.  Solaris 5.11's env lacks support for -u.
12186
12187 2010-04-05  Bruno Haible  <bruno@clisp.org>
12188
12189         btowc: Work around Cygwin 1.7.2 bug.
12190         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
12191         does not map NUL to 0.
12192         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
12193
12194 2010-04-05  Bruno Haible  <bruno@clisp.org>
12195
12196         Make the multithread modules work on Cygwin 1.7.2.
12197         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
12198         imported symbols can be declared weak, so that it returns "no" on
12199         Cygwin 1.7.2.
12200
12201 2010-04-05  Bruno Haible  <bruno@clisp.org>
12202
12203         Use the module 'strncat'.
12204         * modules/unistr/u8-strncat (Depends-on): Add strncat.
12205
12206         Tests for module 'strncat'.
12207         * modules/strncat-tests: New file.
12208         * tests/test-strncat.c: New file.
12209
12210         New module 'strncat'.
12211         * lib/string.in.h (strncat): New declaration.
12212         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
12213         * m4/strncat.m4: New file, based on m4/memchr.m4.
12214         * modules/strncat: New file.
12215         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
12216         is declared.
12217         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
12218         REPLACE_STRNCAT.
12219         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
12220         REPLACE_STRNCAT.
12221         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
12222         module.
12223         * tests/test-string-c++.cc: Check signature of strncat.
12224
12225 2010-04-05  Jim Meyering  <meyering@redhat.com>
12226
12227         xstrtoumax-tests: convert to use init.sh
12228         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
12229         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12230         Use Exit, not exit.
12231         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12232
12233         xstrtoimax-tests: convert to use init.sh
12234         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
12235         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12236         Use Exit, not exit.
12237         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12238
12239 2010-04-05  Bruno Haible  <bruno@clisp.org>
12240
12241         sys_socket: Avoid #define replacements in C++ mode.
12242         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
12243         warning to the function if possible, rather than #defining the symbol
12244         to a dysfunctional alias.
12245
12246 2010-04-05  Bruno Haible  <bruno@clisp.org>
12247
12248         fseeko: Fix C++ test error on mingw.
12249         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
12250         gl_FUNC_FSEEKO.
12251         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
12252         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
12253         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
12254         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
12255
12256 2010-04-05  Bruno Haible  <bruno@clisp.org>
12257
12258         duplocale: Improve test output.
12259         * tests/test-duplocale.c (main): Print reason for skipped test.
12260
12261 2010-04-05  Bruno Haible  <bruno@clisp.org>
12262
12263         Assume rmdir exists.
12264         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
12265         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
12266
12267 2010-04-05  Bruno Haible  <bruno@clisp.org>
12268
12269         Fix link error on Solaris 8 with cc.
12270         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
12271
12272 2010-04-05  Bruno Haible  <bruno@clisp.org>
12273
12274         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
12275         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
12276
12277 2010-04-05  Bruno Haible  <bruno@clisp.org>
12278
12279         vasprintf: Update documentation.
12280         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
12281
12282 2010-04-05  Bruno Haible  <bruno@clisp.org>
12283
12284         ptsname: Improve test.
12285         * tests/test-ptsname.c (main): Also try the various master names of BSD
12286         systems.
12287
12288 2010-04-05  Bruno Haible  <bruno@clisp.org>
12289
12290         memchr: Avoid a possible C++ test error.
12291         * lib/string.in.h (memchr): Provide declaration if function is missing.
12292         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
12293         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
12294         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
12295         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
12296
12297 2010-04-05  Bruno Haible  <bruno@clisp.org>
12298
12299         strtok_r: Improve idiom.
12300         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
12301         AC_LIBOBJ is used.
12302
12303 2010-04-05  Bruno Haible  <bruno@clisp.org>
12304
12305         strdup: Improve idiom.
12306         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
12307         AC_LIBOBJ is used.
12308         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
12309         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
12310         when AC_LIBOBJ is used.
12311
12312 2010-04-05  Bruno Haible  <bruno@clisp.org>
12313
12314         mbsinit, mbrtowc, wcrtomb: Improve idioms.
12315         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
12316         don't set REPLACE_MBSINIT to 1.
12317         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
12318         don't set REPLACE_MBRTOWC to 1.
12319         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
12320         exist, don't set REPLACE_MBSRTOWCS to 1.
12321         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
12322         exist, don't set REPLACE_MBSNRTOWCS to 1.
12323         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
12324         don't set REPLACE_WCRTOMB to 1.
12325         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
12326         exist, don't set REPLACE_WCSRTOMBS to 1.
12327         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
12328         exist, don't set REPLACE_WCSNRTOMBS to 1.
12329
12330 2010-04-05  Bruno Haible  <bruno@clisp.org>
12331
12332         ldexpl: Improve idiom.
12333         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
12334         make sure to set HAVE_DECL_LDEXPL to 0.
12335
12336 2010-04-05  Jim Meyering  <meyering@redhat.com>
12337
12338         xstrtol-tests: convert to use init.sh
12339         * modules/xstrtol-tests (Files): Add tests/init.sh.
12340         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12341         Use Exit, not exit.
12342         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12343
12344         atexit-tests: convert to use init.sh
12345         * modules/atexit-tests (Files): Add tests/init.sh.
12346         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12347         Use Exit, not exit.
12348         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12349
12350         init.sh: fix typo
12351         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
12352
12353         init.sh: make it easier for a test script to write to the tty, ...
12354         when using automake's parallel-tests mode.
12355         * tests/init.sh (stderr_fileno_): Define overridable variable.
12356         (warn_): New function, to use it.
12357         (fail_, skip_, framework_failure_): Use warn_.
12358
12359 2010-04-04  Bruno Haible  <bruno@clisp.org>
12360
12361         btowc: Avoid warning.
12362         * lib/btowc.c: Include <stdlib.h>.
12363         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
12364
12365 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
12366             Bruno Haible  <bruno@clisp.org>
12367
12368         wchar: Port to NetBSD 1.5.
12369         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
12370         * lib/wctype.in.h (WEOF): Likewise.
12371
12372 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
12373             Bruno Haible  <bruno@clisp.org>
12374
12375         Port extended stdio to NetBSD 1.5.
12376         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
12377         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
12378         older.
12379
12380 2010-04-04  Bruno Haible  <bruno@clisp.org>
12381
12382         string: Remove unused substitution.
12383         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
12384         HAVE_DECL_STRERROR.
12385         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
12386
12387 2010-04-04  Bruno Haible  <bruno@clisp.org>
12388
12389         strtod: Avoid a possible C++ test error.
12390         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
12391         set REPLACE_STRTOD.
12392
12393 2010-04-04  Bruno Haible  <bruno@clisp.org>
12394
12395         strerror: Update documentation.
12396         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
12397
12398 2010-04-04  Bruno Haible  <bruno@clisp.org>
12399
12400         stdio: Fix some C++ test errors on Solaris 8 with GCC.
12401         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
12402         _GL_CXXALIAS_SYS_CAST.
12403
12404 2010-04-04  Bruno Haible  <bruno@clisp.org>
12405
12406         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
12407         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
12408         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
12409         REPLACE_FREXPL to 1.
12410         * doc/posix-functions/frexpl.texi: Update documentation.
12411
12412 2010-04-04  Bruno Haible  <bruno@clisp.org>
12413
12414         math: Fix some C++ test errors on Solaris 8 and Cygwin.
12415         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
12416
12417 2010-04-04  Bruno Haible  <bruno@clisp.org>
12418
12419         Implement nanosleep for native Windows.
12420         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
12421
12422 2010-04-04  Bruno Haible  <bruno@clisp.org>
12423
12424         math: Fix some C++ test errors on Solaris 8.
12425         * lib/math.in.h (truncf, trunc): Use simpler idiom.
12426
12427 2010-04-04  Bruno Haible  <bruno@clisp.org>
12428
12429         math: Fix some C++ test errors on Cygwin.
12430         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
12431         truncl): Provide declaration if the system does not have it.
12432         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
12433         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
12434         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
12435         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
12436         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
12437         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
12438         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
12439         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
12440         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
12441         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
12442         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
12443         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
12444         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
12445         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
12446         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
12447         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
12448         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
12449         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
12450         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
12451         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
12452         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
12453         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
12454
12455 2010-04-04  Bruno Haible  <bruno@clisp.org>
12456
12457         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
12458         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
12459         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
12460         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
12461         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
12462         * m4/isinf.m4 (gl_ISINF): Likewise.
12463         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
12464
12465 2010-04-04  Bruno Haible  <bruno@clisp.org>
12466
12467         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
12468         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
12469
12470 2010-04-04  Bruno Haible  <bruno@clisp.org>
12471
12472         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
12473         * modules/tmpfile (configure.ac): Update.
12474
12475         tmpfile: Fix C++ test error on mingw.
12476         * lib/stdio.in.h (tmpfile): New declaration.
12477         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
12478         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
12479         * modules/tmpfile (Depends-on): Add stdio.
12480         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
12481         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
12482         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
12483         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
12484         REPLACE_TMPFILE.
12485         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
12486
12487 2010-04-04  Bruno Haible  <bruno@clisp.org>
12488
12489         ioctl: Fix C++ test error on mingw.
12490         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
12491         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
12492         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
12493
12494 2010-04-03  Bruno Haible  <bruno@clisp.org>
12495
12496         wcwidth: Fix C++ test error on mingw.
12497         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
12498         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
12499         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
12500
12501 2010-04-03  Bruno Haible  <bruno@clisp.org>
12502
12503         nanosleep: Fix C++ test error on mingw.
12504         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
12505         * lib/time.in.h (nanosleep): Use modern idiom.
12506         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
12507         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
12508         REPLACE_NANOSLEEP to 1.
12509         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
12510         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
12511
12512 2010-04-03  Bruno Haible  <bruno@clisp.org>
12513
12514         strptime: Fix C++ test error on mingw.
12515         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
12516         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
12517         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
12518         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
12519         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
12520         not REPLACE_STRPTIME.
12521         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
12522         REPLACE_STRPTIME.
12523
12524 2010-04-03  Bruno Haible  <bruno@clisp.org>
12525
12526         timegm: Fix C++ test error on mingw.
12527         * lib/time.in.h (timegm): Use modern idiom.
12528         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
12529         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
12530         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
12531         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
12532
12533 2010-04-03  Bruno Haible  <bruno@clisp.org>
12534
12535         timegm: Assume declaration if function exists.
12536         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
12537         if it exists. Don't clobber ac_cv_func_timegm.
12538
12539 2010-04-03  Bruno Haible  <bruno@clisp.org>
12540
12541         time_r: Fix C++ test error on mingw.
12542         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
12543         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
12544         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
12545         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
12546         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
12547
12548 2010-04-03  Bruno Haible  <bruno@clisp.org>
12549
12550         time_r: Minor updates.
12551         * modules/time_r (Description): Mention the provided functions.
12552         * lib/time_r.c: Don't include <string.h>.
12553         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
12554         * doc/posix-functions/localtime_r.texi: Likewise.
12555
12556 2010-04-03  Bruno Haible  <bruno@clisp.org>
12557
12558         time: Fix regression introduced on 2010-03-08.
12559         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
12560         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
12561
12562 2010-04-03  Jim Meyering  <meyering@redhat.com>
12563
12564         maint.mk: don't silently disable project-specific syntax-check rules
12565         * top/maint.mk (_prohibit_regexp): Define, to help people realize
12566         that they need to convert their project-specific syntax-check rules
12567         to use the new _sc_search_regexp.
12568
12569 2010-04-03  Bruno Haible  <bruno@clisp.org>
12570
12571         fchdir: Fix regression introduced on 2010-03-08.
12572         * lib/unistd.in.h (fchdir): Fix declaration.
12573         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
12574         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
12575         REPLACE_FCHDIR.
12576         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
12577         REPLACE_FCHDIR.
12578
12579 2010-04-03  Bruno Haible  <bruno@clisp.org>
12580
12581         getpagesize: Fix C++ test error on mingw.
12582         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
12583         system does not declare the function.
12584         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
12585         declared.
12586         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12587         HAVE_DECL_GETPAGESIZE.
12588         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
12589
12590 2010-04-03  Bruno Haible  <bruno@clisp.org>
12591
12592         stdio: Make C++ tests work on mingw.
12593         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
12594         does not declare the function.
12595
12596 2010-04-03  Bruno Haible  <bruno@clisp.org>
12597
12598         ftello: Fix C++ test error on mingw.
12599         * lib/stdio.in.h (ftello): Use modern idiom.
12600         * lib/ftello.c (ftello): Renamed from rpl_ftello.
12601         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
12602         is missing and that it needs to be replaced.
12603         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
12604         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
12605         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
12606
12607 2010-04-03  Bruno Haible  <bruno@clisp.org>
12608
12609         fseeko: Fix C++ test error on mingw.
12610         * lib/stdio.in.h (fseeko): Use modern idiom.
12611         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
12612         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
12613         is missing and that it needs to be replaced.
12614         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
12615         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
12616         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
12617
12618 2010-04-03  Bruno Haible  <bruno@clisp.org>
12619
12620         mkstemp: Fix C++ test error on mingw.
12621         * lib/stdlib.in.h (mkstemp): Use modern idiom.
12622         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
12623         function is missing and that it needs to be replaced.
12624         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
12625         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
12626
12627 2010-04-03  Bruno Haible  <bruno@clisp.org>
12628
12629         stpncpy: Fix C++ test error on mingw.
12630         * lib/string.in.h (stpncpy): Use modern idiom.
12631         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
12632         function is missing and that it needs to be replaced.
12633         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
12634         REPLACE_STPNCPY.
12635         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
12636
12637 2010-04-03  Bruno Haible  <bruno@clisp.org>
12638
12639         sys_stat: Fix C++ test error on mingw.
12640         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
12641         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
12642
12643 2010-04-03  Bruno Haible  <bruno@clisp.org>
12644
12645         pty: Update doc.
12646         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
12647
12648 2010-04-03  Bruno Haible  <bruno@clisp.org>
12649
12650         unistd: Fix C++ test error on mingw.
12651         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
12652
12653 2010-04-03  Bruno Haible  <bruno@clisp.org>
12654
12655         Update doc regarding mingw.
12656         * doc/glibc-functions/openpty.texi: Update regarding mingw.
12657         * doc/glibc-functions/login_tty.texi: Likewise.
12658         * doc/glibc-functions/forkpty.texi: Likewise.
12659
12660 2010-04-03  Bruno Haible  <bruno@clisp.org>
12661
12662         stdlib: Avoid compilation failure of c-strtold on mingw.
12663         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
12664
12665 2010-04-03  Bruno Haible  <bruno@clisp.org>
12666
12667         locale: Make C++ tests work on Cygwin and mingw.
12668         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
12669         cannot provide the function.
12670         Reported by Simon Josefsson.
12671
12672 2010-04-03  Bruno Haible  <bruno@clisp.org>
12673
12674         localename: Port to MacOS X 10.6.
12675         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
12676         memory layout of the locales in MacOS X 10.6 as well.
12677         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
12678
12679 2010-04-02  Bruno Haible  <bruno@clisp.org>
12680
12681         gnulib-tool: Ensure that long-running tests are executed last.
12682         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
12683         running tests after the one for the other tests.
12684
12685 2010-04-02  Bruno Haible  <bruno@clisp.org>
12686
12687         gnulib-tool: Ensure the tests in the main directory are executed first.
12688         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
12689         start with the current directory.
12690
12691 2010-04-02  Bruno Haible  <bruno@clisp.org>
12692
12693         Tests for module 'havelib', moved here from GNU gettext.
12694         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
12695         modifications.
12696         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
12697         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
12698         with modifications.
12699         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
12700         modifications.
12701         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
12702         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
12703         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
12704         with modifications.
12705         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
12706         with modifications.
12707         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
12708         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
12709         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
12710         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
12711         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
12712         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
12713         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
12714         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
12715         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
12716         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
12717         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
12718         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
12719         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
12720         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
12721         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
12722         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
12723         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
12724         with modifications.
12725         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
12726         with modifications.
12727         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
12728         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
12729         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
12730         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
12731         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
12732         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
12733         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
12734         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
12735         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
12736         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
12737         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
12738         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
12739         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
12740         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
12741         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
12742         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
12743         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
12744         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
12745         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
12746         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
12747         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
12748         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
12749         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
12750         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
12751         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
12752         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
12753         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
12754         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
12755         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
12756         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
12757         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
12758         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
12759         * tests/havelib/rpathx/rpathx.c: New file, from
12760         gettext/autoconf-lib-link.
12761         * tests/havelib/rpathx/Makefile.am: New file, from
12762         gettext/autoconf-lib-link.
12763         * tests/havelib/rpathx/configure.ac: New file, from
12764         gettext/autoconf-lib-link with modifications.
12765         * tests/havelib/rpathy/rpathy.c: New file, from
12766         gettext/autoconf-lib-link.
12767         * tests/havelib/rpathy/Makefile.am: New file, from
12768         gettext/autoconf-lib-link.
12769         * tests/havelib/rpathy/configure.ac: New file, from
12770         gettext/autoconf-lib-link with modifications.
12771         * tests/havelib/rpathz/rpathz.c: New file, from
12772         gettext/autoconf-lib-link.
12773         * tests/havelib/rpathz/Makefile.am: New file, from
12774         gettext/autoconf-lib-link.
12775         * tests/havelib/rpathz/configure.ac: New file, from
12776         gettext/autoconf-lib-link with modifications.
12777         * tests/havelib/rpathlx/usex.c: New file, from
12778         gettext/autoconf-lib-link.
12779         * tests/havelib/rpathlx/Makefile.am: New file, from
12780         gettext/autoconf-lib-link.
12781         * tests/havelib/rpathlx/configure.ac: New file, from
12782         gettext/autoconf-lib-link with modifications.
12783         * tests/havelib/rpathly/usey.c: New file, from
12784         gettext/autoconf-lib-link.
12785         * tests/havelib/rpathly/Makefile.am: New file, from
12786         gettext/autoconf-lib-link.
12787         * tests/havelib/rpathly/configure.ac: New file, from
12788         gettext/autoconf-lib-link with modifications.
12789         * tests/havelib/rpathlz/usez.c: New file, from
12790         gettext/autoconf-lib-link.
12791         * tests/havelib/rpathlz/Makefile.am: New file, from
12792         gettext/autoconf-lib-link.
12793         * tests/havelib/rpathlz/configure.ac: New file, from
12794         gettext/autoconf-lib-link with modifications.
12795         * tests/havelib/rpathlyx/usey.c: New file, from
12796         gettext/autoconf-lib-link.
12797         * tests/havelib/rpathlyx/Makefile.am: New file, from
12798         gettext/autoconf-lib-link.
12799         * tests/havelib/rpathlyx/configure.ac: New file, from
12800         gettext/autoconf-lib-link with modifications.
12801         * tests/havelib/rpathlzyx/usez.c: New file, from
12802         gettext/autoconf-lib-link.
12803         * tests/havelib/rpathlzyx/Makefile.am: New file, from
12804         gettext/autoconf-lib-link.
12805         * tests/havelib/rpathlzyx/configure.ac: New file, from
12806         gettext/autoconf-lib-link with modifications.
12807         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
12808         with modifications.
12809
12810 2010-04-02  Bruno Haible  <bruno@clisp.org>
12811
12812         gnulib-tool: Create distributed built sources also for the tests.
12813         * gnulib-tool (func_create_testdir): Also generate distributed built
12814         sources in the tests directory.
12815
12816 2010-04-02  Bruno Haible  <bruno@clisp.org>
12817
12818         gnulib-tool: Obey user's environment variables.
12819         * gnulib-tool (func_create_testdir): When creating built sources,
12820         respect the environment variables for autoconf, automake, etc. given by
12821         the user.
12822
12823 2010-04-02  Bruno Haible  <bruno@clisp.org>
12824
12825         gnulib-tool: Provide the value of --m4-base to modules.
12826         * gnulib-tool (func_import, func_create_testdir): Emit a definition
12827         of gl_m4_base.
12828
12829 2010-04-02  Eric Blake  <eblake@redhat.com>
12830
12831         maint.mk: fix some fallout
12832         * NEWS: Document the incompatible change, and its effect on cfg.mk.
12833         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
12834
12835 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
12836
12837         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
12838         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
12839         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
12840         (sc_cast_of_x_alloc_return_value): Likewise.
12841         (sc_cast_of_alloca_return_value): Likewise.
12842         (sc_space_tab): Likewise.
12843         (sc_prohibit_atoi_atof): Likewise.
12844         (sc_prohibit_magic_number_exit): Likewise.
12845         (sc_error_exit_success): Likewise.
12846         (sc_file_system): Likewise.
12847         (sc_prohibit_have_config_h): Likewise.
12848         (sc_require_config_h): Likewise.
12849         (sc_prohibit_HAVE_MBRTOWC): Likewise.
12850         (sc_obsolete_symbols): Likewise.
12851         (sc_changelog): Likewise.
12852         (sc_program_name): Likewise.
12853         (sc_the_the): Likewise.
12854         (sc_trailing_blank): Likewise.
12855         (sc_two_space_separator_in_usage): Likewise.
12856         (sc_useless_cpp_parens): Likewise.
12857         (sc_GPL_version): Likewise.
12858         (sc_GFDL_version): Likewise.
12859         (sc_texinfo_acronym): Likewise.
12860         (sc_prohibit_cvs_keyword): Likewise.
12861         (sc_prohibit_stat_st_blocks): Likewise.
12862         (sc_prohibit_S_IS_definition): Likewise.
12863         (sc_redundant_const): Likewise.
12864         (sc_makefile_TAB_only_indentation): Likewise.
12865         (sc_m4_quote_check): Likewise.
12866         (sc_makefile_path_separator_check): Likewise.
12867         (sc_copyright_check): Likewise.
12868         (sc_Wundef_boolean): Likewise.
12869         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
12870
12871         maint.mk: match 0 or more whitespace-before-function-call '('
12872         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
12873         that have zero or two-and-more spaces between the function name
12874         and the open parenthesis.
12875         (sc_error_message_warn_fatal): Likewise.
12876         (sc_error_message_uppercase): Likewise.
12877         (sc_error_message_period): Likewise.
12878
12879 2010-03-31  Eric Blake  <eblake@redhat.com>
12880
12881         maint.mk: check for [ as well as test
12882         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
12883         Based on a libvirt report by Matthias Bolte.
12884
12885         gnumakefile: don't squelch _version output
12886         * top/GNUmakefile (_version): Create one-shot dependency rather
12887         than using $(shell) when version must be regenerated.
12888         (_autoreconf): Run verbosely, by default.
12889
12890         sys_time: avoid compiler warnings
12891         * lib/sys_time.in.h (includes): Ensure gcc pragma is
12892         unconditional, fixing regression from 2010-03-29.
12893         Reported by Simon Josefsson.
12894
12895 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
12896
12897         maint.mk: s/_header_without_use/_sc_header_without_use/
12898         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
12899         (sc_prohibit_assert_without_use): Use the new name.
12900         (sc_prohibit_close_stream_without_use): Likewise.
12901         (sc_prohibit_getopt_without_use): Likewise.
12902         (sc_prohibit_quotearg_without_use): Likewise.
12903         (sc_prohibit_quote_without_use): Likewise.
12904         (sc_prohibit_long_options_without_use): Likewise.
12905         (sc_prohibit_inttostr_without_use): Likewise.
12906         (sc_prohibit_ignore_value_without_use): Likewise.
12907         (sc_prohibit_error_without_use): Likewise.
12908         (sc_prohibit_xalloc_without_use): Likewise.
12909         (sc_prohibit_hash_without_use): Likewise.
12910         (sc_prohibit_hash_pjw_without_use): Likewise.
12911         (sc_prohibit_safe_read_without_use): Likewise.
12912         (sc_prohibit_argmatch_without_use): Likewise.
12913         (sc_prohibit_canonicalize_without_use): Likewise.
12914         (sc_prohibit_root_dev_ino_without_use): Likewise.
12915         (sc_prohibit_openat_without_use): Likewise.
12916         (sc_prohibit_c_ctype_without_use): Likewise.
12917         (sc_prohibit_signal_without_use): Likewise.
12918         (sc_prohibit_intprops_without_use): Likewise.
12919
12920 2010-03-30  Eric Blake  <eblake@redhat.com>
12921
12922         maint: improve module indicators
12923         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
12924         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
12925         columns, and avoid extra macro expansion.
12926
12927         fdopendir: work around FreeBSD bug
12928         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
12929         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
12930         * modules/dirent (Makefile.am): Substitute it.
12931         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
12932         declaration.
12933         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
12934         fix.
12935         Reported by Christian Weisgerber <naddy@mips.inka.de>.
12936
12937 2010-03-29  Bruno Haible  <bruno@clisp.org>
12938
12939         Emit #pragma system_header after the inclusion guard, not before.
12940         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
12941         guard that spans the entire file, not before. This enables an
12942         optimization in GCC's preprocessor.
12943         * lib/ctype.in.h: Likewise.
12944         * lib/dirent.in.h: Likewise.
12945         * lib/errno.in.h: Likewise.
12946         * lib/float.in.h: Likewise.
12947         * lib/getopt.in.h: Likewise.
12948         * lib/iconv.in.h: Likewise.
12949         * lib/langinfo.in.h: Likewise.
12950         * lib/locale.in.h: Likewise.
12951         * lib/math.in.h: Likewise.
12952         * lib/netdb.in.h: Likewise.
12953         * lib/netinet_in.in.h: Likewise.
12954         * lib/pty.in.h: Likewise.
12955         * lib/sched.in.h: Likewise.
12956         * lib/se-selinux.in.h: Likewise.
12957         * lib/search.in.h: Likewise.
12958         * lib/spawn.in.h: Likewise.
12959         * lib/stdarg.in.h: Likewise.
12960         * lib/stdint.in.h: Likewise.
12961         * lib/string.in.h: Likewise.
12962         * lib/strings.in.h: Likewise.
12963         * lib/sys_file.in.h: Likewise.
12964         * lib/sys_ioctl.in.h: Likewise.
12965         * lib/sys_time.in.h: Likewise.
12966         * lib/sys_times.in.h: Likewise.
12967         * lib/sys_utsname.in.h: Likewise.
12968         * lib/sys_wait.in.h: Likewise.
12969         * lib/sysexits.in.h: Likewise.
12970         * lib/wctype.in.h: Likewise.
12971
12972 2010-03-28  James Youngman  <jay@gnu.org>
12973
12974         save-cwd: don't leak a file descriptor when the caller execs.
12975         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
12976         saved file descriptor.
12977         * modules/save-cwd (Depends-on): Depend on cloexec.
12978
12979 2010-03-29  Bruno Haible  <bruno@clisp.org>
12980
12981         Remove vestiges of fts-lgpl module.
12982         * lib/fts_.h: Assume GNULIB_FTS is 1.
12983         * lib/fts.c: Likewise.
12984         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
12985
12986 2010-03-28  Bruno Haible  <bruno@clisp.org>
12987
12988         Fix definition of tests witness macro.
12989         * gnulib-tool (func_import): Fix definition of witness macro.
12990
12991 2010-03-28  Bruno Haible  <bruno@clisp.org>
12992
12993         Fix ioctl's protoype on glibc systems.
12994         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
12995         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
12996         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
12997         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
12998         signature. If not, arrange to replace the ioctl function.
12999         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
13000         REPLACE_IOCTL.
13001         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
13002         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
13003         Reported by Ludovic Courtès <ludo@gnu.org>.
13004
13005 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
13006
13007         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
13008         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
13009         made it so grep -r --include=GLOB* ... did not work.
13010
13011 2010-03-26  Jim Meyering  <meyering@redhat.com>
13012             Eric Blake  <eblake@redhat.com>
13013
13014         maint.mk: prohibit use of test's -o and -a operators
13015         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
13016
13017 2010-03-28  Bruno Haible  <bruno@clisp.org>
13018
13019         Remove unused GNULIB_XYZ macro definitions.
13020         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
13021         invocation.
13022
13023 2010-03-28  Bruno Haible  <bruno@clisp.org>
13024
13025         Mark privileged tests modules.
13026         * modules/idpriv-drop-tests (Status): New section.
13027         * modules/idpriv-droptemp-tests (Status): New section.
13028
13029 2010-03-28  Bruno Haible  <bruno@clisp.org>
13030
13031         Split C++ tests into separate tests modules.
13032         * modules/dirent-c++-tests: New file, extracted from
13033         modules/dirent-tests.
13034         * modules/dirent-tests: Depend on it.
13035         * modules/fcntl-h-c++-tests: New file, extracted from
13036         modules/fcntl-h-tests.
13037         * modules/fcntl-h-tests: Depend on it.
13038         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
13039         * modules/glob-tests: Depend on it.
13040         * modules/iconv-h-c++-tests: New file, extracted from
13041         modules/iconv-h-tests.
13042         * modules/iconv-h-tests: Depend on it.
13043         * modules/langinfo-c++-tests: New file, extracted from
13044         modules/langinfo-tests.
13045         * modules/langinfo-tests: Depend on it.
13046         * modules/locale-c++-tests: New file, extracted from
13047         modules/locale-tests.
13048         * modules/locale-tests: Depend on it.
13049         * modules/math-c++-tests: New file, extracted from modules/math-tests.
13050         * modules/math-tests: Depend on it.
13051         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
13052         * modules/pty-tests: Depend on it.
13053         * modules/search-c++-tests: New file, extracted from
13054         modules/search-tests.
13055         * modules/search-tests: Depend on it.
13056         * modules/signal-c++-tests: New file, extracted from
13057         modules/signal-tests.
13058         * modules/signal-tests: Depend on it.
13059         * modules/spawn-c++-tests: New file, extracted from
13060         modules/spawn-tests.
13061         * modules/spawn-tests: Depend on it.
13062         * modules/stdio-c++-tests: New file, extracted from
13063         modules/stdio-tests.
13064         * modules/stdio-tests: Depend on it.
13065         * modules/stdlib-c++-tests: New file, extracted from
13066         modules/stdlib-tests.
13067         * modules/stdlib-tests: Depend on it.
13068         * modules/string-c++-tests: New file, extracted from
13069         modules/string-tests.
13070         * modules/string-tests: Depend on it.
13071         * modules/sys_ioctl-c++-tests: New file, extracted from
13072         modules/sys_ioctl-tests.
13073         * modules/sys_ioctl-tests: Depend on it.
13074         * modules/sys_select-c++-tests: New file, extracted from
13075         modules/sys_select-tests.
13076         * modules/sys_select-tests: Depend on it.
13077         * modules/sys_socket-c++-tests: New file, extracted from
13078         modules/sys_socket-tests.
13079         * modules/sys_socket-tests: Depend on it.
13080         * modules/sys_stat-c++-tests: New file, extracted from
13081         modules/sys_stat-tests.
13082         * modules/sys_stat-tests: Depend on it.
13083         * modules/sys_time-c++-tests: New file, extracted from
13084         modules/sys_time-tests.
13085         * modules/sys_time-tests: Depend on it.
13086         * modules/time-c++-tests: New file, extracted from modules/time-tests.
13087         * modules/time-tests: Depend on it.
13088         * modules/unistd-c++-tests: New file, extracted from
13089         modules/unistd-tests.
13090         * modules/unistd-tests: Depend on it.
13091         * modules/wchar-c++-tests: New file, extracted from
13092         modules/wchar-tests.
13093         * modules/wchar-tests: Depend on it.
13094         * modules/wctype-c++-tests: New file, extracted from
13095         modules/wctype-tests.
13096         * modules/wctype-tests: Depend on it.
13097         Reported by Simon Josefsson.
13098
13099 2010-03-28  Bruno Haible  <bruno@clisp.org>
13100
13101         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
13102         * gnulib-tool (func_exists_module): New function, extracted from
13103         func_verify_module.
13104         (func_verify_module): Use it.
13105         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
13106         'foo' only if 'foo' exists.
13107         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
13108         module.
13109
13110 2010-03-28  Bruno Haible  <bruno@clisp.org>
13111
13112         gnulib-tool: Add support for special categories of tests.
13113         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
13114         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
13115         (func_usage): Document them.
13116         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
13117         inc_unportable_tests, inc_all_tests): New variables.
13118         (func_acceptable): Consider these variables.
13119         (func_modules_transitive_closure): Make it work when the 'Status' field
13120         consists of multiple words.
13121         (func_import): Store and restore the values of inc_cxx_tests,
13122         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
13123         inc_all_tests in gnulib-comp.m4.
13124         (func_create_testdir): Set inc_all_tests to true.
13125         * doc/gnulib.texi (Extra tests modules): New section.
13126         Suggested by Jim Meyering.
13127
13128 2010-03-28  Bruno Haible  <bruno@clisp.org>
13129
13130         ansi-c++-opt: Allow turning off the C++ build by default.
13131         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
13132         gl_CXX_CHOICE_DEFAULT_NO is defined.
13133         Requested by Eric Blake.
13134
13135 2010-03-28  Bruno Haible  <bruno@clisp.org>
13136
13137         unistd: Avoid #define replacements in C++ mode.
13138         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
13139         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
13140         setsockopt, shutdown, select): In C++, attach a warning to the function
13141         if possible, rather than #defining the symbol to a dysfunctional alias.
13142         Reported by John W. Eaton <jwe@gnu.org>.
13143
13144 2010-03-28  Bruno Haible  <bruno@clisp.org>
13145
13146         Fix link errors on mingw.
13147         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
13148         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
13149         $(LIBSOCKET).
13150         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
13151         $(LIBSOCKET).
13152
13153 2010-03-28  Bruno Haible  <bruno@clisp.org>
13154             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13155
13156         lib-ignore: Determine different options for different compilers.
13157         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
13158         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
13159         Add comments.
13160         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
13161         * NEWS: Mention the change.
13162
13163 2010-03-27  Bruno Haible  <bruno@clisp.org>
13164
13165         Remove unused GNULIB_XYZ macro definitions.
13166         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
13167         * modules/fseek (configure.ac): Likewise.
13168         * modules/ioctl (configure.ac): Likewise.
13169         * modules/open (configure.ac): Likewise.
13170         * modules/stdlib-safer (configure.ac): Likewise.
13171
13172 2010-03-27  Bruno Haible  <bruno@clisp.org>
13173
13174         Add a remark about certain modules.
13175         * modules/malloc (Comment): New section.
13176         * modules/realloc (Comment): Likewise.
13177         * modules/sigpipe (Comment): Likewise.
13178
13179 2010-03-27  Bruno Haible  <bruno@clisp.org>
13180
13181         Resolve conflict between the two kinds of module indicators.
13182         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
13183         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
13184         * modules/canonicalize (configure.ac): Invoke
13185         gl_MODULE_INDICATOR_FOR_TESTS.
13186         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
13187         GNULIB_XYZ.
13188         * tests/test-dirent-c++.cc: Likewise.
13189         * tests/test-dirent-safer.c: Likewise.
13190         * tests/test-dup2.c: Likewise.
13191         * tests/test-fchdir.c: Likewise.
13192         * tests/test-fcntl-h-c++.cc: Likewise.
13193         * tests/test-getopt.c: Likewise.
13194         * tests/test-getopt.h: Likewise.
13195         * tests/test-langinfo-c++.cc: Likewise.
13196         * tests/test-locale-c++.cc: Likewise.
13197         * tests/test-math-c++.cc: Likewise.
13198         * tests/test-pty-c++.cc: Likewise.
13199         * tests/test-search-c++.cc: Likewise.
13200         * tests/test-signal-c++.cc: Likewise.
13201         * tests/test-spawn-c++.cc: Likewise.
13202         * tests/test-stdio-c++.cc: Likewise.
13203         * tests/test-stdlib-c++.cc: Likewise.
13204         * tests/test-string-c++.cc: Likewise.
13205         * tests/test-sys_ioctl-c++.cc: Likewise.
13206         * tests/test-sys_select-c++.cc: Likewise.
13207         * tests/test-sys_socket-c++.cc: Likewise.
13208         * tests/test-sys_stat-c++.cc: Likewise.
13209         * tests/test-sys_time-c++.cc: Likewise.
13210         * tests/test-time-c++.cc: Likewise.
13211         * tests/test-unistd-c++.cc: Likewise.
13212         * tests/test-wchar-c++.cc: Likewise.
13213         * tests/uninorm/test-u8-nfc.c: Likewise.
13214         * tests/uninorm/test-u8-nfd.c: Likewise.
13215         * tests/uninorm/test-u8-nfkc.c: Likewise.
13216         * tests/uninorm/test-u8-nfkd.c: Likewise.
13217         * tests/uninorm/test-u16-nfc.c: Likewise.
13218         * tests/uninorm/test-u16-nfd.c: Likewise.
13219         * tests/uninorm/test-u16-nfkc.c: Likewise.
13220         * tests/uninorm/test-u16-nfkd.c: Likewise.
13221         * tests/uninorm/test-u32-nfc.c: Likewise.
13222         * tests/uninorm/test-u32-nfc-big.c: Likewise.
13223         * tests/uninorm/test-u32-nfd.c: Likewise.
13224         * tests/uninorm/test-u32-nfd-big.c: Likewise.
13225         * tests/uninorm/test-u32-nfkc.c: Likewise.
13226         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
13227         * tests/uninorm/test-u32-nfkd.c: Likewise.
13228         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
13229         * tests/uninorm/test-u32-normalize-big.c: Likewise.
13230
13231 2010-03-27  Bruno Haible  <bruno@clisp.org>
13232
13233         Distinguish two kinds of module indicators.
13234         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
13235         gl_MODULE_INDICATOR.
13236         (gl_MODULE_INDICATOR): New macro.
13237         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
13238         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
13239         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
13240         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
13241         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
13242         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
13243         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
13244         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
13245         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
13246         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
13247         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
13248         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
13249         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
13250         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
13251         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
13252         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
13253         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
13254         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
13255         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
13256         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
13257         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
13258         * modules/cloexec (configure.ac): Likewise.
13259         * modules/getopt-gnu (configure.ac): Likewise.
13260         * modules/uninorm/u8-normalize (configure.ac): Likewise.
13261         * modules/uninorm/u16-normalize (configure.ac): Likewise.
13262         * modules/uninorm/u32-normalize (configure.ac): Likewise.
13263         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
13264
13265 2010-03-27  Bruno Haible  <bruno@clisp.org>
13266
13267         New module description field 'Comment'.
13268         * gnulib-tool: New option --extract-comment.
13269         (func_usage): Document it.
13270         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
13271         (func_get_comment): New function.
13272         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
13273
13274 2010-03-27  Bruno Haible  <bruno@clisp.org>
13275
13276         Addendum to 2010-02-07 commit.
13277         * gnulib-tool (func_usage): Document --extract-applicability option.
13278
13279 2010-03-27  Bruno Haible  <bruno@clisp.org>
13280
13281         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
13282         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
13283         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
13284         rather than link errors.
13285
13286 2010-03-27  Bruno Haible  <bruno@clisp.org>
13287
13288         Avoid side effects from tests-related modules on the compilation of lib.
13289         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
13290         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
13291         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
13292         parameter. Emit into AM_CPPFLAGS a definition of the designated C
13293         macro.
13294         (func_import): Define a witness macro. Assign it a value that depends
13295         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
13296         tests-related modules.
13297         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
13298         Reported by Jim Meyering.
13299
13300 2010-03-27  Bruno Haible  <bruno@clisp.org>
13301
13302         Factorize common .m4 code.
13303         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
13304         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
13305         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
13306         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
13307         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
13308         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
13309         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
13310         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
13311         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
13312         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
13313         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
13314         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
13315         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
13316         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
13317         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
13318         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
13319         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
13320         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
13321         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
13322         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
13323         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
13324         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
13325         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
13326         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
13327         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
13328         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
13329         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
13330         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
13331         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
13332         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
13333         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
13334         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
13335
13336 2010-03-27  Bruno Haible  <bruno@clisp.org>
13337
13338         Fix a compilation error on Cygwin with g++ >= 4.3.
13339         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
13340         if it is undefined or if we alias it to chmod.
13341         (lstat): Don't warn about the use of this function if it is undefined
13342         or if we alias it to stat.
13343         Reported by Simon Josefsson.
13344
13345 2010-03-27  Bruno Haible  <bruno@clisp.org>
13346
13347         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
13348         * modules/getlogin (configure.ac): Update.
13349
13350         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
13351         * modules/getlogin_r (configure.ac): Update.
13352
13353         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
13354         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
13355         * modules/inet_ntop (configure.ac): Update.
13356
13357         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
13358         * modules/inet_pton (configure.ac): Update.
13359
13360         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
13361         * modules/mbslen (configure.ac): Update.
13362
13363         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
13364         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
13365         * modules/forkpty (configure.ac): Update.
13366         * modules/openpty (configure.ac): Update.
13367
13368 2010-03-26  Simon Josefsson  <simon@josefsson.org>
13369
13370         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
13371         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
13372
13373 2010-03-25  Eric Blake  <eblake@redhat.com>
13374
13375         maint: use pragma consistently across replacement headers
13376         * lib/ctype.in.h (system_header): Hoist for consistent placement.
13377         * lib/dirent.in.h (system_header): Likewise.
13378         * lib/errno.in.h (system_header): Likewise.
13379         * lib/float.in.h (system_header): Likewise.
13380         * lib/getopt.in.h (system_header): Likewise.
13381         * lib/iconv.in.h (system_header): Likewise.
13382         * lib/inttypes.in.h (system_header): Likewise.
13383         * lib/langinfo.in.h (system_header): Likewise.
13384         * lib/locale.in.h (system_header): Likewise.
13385         * lib/math.in.h (system_header): Likewise.
13386         * lib/netdb.in.h (system_header): Likewise.
13387         * lib/netinet_in.in.h (system_header): Likewise.
13388         * lib/pty.in.h (system_header): Likewise.
13389         * lib/sched.in.h (system_header): Likewise.
13390         * lib/se-selinux.in.h (system_header): Likewise.
13391         * lib/search.in.h (system_header): Likewise.
13392         * lib/spawn.in.h (system_header): Likewise.
13393         * lib/stdarg.in.h (system_header): Likewise.
13394         * lib/stdint.in.h (system_header): Likewise.
13395         * lib/string.in.h (system_header): Likewise.
13396         * lib/strings.in.h (system_header): Likewise.
13397         * lib/sys_file.in.h (system_header): Likewise.
13398         * lib/sys_ioctl.in.h (system_header): Likewise.
13399         * lib/sys_socket.in.h (system_header): Likewise.
13400         * lib/sys_times.in.h (system_header): Likewise.
13401         * lib/sys_utsname.in.h (system_header): Likewise.
13402         * lib/sys_wait.in.h (system_header): Likewise.
13403         * lib/sysexits.in.h (system_header): Likewise.
13404         * lib/unistd.in.h (system_header): Likewise.
13405         * lib/wctype.in.h (system_header): Likewise.
13406
13407         arpa/inet: fix mingw compilation warning
13408         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
13409         Reported by Matthew Bolte.
13410
13411 2010-03-25  Bruno Haible  <bruno@clisp.org>
13412
13413         Avoid collision between gnulib wrapper and libintl wrapper.
13414         * lib/printf.c (printf): Don't define if a printf wrapper is already
13415         defined in intl/printf.c.
13416         Reported by Michel Boaventura <michel@michelboaventura.com>.
13417
13418 2010-03-25  Bruno Haible  <bruno@clisp.org>
13419
13420         Use ANSI C.
13421         * lib/readutmp.h (getutent): Provide ANSI C prototype.
13422
13423 2010-03-25  Bruno Haible  <bruno@clisp.org>
13424
13425         Minor formatting changes.
13426         * lib/acosl.c: Insert space before function argument list.
13427         * lib/argz.c: Likewise.
13428         * lib/asinl.c: Likewise.
13429         * lib/expl.c: Likewise.
13430         * lib/gen-uni-tables.c: Likewise.
13431         * lib/gettext.h: Likewise.
13432         * lib/glthread/lock.h: Likewise.
13433         * lib/tanl.c: Likewise.
13434         * lib/uniname/uniname.c: Likewise.
13435         * tests/test-idpriv-drop.c: Likewise.
13436         * tests/test-idpriv-droptemp.c: Likewise.
13437         * tests/test-lock.c: Likewise.
13438         * tests/test-tls.c: Likewise.
13439         * lib/argp-help.c: Insert space before function-like macro argument
13440         list.
13441         * lib/memcmp.c: Likewise.
13442         * tests/test-base64.c: Likewise.
13443         * lib/localename.c: Insert space before sizeof's argument list.
13444         * lib/safe-alloc.h: Likewise.
13445         * lib/file-set.h: Insert space before macro argument list.
13446         * tests/test-argp.c: Likewise.
13447         * lib/argp-namefrob.h: Insert space before function parameter list.
13448         * lib/getaddrinfo.c: Likewise.
13449         * lib/netdb.in.h: Likewise.
13450         * lib/parse-duration.h: Likewise.
13451         * lib/parse-duration.c: Likewise.
13452         * lib/poll.c: Likewise.
13453         * lib/select.c: Likewise.
13454         * lib/trim.h: Likewise.
13455         * tests/test-usleep.c: Likewise.
13456         * lib/ldexpl.c: Insert space before function parameter list and before
13457         function argument list.
13458         * lib/logl.c: Likewise.
13459         * lib/sqrtl.c: Likewise.
13460         * lib/trim.c: Likewise.
13461         * lib/cosl.c: Use GNU style indentation. Insert space before function
13462         argument list.
13463         * lib/sinl.c: Likewise.
13464         * lib/tsearch.c: Insert space after 'for'.
13465         Reported by Jim Meyering.
13466
13467 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
13468
13469         * maint.mk (sc_Wundef_boolean): Check for the presence of the
13470         config header before grepping, as it's not present before
13471         autoreconf/configure are run.  Reported by Simon Josefsson.
13472
13473 2010-03-23  Bruno Haible  <bruno@clisp.org>
13474
13475         pt_chown: Make it work with automake < 1.11.
13476         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
13477         Reported by Simon Josefsson.
13478
13479 2010-03-23  Bruno Haible  <bruno@clisp.org>
13480
13481         pt_chown: Don't depend on GPLed modules.
13482         * lib/pt_chown.c: Don't include idpriv.h.
13483         (main): Don't drop privileges.
13484         * modules/pt_chown (Depends-on): Remove idpriv-drop.
13485         Reported by Simon Josefsson.
13486
13487 2010-03-24  Simon Josefsson  <simon@josefsson.org>
13488
13489         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
13490         suggestions from karl@freefriends.org (Karl Berry).
13491
13492 2010-03-22  Eric Blake  <eblake@redhat.com>
13493
13494         gethostname: further tweaks
13495         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
13496         are overriding gethostname.
13497         Suggested by Bruno Haible.
13498
13499 2010-03-21  Bruno Haible  <bruno@clisp.org>
13500
13501         Fix comments.
13502         * lib/forkpty.c (rpl_forkpty): Fix comment.
13503         * lib/openpty.c (rpl_openpty): Likewise.
13504         Reported by Eric Blake.
13505
13506 2010-03-22  Eric Blake  <eblake@redhat.com>
13507
13508         gethostname: fix build on mingw
13509         * lib/unistd.in.h (includes): Work around fact that mingw
13510         <winsock2.h> re-includes <unistd.h>, by avoiding any
13511         redeclarations if we are being included by <winsock2.h>.
13512         Reported by Matthias Bolte.
13513
13514 2010-03-21  Bruno Haible  <bruno@clisp.org>
13515
13516         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
13517         * lib/forkpty.c (forkpty): New replacement function, from glibc with
13518         modifications.
13519         * lib/pty.in.h (forkpty): Update declaration. Add comments.
13520         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
13521         provide the replacement.
13522         * modules/forkpty (Depends-on): Add openpty, login_tty.
13523         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
13524         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
13525         * doc/glibc-functions/forkpty.texi: More supported platforms.
13526         * config/srclist.txt: Add forkpty.c (commented).
13527
13528 2010-03-21  Bruno Haible  <bruno@clisp.org>
13529
13530         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
13531         (Makefile.am): Verify that PTY_LIB is defined.
13532
13533         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
13534
13535 2010-03-21  Bruno Haible  <bruno@clisp.org>
13536
13537         Tests for module 'login_tty'.
13538         * modules/login_tty-tests: New file.
13539         * tests/test-login_tty.c: New file.
13540
13541         New module 'login_tty'.
13542         * lib/login_tty.c: New file.
13543         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
13544         * modules/login_tty: New file.
13545         * doc/glibc-functions/login_tty.texi: Mention the new module.
13546
13547 2010-03-21  Bruno Haible  <bruno@clisp.org>
13548
13549         login_tty: Documentation.
13550         * doc/glibc-functions/login_tty.texi: New file.
13551         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
13552
13553 2010-03-21  Bruno Haible  <bruno@clisp.org>
13554
13555         pty: Consistent macro naming.
13556         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
13557         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
13558         * modules/pty (configure.ac): Update.
13559
13560 2010-03-21  Bruno Haible  <bruno@clisp.org>
13561
13562         Tests for openpty: Make stricter.
13563         * tests/test-openpty.c (main): Add test of canonical processing and
13564         erase.
13565         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
13566
13567         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
13568         * lib/openpty.c (openpty): New replacement function.
13569         * lib/pty.in.h: Include <termios.h>.
13570         (openpty): Update declaration. Add comments.
13571         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
13572         is not declared, arrange to provide the replacement. Check for _getpty
13573         and posix_openpt.
13574         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
13575         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
13576         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
13577         * modules/pty-tests (test_pty_c___LDADD): New variable.
13578         * doc/glibc-functions/openpty.texi: More supported platforms.
13579
13580 2010-03-21  Bruno Haible  <bruno@clisp.org>
13581
13582         setenv: Tweaks.
13583         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
13584         the test program.
13585         * doc/posix-functions/setenv.texi: Update platforms list.
13586
13587 2010-03-21  Bruno Haible  <bruno@clisp.org>
13588
13589         New module 'unlockpt'.
13590         * lib/unlockpt.c: New file, from glibc with modifications.
13591         * m4/unlockpt.m4: New file.
13592         * modules/unlockpt: New file.
13593         * lib/stdlib.in.h (unlockpt): New declaration.
13594         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
13595         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
13596         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
13597         HAVE_UNLOCKPT.
13598         * doc/posix-functions/unlockpt.texi: Mention the new module.
13599         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
13600         * config/srclist.txt: Add unlockpt.c (commented).
13601
13602 2010-03-21  Jim Meyering  <meyering@redhat.com>
13603
13604         maint.mk: prohibit inclusion of "intprops.h" without use
13605         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
13606
13607 2010-03-21  Bruno Haible  <bruno@clisp.org>
13608
13609         New module 'grantpt'.
13610         * lib/grantpt.c: New file, from glibc with modifications.
13611         * m4/grantpt.m4: New file.
13612         * modules/grantpt: New file.
13613         * lib/stdlib.in.h (grantpt): New declaration.
13614         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
13615         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
13616         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
13617         HAVE_GRANTPT.
13618         * doc/posix-functions/grantpt.texi: Mention the new module.
13619         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
13620         * config/srclist.txt: Add grantpt.c (commented).
13621
13622 2010-03-21  Bruno Haible  <bruno@clisp.org>
13623
13624         New module 'pt_chown'.
13625         * lib/pt_chown.c: New file, from glibc with modifications.
13626         * lib/pty-private.h: New file, from glibc with modifications.
13627         * modules/pt_chown: New file.
13628         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
13629
13630 2010-03-21  Bruno Haible  <bruno@clisp.org>
13631
13632         Tests for module 'ptsname'.
13633         * modules/ptsname-tests: New file.
13634         * tests/test-ptsname.c: New file.
13635
13636         New module 'ptsname'.
13637         * lib/ptsname.c: New file, from glibc with modifications.
13638         * m4/ptsname.m4: New file.
13639         * modules/ptsname: New file.
13640         * lib/stdlib.in.h (ptsname): New declaration.
13641         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
13642         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
13643         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
13644         HAVE_PTSNAME.
13645         * doc/posix-functions/ptsname.texi: Mention the new module.
13646         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
13647         * config/srclist.txt: Add ptsname.c (commented).
13648
13649 2010-03-21  Bruno Haible  <bruno@clisp.org>
13650
13651         Tests for module 'ttyname_r'.
13652         * modules/ttyname_r-tests: New file.
13653         * tests/test-ttyname_r.c: New file.
13654
13655         New module 'ttyname_r'.
13656         * lib/ttyname_r.c: New file.
13657         * m4/ttyname_r.m4: New file.
13658         * modules/ttyname_r: New file.
13659         * lib/unistd.in.h (ttyname_r): New declaration.
13660         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
13661         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
13662         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
13663         HAVE_TTYNAME_R.
13664         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
13665         * doc/posix-functions/ttyname_r.texi: Mention the new module.
13666
13667 2010-03-20  Bruno Haible  <bruno@clisp.org>
13668
13669         signal: Undefine macro definitions in C++ mode.
13670         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
13671         sigfillset): Undefine macro definitions from the system header in C++
13672         mode.
13673         Reported by John W. Eaton <jwe@gnu.org>.
13674
13675 2010-03-20  Bruno Haible  <bruno@clisp.org>
13676
13677         Ensure no #include statements inside extern "C" { ... }.
13678         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
13679         contain #include statements.
13680         * lib/time.in.h: Likewise.
13681
13682 2010-03-20  Bruno Haible  <bruno@clisp.org>
13683
13684         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
13685         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
13686         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
13687         Reported by John W. Eaton <jwe@gnu.org>.
13688
13689 2010-03-20  Bruno Haible  <bruno@clisp.org>
13690
13691         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
13692         Reported by Jim Meyering.
13693
13694 2010-03-20  Bruno Haible  <bruno@clisp.org>
13695
13696         pipe: Set errno upon failure.
13697         * lib/pipe.h: Specify that when -1 is returned, errno is set.
13698         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
13699         errno value in error message.
13700
13701 2010-03-20  Bruno Haible  <bruno@clisp.org>
13702             Jim Meyering  <meyering@redhat.com>
13703
13704         lchown: Avoid "unused variable" warning.
13705         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
13706
13707 2010-03-20  Bruno Haible  <bruno@clisp.org>
13708
13709         Work around unlink() bug on MacOS X 10.5.6.
13710         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
13711         attempting to unlink a parent directory.
13712         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
13713         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
13714         activate for the replacement function.
13715         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
13716
13717 2010-03-20  Bruno Haible  <bruno@clisp.org>
13718
13719         Fix link errors on Solaris 8.
13720         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
13721         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
13722
13723 2010-03-19  Jim Meyering  <meyering@redhat.com>
13724
13725         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
13726         The _LIBC implementation of build_range_exp correctly honors the
13727         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
13728         However, the non-_LIBC implementation would ignore that syntax-bit
13729         flag and return REG_ERANGE unconditionally.
13730         This change makes it honor that flag.
13731         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
13732         Make two pointer parameters "const".
13733         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
13734         (parse_bracket_exp): Update caller.
13735
13736         regex.m4: correct the reversed range endpoint ([b-a]) test
13737         * m4/regex.m4: When requiring that [b-a] evoke failure,
13738         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
13739         test pass once again for x86-based systems.
13740
13741 2010-03-19  Bruno Haible  <bruno@clisp.org>
13742
13743         scandir: Fix link error on Solaris 8.
13744         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
13745         macros.
13746
13747 2010-03-19  Bruno Haible  <bruno@clisp.org>
13748
13749         getusershell: Fix documentation.
13750         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
13751         module.
13752         * doc/glibc-functions/setusershell.texi: Likewise.
13753
13754         getusershell: Provide declaration, missing on Solaris 9.
13755         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
13756         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
13757         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
13758         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
13759         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13760         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
13761         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
13762         HAVE_GETUSERSHELL.
13763         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
13764
13765 2010-03-19  Bruno Haible  <bruno@clisp.org>
13766
13767         wctype: Provide iswblank function.
13768         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
13769         exists and is fine.
13770         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
13771         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
13772         * tests/test-wctype.c (main): Re-enable the iswblank tests.
13773         * doc/posix-functions/iswblank.texi: Update.
13774
13775 2010-03-19  Bruno Haible  <bruno@clisp.org>
13776
13777         Tests of module 'pty' in C++ mode.
13778         * modules/pty-tests: New file.
13779         * tests/test-pty-c++.cc: New file.
13780         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
13781
13782 2010-03-19  Eric Blake  <eblake@redhat.com>
13783
13784         logb: fix documentation
13785         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
13786         1.5 declaration bug.
13787
13788         forkpty, openpty: prefer glibc's const-safe prototype
13789         * lib/forkpty.c (rpl_forkpty): New file.
13790         * lib/openpty.c (rpl_openpty): Likewise.
13791         * modules/forkpty (Files): Distribute it.
13792         * modules/openpty (Files): Likewise.
13793         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
13794         check...
13795         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
13796         replacement for for non-const BSD signature.
13797         * modules/pty (Makefile.am): Substitute witnesses.
13798         * lib/pty.in.h (forkpty, openpty): Declare replacements.
13799         * tests/test-forkpty.c: Update signature check.
13800         * tests/test-openpty.c: Likewise.
13801         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
13802         * doc/glibc-functions/openpty.texi (openpty): Likewise.
13803
13804         forkpty, openpty: split functions into new modules
13805         * modules/pty (Makefile.am): Substitute new witnesses.
13806         (Libraries): Move library detection...
13807         * modules/forkpty: ...into new module.
13808         * modules/openpty: Another new module.
13809         * modules/pty-tests: Rename and split...
13810         * modules/forkpty-tests: ...to this...
13811         * modules/openpty-tests: ...and this.
13812         * tests/test-pty.c: Rename and split...
13813         * tests/test-forkpty.c: ...to this...
13814         * tests/test-openpty.c: ...and this.
13815         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
13816         (gl_PTY): Split library searching...
13817         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
13818         (gl_FORKPTY, gl_OPENPTY): New macros.
13819         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
13820         * NEWS: Mention the split.
13821         * MODULES.html.sh (Misc): Document the modules.
13822         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
13823         * doc/glibc-functions/openpty.texi (openpty): Likewise.
13824
13825         pty: improve replacement header
13826         * lib/pty.in.h: New file.
13827         * modules/pty (Files): Ship it.
13828         (Makefile.am): Always build replacement.
13829         * m4/pty.m4: Rename...
13830         * m4/pty_h.m4: ...to this.
13831         (gl_PTY): Modernize setting of witness macros; update check of
13832         forkpty to take proper advantage of cache.
13833         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
13834
13835         getopt: avoid compiler warning
13836         * lib/getopt.c (attribute_hidden): Remove unused macro.
13837
13838 2010-03-18  Bruno Haible  <bruno@clisp.org>
13839
13840         Fix link errors on Solaris 8.
13841         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
13842         * modules/search-tests (test_search_c___LDADD): Likewise.
13843         * modules/signal-tests (test_signal_c___LDADD): Likewise.
13844         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
13845         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
13846         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
13847         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
13848         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
13849         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
13850
13851 2010-03-18  Bruno Haible  <bruno@clisp.org>
13852
13853         Fix bug introduced on 2010-03-14.
13854         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
13855         (gl_SPAWN_H): Require it.
13856         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
13857         Reported by Simon Josefsson.
13858
13859 2010-03-18  Bruno Haible  <bruno@clisp.org>
13860
13861         Fix typo introduced on 2009-12-31.
13862         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
13863         posix_spawn_file_actions_adddup2.
13864
13865 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
13866         and Eric Blake  <eblake@redhat.com>
13867
13868         test-vc-list-files-git: make more robust
13869         * tests/test-vc-list-files-git.sh: Unset problematic environment
13870         variables.  Chain commands together.
13871
13872 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
13873
13874         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
13875         `AC_CHECK_DECL' invocation.
13876
13877 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
13878
13879         * lib/inttostr.c (inttostr): Make sure the invocation of verify
13880         appears before executable statements. Suggested by Petr Sumbera
13881         <Petr.Sumbera@Sun.COM>.
13882
13883 2010-03-14  Bruno Haible  <bruno@clisp.org>
13884
13885         * tests/test-flock.c (test_exclusive): Comment out a test that causes
13886         portability problems. Instead use a simpler test.
13887         (main): Check that invalid arguments are rejected only on Linux.
13888
13889 2010-03-14  Bruno Haible  <bruno@clisp.org>
13890
13891         Fix bug introduced on 2009-12-31.
13892         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
13893         gl_PREREQ_SYS_H_WINSOCK2 always.
13894         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
13895         SYS_SOCKET_H variable.
13896         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
13897         Update comments.
13898         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
13899         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
13900         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
13901         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
13902         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
13903
13904 2010-03-14  Bruno Haible  <bruno@clisp.org>
13905
13906         Fix values returned by sinl, cosl.
13907         * lib/trigl.h: Add specification comments.
13908         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
13909         that combines the values from the precomputed table with the values of
13910         the Chebyshev polynomials.
13911
13912 2010-03-14  Bruno Haible  <bruno@clisp.org>
13913
13914         Fix compilation error when modules 'posix_spawn[p]' are not used.
13915         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
13916         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
13917
13918 2010-03-14  Bruno Haible  <bruno@clisp.org>
13919
13920         Fix compilation error on mingw when module 'time_r' is not used.
13921         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
13922         is 1.
13923         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
13924         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
13925         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
13926         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
13927
13928 2010-03-14  Bruno Haible  <bruno@clisp.org>
13929
13930         Fix compilation error with Sun C.
13931         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
13932         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
13933         instead of GCC specific ULONG_LONG_MAX.
13934         * lib/xstrtoll.c: Likewise.
13935         * lib/xstrtoull.c: Likewise.
13936
13937 2010-03-13  Bruno Haible  <bruno@clisp.org>
13938
13939         Allow the user to disable C++ code and tests.
13940         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
13941         (gl_PROG_ANSI_CXX): Require it.
13942
13943 2010-03-13  Bruno Haible  <bruno@clisp.org>
13944
13945         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
13946         cases.
13947
13948 2010-03-13  Bruno Haible  <bruno@clisp.org>
13949
13950         Test that gnulib does not break the standard C++ headers.
13951         * tests/test-locale-c++2.cc: New file.
13952         * modules/locale-tests (Files): Add it.
13953         (Makefile.am): Compile it for test-locale-c++.
13954         * tests/test-math-c++2.cc: New file.
13955         * modules/math-tests (Files): Add it.
13956         (Makefile.am): Compile it for test-math-c++.
13957         * tests/test-signal-c++2.cc: New file.
13958         * modules/signal-tests (Files): Add it.
13959         (Makefile.am): Compile it for test-signal-c++.
13960         * tests/test-stdio-c++2.cc: New file.
13961         * modules/stdio-tests (Files): Add it.
13962         (Makefile.am): Compile it for test-stdio-c++.
13963         * tests/test-stdlib-c++2.cc: New file.
13964         * modules/stdlib-tests (Files): Add it.
13965         (Makefile.am): Compile it for test-stdlib-c++.
13966         * tests/test-string-c++2.cc: New file.
13967         * modules/string-tests (Files): Add it.
13968         (Makefile.am): Compile it for test-string-c++.
13969         * tests/test-time-c++2.cc: New file.
13970         * modules/time-tests (Files): Add it.
13971         (Makefile.am): Compile it for test-time-c++.
13972         Reported by John W. Eaton <jwe@gnu.org>.
13973
13974 2010-03-13  Bruno Haible  <bruno@clisp.org>
13975
13976         * gnulib-tool (func_usage): Clarify which options are available for
13977         --create-testdir and --create-megatestdir.
13978
13979 2010-03-13  Bruno Haible  <bruno@clisp.org>
13980
13981         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
13982         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
13983         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
13984         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
13985         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
13986         when appropriate.
13987         Reported by Jim Meyering.
13988
13989 2010-03-12  Simon Josefsson  <simon@josefsson.org>
13990
13991         * gnulib-tool (func_import): Explain origin of code.
13992
13993 2010-03-12  Bruno Haible  <bruno@clisp.org>
13994
13995         Fix problem with automake's definition of CXXLINK.
13996         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
13997         Reported by Simon Josefsson and Ludovic Courtès.
13998
13999 2010-03-12  Bruno Haible  <bruno@clisp.org>
14000
14001         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
14002         stable releases.
14003
14004 2010-03-11  Bruno Haible  <bruno@clisp.org>
14005
14006         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
14007         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
14008         whether the system provides one variant or multiple variants of the
14009         function.
14010         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
14011         C++ compilers.
14012         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
14013         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
14014         Reported by Jim Meyering.
14015
14016 2010-03-09  Simon Josefsson  <simon@josefsson.org>
14017
14018         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
14019
14020 2010-03-08  Bruno Haible  <bruno@clisp.org>
14021
14022         gnulib-tool: Add support for --libtool in --create-testdir.
14023         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
14024         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
14025
14026 2010-03-08  Eric Blake  <eblake@redhat.com>
14027
14028         gnulib-tool.texi: mention possibility of git submodule
14029         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
14030         submodules.
14031         * doc/.gitignore: Ignore another generated file.
14032
14033 2010-03-08  Karl Berry  <karl@gnu.org>
14034
14035         * doc/gnulib-tool.texi (VCS Issues): Mention third option
14036         of committing gnulib files while skipping others.
14037
14038 2010-03-07  Bruno Haible  <bruno@clisp.org>
14039
14040         Tests of module 'wctype' in C++ mode.
14041         * tests/test-wctype-c++.cc: New file.
14042         * modules/wctype-tests (Files): Add it and tests/signature.h.
14043         (Depends-on): Add ansi-c++-opt.
14044         (Makefile.am): Arrange to compile and run test-wctype-c++.
14045
14046         Tests of module 'wchar' in C++ mode.
14047         * tests/test-wchar-c++.cc: New file.
14048         * modules/wchar-tests (Files): Add it and tests/signature.h.
14049         (Depends-on): Add ansi-c++-opt.
14050         (Makefile.am): Arrange to compile and run test-wchar-c++.
14051         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
14052         gl_MODULE_INDICATOR.
14053
14054         Tests of module 'unistd' in C++ mode.
14055         * tests/test-unistd-c++.cc: New file.
14056         * modules/unistd-tests (Files): Add it and tests/signature.h.
14057         (Depends-on): Add ansi-c++-opt.
14058         (Makefile.am): Arrange to compile and run test-unistd-c++.
14059         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
14060         gl_MODULE_INDICATOR.
14061
14062         Tests of module 'time' in C++ mode.
14063         * tests/test-time-c++.cc: New file.
14064         * modules/time-tests (Files): Add it and tests/signature.h.
14065         (Depends-on): Add ansi-c++-opt.
14066         (Makefile.am): Arrange to compile and run test-time-c++.
14067         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14068
14069         Tests of module 'sys_time' in C++ mode.
14070         * tests/test-sys_time-c++.cc: New file.
14071         * modules/sys_time-tests (Files): Add it and tests/signature.h.
14072         (Depends-on): Add ansi-c++-opt.
14073         (Makefile.am): Arrange to compile and run test-sys_time-c++.
14074         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
14075         gl_MODULE_INDICATOR.
14076
14077         Tests of module 'sys_stat' in C++ mode.
14078         * tests/test-sys_stat-c++.cc: New file.
14079         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
14080         (Depends-on): Add ansi-c++-opt.
14081         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
14082         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
14083         gl_MODULE_INDICATOR.
14084
14085         Tests of module 'sys_socket' in C++ mode.
14086         * tests/test-sys_socket-c++.cc: New file.
14087         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
14088         (Depends-on): Add ansi-c++-opt.
14089         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
14090         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
14091         gl_MODULE_INDICATOR.
14092
14093         Tests of module 'sys_select' in C++ mode.
14094         * tests/test-sys_select-c++.cc: New file.
14095         * modules/sys_select-tests (Files): Add it and tests/signature.h.
14096         (Depends-on): Add ansi-c++-opt.
14097         (Makefile.am): Arrange to compile and run test-sys_select-c++.
14098         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
14099         gl_MODULE_INDICATOR.
14100
14101         Tests of module 'sys_ioctl' in C++ mode.
14102         * tests/test-sys_ioctl-c++.cc: New file.
14103         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
14104         (Depends-on): Add ansi-c++-opt.
14105         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
14106         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
14107         gl_MODULE_INDICATOR.
14108
14109         Tests of module 'string' in C++ mode.
14110         * tests/test-string-c++.cc: New file.
14111         * modules/string-tests (Files): Add it and tests/signature.h.
14112         (Depends-on): Add ansi-c++-opt.
14113         (Makefile.am): Arrange to compile and run test-string-c++.
14114         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
14115         gl_MODULE_INDICATOR.
14116
14117         Tests of module 'stdlib' in C++ mode.
14118         * tests/test-stdlib-c++.cc: New file.
14119         * modules/stdlib-tests (Files): Add it and tests/signature.h.
14120         (Depends-on): Add ansi-c++-opt.
14121         (Makefile.am): Arrange to compile and run test-stdlib-c++.
14122         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
14123         gl_MODULE_INDICATOR.
14124
14125         Tests of module 'stdio' in C++ mode.
14126         * tests/test-stdio-c++.cc: New file.
14127         * modules/stdio-tests (Files): Add it and tests/signature.h.
14128         (Depends-on): Add ansi-c++-opt.
14129         (Makefile.am): Arrange to compile and run test-stdio-c++.
14130         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
14131         gl_MODULE_INDICATOR.
14132
14133         Tests of module 'spawn' in C++ mode.
14134         * tests/test-spawn-c++.cc: New file.
14135         * modules/spawn-tests (Files): Add it and tests/signature.h.
14136         (Depends-on): Add ansi-c++-opt.
14137         (Makefile.am): Arrange to compile and run test-spawn-c++.
14138         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
14139         gl_MODULE_INDICATOR.
14140
14141         Tests of module 'signal' in C++ mode.
14142         * tests/test-signal-c++.cc: New file.
14143         * modules/signal-tests (Files): Add it and tests/signature.h.
14144         (Depends-on): Add ansi-c++-opt.
14145         (Makefile.am): Arrange to compile and run test-signal-c++.
14146         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
14147         gl_MODULE_INDICATOR.
14148
14149         Tests of module 'search' in C++ mode.
14150         * tests/test-search-c++.cc: New file.
14151         * modules/search-tests (Files): Add it and tests/signature.h.
14152         (Depends-on): Add ansi-c++-opt.
14153         (Makefile.am): Arrange to compile and run test-search-c++.
14154         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
14155         gl_MODULE_INDICATOR.
14156
14157         Tests of module 'math' in C++ mode.
14158         * tests/test-math-c++.cc: New file.
14159         * modules/math-tests (Files): Add it and tests/signature.h.
14160         (Depends-on): Add ansi-c++-opt.
14161         (Makefile.am): Arrange to compile and run test-math-c++.
14162         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14163
14164         Tests of module 'locale' in C++ mode.
14165         * tests/test-locale-c++.cc: New file.
14166         * modules/locale-tests (Files): Add it and tests/signature.h.
14167         (Depends-on): Add ansi-c++-opt.
14168         (Makefile.am): Arrange to compile and run test-locale-c++.
14169         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
14170         gl_MODULE_INDICATOR.
14171
14172         Tests of module 'langinfo' in C++ mode.
14173         * tests/test-langinfo-c++.cc: New file.
14174         * modules/langinfo-tests (Files): Add it and tests/signature.h.
14175         (Depends-on): Add ansi-c++-opt.
14176         (Makefile.am): Arrange to compile and run test-langinfo-c++.
14177         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
14178         gl_MODULE_INDICATOR.
14179
14180         Tests of module 'iconv-h' in C++ mode.
14181         * tests/test-iconv-h-c++.cc: New file.
14182         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
14183         (Depends-on): Add ansi-c++-opt.
14184         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
14185
14186         Tests of module 'glob' in C++ mode.
14187         * tests/test-glob-c++.cc: New file.
14188         * modules/glob-tests (Files): Add it.
14189         (Depends-on): Add ansi-c++-opt.
14190         (Makefile.am): Arrange to compile and run test-glob-c++.
14191
14192         Tests of module 'fcntl-h' in C++ mode.
14193         * tests/test-fcntl-h-c++.cc: New file.
14194         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
14195         (Depends-on): Add ansi-c++-opt.
14196         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
14197         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
14198         gl_MODULE_INDICATOR.
14199
14200         Tests of module 'dirent' in C++ mode.
14201         * tests/test-dirent-c++.cc: New file.
14202         * modules/dirent-tests (Files): Add it and tests/signature.h.
14203         (Depends-on): Add ansi-c++-opt.
14204         (Makefile.am): Arrange to compile and run test-dirent-c++.
14205         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
14206         gl_MODULE_INDICATOR.
14207
14208         New module 'ansi-c++-opt'.
14209         * modules/ansi-c++-opt: New file.
14210         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
14211
14212         Document C++ namespace mode.
14213         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
14214
14215         wctype: Avoid #define replacements in C++ mode.
14216         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
14217         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
14218         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
14219         In C++, define a namespaced alias symbol.
14220         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
14221         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
14222         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
14223         rule.
14224
14225         wchar: Avoid #define replacements in C++ mode.
14226         * lib/wchar.in.h: Include c++defs.h.
14227         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
14228         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
14229         symbol.
14230         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
14231         * modules/wchar (Depends-on): Add c++defs.
14232         (Makefile.am): Update wchar.h rule.
14233
14234         unistd: Avoid #define replacements in C++ mode.
14235         * lib/unistd.in.h: Include c++defs.h.
14236         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
14237         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
14238         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
14239         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
14240         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
14241         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
14242         symbol.
14243         (environ): Update.
14244         * modules/unistd (Depends-on): Add c++defs.
14245         (Makefile.am): Update unistd.h rule.
14246
14247         time: Avoid #define replacements in C++ mode.
14248         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
14249         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
14250         define a namespaced alias symbol.
14251         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
14252         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
14253         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
14254         * modules/time (Depends-on): Add c++defs, warn-on-use.
14255         (Makefile.am): Update time.h rule.
14256         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
14257         * modules/nanosleep (configure.ac): Likewise.
14258         * modules/strptime (configure.ac): Likewise.
14259         * modules/timegm (configure.ac): Likewise.
14260
14261         sys_time: Avoid #define replacements in C++ mode.
14262         * lib/sys_time.in.h: Include c++defs.h.
14263         (gettimeofday): In C++, define a namespaced alias symbol.
14264         * modules/sys_time (Depends-on): Add c++defs.
14265         (Makefile.am): Update sys/time.h rule.
14266
14267         sys_stat: Avoid #define replacements in C++ mode.
14268         * lib/sys_stat.in.h: Include c++defs.h.
14269         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
14270         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
14271         namespaced alias symbol.
14272         In C++, define a namespaced alias symbol.
14273         * modules/sys_stat (Depends-on): Add c++defs.
14274         (Makefile.am): Update sys/stat.h rule.
14275
14276         sys_socket: Avoid #define replacements in C++ mode.
14277         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
14278         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
14279         definitions also when the system has a <sys/socket.h>.
14280         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
14281         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
14282         In C++, define a namespaced alias symbol.
14283         * modules/sys_socket (Depends-on): Add c++defs.
14284         (Makefile.am): Update sys/socket.h rule.
14285
14286         sys_select: Avoid #define replacements in C++ mode.
14287         * lib/sys_select.in.h: Include c++defs.h. Enable the function
14288         definitions also when the system has a <sys/select.h>.
14289         (select): In C++, define a namespaced alias symbol.
14290         * modules/sys_select (Depends-on): Add c++defs.
14291         (Makefile.am): Update sys/select.h rule.
14292
14293         sys_ioctl: Avoid #define replacements in C++ mode.
14294         * lib/sys_ioctl.in.h: Include c++defs.h.
14295         (ioctl): In C++, define a namespaced alias symbol.
14296         * modules/sys_ioctl (Depends-on): Add c++defs.
14297         (Makefile.am): Update sys/ioctl.h rule.
14298
14299         string: Avoid #define replacements in C++ mode.
14300         * lib/string.in.h: Include c++defs.h.
14301         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
14302         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
14303         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
14304         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
14305         strsignal, strverscmp): In C++, define a namespaced alias symbol.
14306         * modules/string (Depends-on): Add c++defs.
14307         (Makefile.am): Update string.h rule.
14308
14309         stdlib: Avoid #define replacements in C++ mode.
14310         * lib/stdlib.in.h: Include c++defs.h.
14311         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
14312         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
14313         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
14314         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
14315         symbol.
14316         * modules/stdlib (Depends-on): Add c++defs.
14317         (Makefile.am): Update stdlib.h rule.
14318
14319         stdio: Avoid #define replacements in C++ mode.
14320         * lib/stdio.in.h: Include c++defs.h.
14321         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
14322         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
14323         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
14324         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
14325         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
14326         namespaced alias symbol.
14327         * modules/stdio (Depends-on): Add c++defs.
14328         (Makefile.am): Update stdio.h rule.
14329
14330         spawn: Avoid #define replacements in C++ mode.
14331         * lib/spawn.in.h: Include c++defs.h.
14332         (posix_spawn, posix_spawnp, posix_spawnattr_init,
14333         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
14334         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
14335         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
14336         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
14337         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
14338         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
14339         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
14340         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
14341         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
14342         In C++, define a namespaced alias symbol.
14343         * modules/spawn (Depends-on): Add c++defs.
14344         (Makefile.am): Update spawn.h rule.
14345
14346         signal: Avoid #define replacements in C++ mode.
14347         * lib/signal.in.h: Include c++defs.h.
14348         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
14349         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
14350         namespaced alias symbol.
14351         * modules/signal (Depends-on): Add c++defs.
14352         (Makefile.am): Update signal.h rule.
14353
14354         search: Avoid #define replacements in C++ mode.
14355         * lib/search.in.h: Include c++defs.h.
14356         (_gl_search_compar_fn, _gl_search_action_fn): New types.
14357         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
14358         symbol.
14359         * modules/search (Depends-on): Add c++defs.
14360         (Makefile.am): Update search.h rule.
14361
14362         math: Avoid #define replacements in C++ mode.
14363         * lib/math.in.h: Include c++defs.h.
14364         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
14365         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
14366         trunc, truncl): In C++, define a namespaced alias symbol.
14367         * modules/math (Depends-on): Add c++defs.
14368         (Makefile.am): Update math.h rule.
14369
14370         locale: Avoid #define replacements in C++ mode.
14371         * lib/locale.in.h: Include c++defs.h.
14372         (duplocale): In C++, define a namespaced alias symbol.
14373         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
14374         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
14375         * modules/locale (Depends-on): Add c++defs.
14376         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
14377
14378         langinfo: Avoid #define replacements in C++ mode.
14379         * lib/langinfo.in.h: Include c++defs.h.
14380         (nl_langinfo): In C++, define a namespaced alias symbol.
14381         * modules/langinfo (Depends-on): Add c++defs.
14382         (Makefile.am): Update langinfo.h rule.
14383
14384         iconv-h: Avoid #define replacements in C++ mode.
14385         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
14386         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
14387         symbol.
14388         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
14389         whenever iconv is present.
14390         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
14391         (Makefile.am): Update iconv.h rule.
14392
14393         glob: Avoid #define replacements in C++ mode.
14394         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
14395         (_gl_glob_errfunc_fn): New type.
14396         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
14397         symbol.
14398         * modules/glob (Depends-on): Add c++defs, warn-on-use.
14399         (Makefile.am): Update glob.h rule.
14400
14401         fcntl-h: Avoid #define replacements in C++ mode.
14402         * lib/fcntl.in.h: Include c++defs.h.
14403         (fcntl, open, openat): In C++, define a namespaced alias symbol.
14404         * modules/fcntl-h (Depends-on): Add c++defs.
14405         (Makefile.am): Update fcntl.h rule.
14406
14407         dirent: Avoid #define replacements in C++ mode.
14408         * lib/dirent.in.h: Include c++defs.h.
14409         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
14410         namespaced alias symbol.
14411         (dirfd): Update declaration.
14412         * modules/dirent (Depends-on): Add c++defs.
14413         (Makefile.am): Update dirent.h rule.
14414
14415         ctype: Make it usable in C++ code.
14416         * lib/ctype.in.h: Include c++defs.h.
14417         (isblank): Declare as extern "C".
14418         * modules/ctype (Depends-on): Add c++defs.
14419         (Makefile.am): Update ctype.h rule.
14420
14421         New module 'c++defs'.
14422         * modules/c++defs: New file.
14423         * build-aux/c++defs.h: New file.
14424         Reported by John W. Eaton <jwe@gnu.org>.
14425
14426 2010-03-07  Bruno Haible  <bruno@clisp.org>
14427
14428         logb: Provide missing declaration for Cygwin.
14429         * lib/math.in.h (logb): New declaration.
14430         * m4/logb.m4: New file.
14431         * modules/logb (Files): Add m4/logb.m4.
14432         (Depends-on): Add math.
14433         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
14434         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
14435         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
14436         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
14437         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
14438
14439 2010-03-07  Bruno Haible  <bruno@clisp.org>
14440
14441         Fix test-cond link error.
14442         * tests/test-cond.c: Include <stdio.h>.
14443
14444 2010-03-07  Bruno Haible  <bruno@clisp.org>
14445
14446         Fix test-dirent-safer link error.
14447         * modules/dirent-safer-tests (Makefile.am): Define
14448         test_dirent_safer_LDADD.
14449
14450 2010-03-07  Bruno Haible  <bruno@clisp.org>
14451
14452         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
14453         among default module list.
14454
14455 2010-03-07  Bruno Haible  <bruno@clisp.org>
14456
14457         Fix link error on platforms with GNU libiconv.
14458         * modules/unistr/u8-strcoll-tests (Makefile): Define
14459         test_u8_strcoll_LDADD.
14460         * modules/unistr/u16-strcoll-tests (Makefile): Define
14461         test_u16_strcoll_LDADD.
14462         * modules/unistr/u32-strcoll-tests (Makefile): Define
14463         test_u32_strcoll_LDADD.
14464
14465 2010-03-07  Bruno Haible  <bruno@clisp.org>
14466
14467         Use POSIX declarations for socket functions.
14468         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
14469         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
14470         rpl_sendto): Change declaration to match POSIX.
14471         * lib/connect.c (rpl_connect): Likewise.
14472         * lib/accept.c (rpl_accept): Likewise.
14473         * lib/bind.c (rpl_bind): Likewise.
14474         * lib/getpeername.c (rpl_getpeername): Likewise.
14475         * lib/getsockname.c (rpl_getsockname): Likewise.
14476         * lib/recv.c (rpl_recv): Likewise.
14477         * lib/send.c (rpl_send): Likewise.
14478         * lib/recvfrom.c (rpl_recvfrom): Likewise.
14479         * lib/sendto.c (rpl_sendto): Likewise.
14480
14481 2010-03-06  Bruno Haible  <bruno@clisp.org>
14482
14483         Clarify access, euidaccess, faccessat.
14484         * doc/posix-functions/faccessat.texi: Mention security problem under
14485         "Other problems", not "Portability problems".
14486         * doc/posix-functions/access.texi: Likewise. Mention a related security
14487         problem.
14488         * doc/glibc-functions/euidaccess.texi: Mention security problems.
14489         * lib/euidaccess.c: Add comments about platforms.
14490         * lib/unistd.in.h (access, euidaccess): Add warnings.
14491
14492 2010-03-07  Bruno Haible  <bruno@clisp.org>
14493
14494         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
14495         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
14496         (POSIX_SPAWN_SETSCHEDULER): Likewise.
14497         (POSIX_SPAWN_USEVFORK): Define in a way that works when
14498         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
14499         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
14500         declare when POSIX_SPAWN_SETSCHEDULER is zero.
14501         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
14502         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
14503         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
14504         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
14505         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
14506         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
14507         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
14508         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
14509         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
14510         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
14511         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
14512         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
14513         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
14514         Likewise.
14515         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
14516         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
14517         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
14518         Likewise.
14519         * tests/test-spawn.c (main): Make it work when
14520         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
14521
14522 2010-03-07  Bruno Haible  <bruno@clisp.org>
14523
14524         Fix incorrect Makefile.am generation in German locale.
14525         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14526         Execute sed command with character range in C locale.
14527
14528 2010-03-06  Bruno Haible  <bruno@clisp.org>
14529
14530         Tests for module 'iconv-h'.
14531         * modules/iconv-h-tests: New file.
14532         * tests/test-iconv-h.c: New file.
14533
14534         New module 'iconv-h'.
14535         * modules/iconv-h: New file.
14536         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
14537         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
14538         (configure.ac): Remove gl_ICONV_H.
14539         (Makefile.am): Remove rule for iconv.h.
14540
14541 2010-03-06  Bruno Haible  <bruno@clisp.org>
14542
14543         More consistent naming of *.m4 files.
14544         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
14545         * modules/wctype (Files): Update.
14546
14547         More consistent naming of *.m4 files.
14548         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
14549         * modules/wchar (Files): Update.
14550
14551 2010-03-06  Jim Meyering  <meyering@redhat.com>
14552
14553         euidaccess: relax license to LGPLv2+
14554         * modules/euidaccess (License): Relax to LGPLv2+.
14555
14556 2010-03-06  Bruno Haible  <bruno@clisp.org>
14557
14558         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
14559         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
14560         (Makefile.am): Augment lib_SOURCES instead.
14561
14562 2010-03-04  Jim Meyering  <meyering@redhat.com>
14563
14564         utime: remove obsolete module
14565         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
14566         unnecessary for years, and has been marked as obsolete for 10 months.
14567         * modules/utime: Remove file.
14568         * lib/utime.c: Remove file.
14569         * m4/utime.m4: Remove file.
14570         * m4/utimes-null.m4: Remove file.
14571         * doc/posix-functions/utime.texi (utime): Remove reference to
14572         the module.  Move the sole "fixed by gnulib" item into the
14573         "problems not fixed by Gnulib" list.
14574         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
14575
14576 2010-03-05  Simon Josefsson  <simon@josefsson.org>
14577
14578         * modules/exit (License): Relax license to LGPLv2+.
14579         (Status): Mark as obsolete.
14580         * NEWS: Mention deprecated 'exit' module.
14581         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
14582         of now obsolete 'exit'.
14583
14584 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14585
14586         fts-lgpl: remove unused module
14587         * modules/fts-lgpl: Remove.
14588         * MODULES.html.sh (func_all_modules): Adjust.
14589         * check-module (find_included_lib_files): Adjust.
14590         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
14591
14592 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
14593
14594         copy-acl: enhance Solaris ACL error handling
14595         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
14596         * lib/set-mode-acl.c (qset_acl): Likewise.
14597
14598 2010-03-02  Bruno Haible  <bruno@clisp.org>
14599
14600         spawn: Don't override the system defined values on FreeBSD 8.
14601         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
14602         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
14603         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
14604         if HAVE_POSIX_SPAWN is 1.
14605         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
14606
14607 2010-03-01  Bruno Haible  <bruno@clisp.org>
14608
14609         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
14610         regarding Automake.
14611
14612 2010-02-25  Bruno Haible  <bruno@clisp.org>
14613
14614         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
14615         * gnulib-tool: Define 'echo' as a function only before the ksh alias
14616         setting, not afterwards.
14617         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
14618
14619 2010-02-24  Eric Blake  <eblake@redhat.com>
14620
14621         bootstrap, git-version-gen: use timestamp
14622         * build-aux/git-version-gen (scriptversion): Force UTC.
14623         * build-aux/bootstrap (scriptversion): New variable.
14624
14625         bootstrap: allow older git
14626         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
14627         older than 1.6.4.  Requested by the libvirt project.
14628
14629 2010-02-23  Eric Blake  <eblake@redhat.com>
14630
14631         warn-on-use: work with old autoconf
14632         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
14633         AS_VAR semantics of autoconf 2.60.
14634         Reported by Bruno Haible.
14635
14636         bootstrap: improve some comments
14637         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
14638         clarification comments.
14639
14640         gettimeofday: provide correct function
14641         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
14642         when replacement is declared, otherwise provide gettimeofday.
14643         Reported by Michael Goffioul.
14644
14645 2010-02-23  Jim Meyering  <meyering@redhat.com>
14646
14647         lib-ignore: relax license to "unlimited", not LGPLv2+
14648         * modules/lib-ignore (License): Relax to "unlimited".
14649
14650 2010-02-23  Jim Meyering  <meyering@redhat.com>
14651
14652         lib-ignore: relax license to LGPLv2+
14653         * modules/lib-ignore (License): Relax to LGPLv2+.
14654
14655 2010-02-22  Eric Blake  <eblake@redhat.com>
14656
14657         lseek: avoid bash 3.2 broken pipe bug
14658         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
14659         warning from bash 3.2.
14660         Reported by Ben Pfaff, with analysis from Bruno Haible.
14661
14662         bootstrap: support non-FSF copyright holder
14663         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
14664         bootstrap.conf override of COPYRIGHT_HOLDER.
14665         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
14666
14667         bootstrap: interoperate with gettext 0.14.1
14668         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
14669
14670         bootstrap: allow for alternate submodule location
14671         * build-aux/bootstrap (gnulib_path): New variable; use instead of
14672         hardcoding submodule location.
14673         (gnulib_mk): Allow direct use of Makefile.am.
14674
14675         bootstrap: use GNULIB_SRCDIR to reduce disk usage
14676         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
14677         rather than reconfiguring where the submodule points.
14678
14679         gettimeofday: restore support for platforms that lack function
14680         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
14681         replacement if function is missing.
14682         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
14683         * modules/sys_time (Makefile.am): Substitute it.
14684         * lib/sys_time.in.h (gettimeofday): Check it.
14685         Reported by Michael Goffioul.
14686
14687 2010-02-21  Bruno Haible  <bruno@clisp.org>
14688
14689         * lib/stdio.in.h (obstack_printf): Fix typo.
14690
14691 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
14692
14693         vc-list-files: use bzr ls's -R option
14694         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
14695         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
14696
14697 2010-02-21  Jim Meyering  <meyering@redhat.com>
14698
14699         init.sh: fix EXEEXT shims to work also for names like test-prog
14700         * tests/init.sh: Re-exec a better shell, when needed.
14701         If the current shell lacks support for posix $(...), an init.sh-using
14702         test will now try to find a shell that supports that.  If EXEEXT is
14703         nonempty, we also require support for hyphen-in-alias-name and shell
14704         substitutions like ${var#glob}.  Failure to find such a shell results
14705         in a skipped test.
14706
14707 2010-02-21  Bruno Haible  <bruno@clisp.org>
14708
14709         Really work around around "broken pipe" error message from bash 3.2.
14710         * gnulib-tool (func_reset_sigpipe): Remove function.
14711         (echo): In bash 3.2, define to a function that uses printf.
14712         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
14713
14714 2010-02-20  Bruno Haible  <bruno@clisp.org>
14715
14716         Restore support for automake 1.9.6 with autoconf 2.61.
14717         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
14718         Reported by James Youngman <jay@gnu.org>.
14719
14720 2010-02-20  Bruno Haible  <bruno@clisp.org>
14721
14722         Improve *printf warning condition.
14723         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
14724         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
14725         and the function is overridden due to SIGPIPE emulation.
14726
14727 2010-02-20  Bruno Haible  <bruno@clisp.org>
14728
14729         * lib/stdio.in.h: Tweak comments.
14730
14731 2010-02-19  Bruno Haible  <bruno@clisp.org>
14732
14733         Make it easier to find modules. New gnulib-tool option '--find'.
14734         * gnulib-tool: New option --find.
14735         (func_usage): Document it.
14736         (func_sanitize_modulelist): New function, extracted from
14737         func_all_modules.
14738         (func_all_modules): Invoke it.
14739         * doc/gnulib-tool.texi (Which modules?): New node.
14740
14741 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
14742
14743         * lib/sys_select.in.h: Provide select replacement even if
14744         sys/select.h exists on a system, for Interix.
14745
14746 2010-02-18  Jim Meyering  <meyering@redhat.com>
14747
14748         init.sh: don't use $(...) just yet
14749         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
14750         to accommodate e.g., Solaris' /bin/sh.
14751
14752 2010-02-17  Bruno Haible  <bruno@clisp.org>
14753
14754         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
14755         Reported by Ludovic Courtès <ludo@gnu.org>.
14756
14757 2010-02-16  Simon Josefsson  <simon@josefsson.org>
14758
14759         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
14760         linking with -lintl.
14761
14762 2010-02-17  Simon Josefsson  <simon@josefsson.org>
14763
14764         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
14765         if not provided by the system's netdb.h.  Reported by
14766         ludo@gnu.org (Ludovic Courtès).
14767
14768 2010-02-15  Jim Meyering  <meyering@redhat.com>
14769
14770         init.sh: improve portability and efficiency
14771         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
14772         "dummy" in a for loop.
14773         Use '!', not '^' to select the complement of a character set used
14774         in a "case" statement.
14775         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
14776         Suggestions from Eric Blake.
14777
14778         init.sh: automatically accommodate programs with the .exe suffix
14779         Automatically arrange for an invocation of "prog" to execute the
14780         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
14781         may use the simpler "prog", yet still work when built on a system
14782         that requires specifying the added suffix.
14783         Do this by constructing a function named "prog" that invokes
14784         "prog.exe" for each .exe file in selected directories.
14785         * tests/init.sh (find_exe_basenames_): New function.
14786         (create_exe_shim_functions_): New function.
14787         (path_prepend_): Use it.
14788
14789         maint.mk: mark syntax-check sc_*.m rules as .PHONY
14790         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
14791         "make -t syntax-check" doesn't create a ton of sc_*.m files.
14792
14793 2010-02-14  Jim Meyering  <meyering@redhat.com>
14794
14795         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
14796         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
14797         (sc_prohibit_hash_pjw_without_use): New rule.
14798
14799         maint.mk: allow the default upload destination dir to be overridden
14800         * top/maint.mk (upload_dest_dir_): Define with a default that
14801         preserves the status quo.
14802         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
14803         Reported by Peter Simons.
14804
14805         maint.mk: prohibit inclusion of "hash.h" without_use
14806         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
14807
14808 2010-02-10  Jim Meyering  <meyering@redhat.com>
14809
14810         maint.mk: prohibit inclusion of "ignore-value.h" without_use
14811         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
14812
14813 2010-02-09  Eric Blake  <ebb9@byu.net>
14814         and Bruno Haible  <bruno@clisp.org>
14815
14816         obstack-printf-posix: ensure declaration
14817         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
14818         extracted from gl_FUNC_OBSTACK_PRINTF.
14819         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
14820         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
14821         Likewise.
14822         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
14823         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
14824         0.
14825
14826 2010-02-08  Bruno Haible  <bruno@clisp.org>
14827
14828         gnulib-tool: Fix typo in 2010-02-07 commit.
14829         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
14830         Reported by Eric Blake.
14831
14832 2010-02-07  Bruno Haible  <bruno@clisp.org>
14833
14834         gnulib-tool: Fix up caching patches.
14835         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
14836         option --no-cache. Use associative arrays when supported by the shell.
14837         (sed_comments): New variable.
14838         (modcache): Renamed from do_cache.
14839         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
14840         abbreviate unnecessarily.
14841         (have_associative): New variable.
14842         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
14843         way also for ksh and zsh.
14844         (func_init_sed_convert_to_cache_statements): New function, extracted
14845         from func_cache_lookup_module. Add support for associative arrays.
14846         Don't set the c_MODULE_cached variable here. Ignore all lines before
14847         the first field header. Remove only the final newline, not all trailing
14848         newlines. Support empty fields correctly. Limit the use of 'eval' to
14849         assignments.
14850         (func_get_description, func_get_status, func_get_notice,
14851         func_get_applicability, func_get_filelist, func_get_dependencies,
14852         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
14853         func_get_automake_snippet, func_get_include_directive,
14854         func_get_link_directive, func_get_license, func_get_maintainer):
14855         Update documentation. List the unoptimized code first. Add support for
14856         associative arrays. Limit the use of 'eval' to assignments.
14857         (func_get_applicability): Undo stylistic pessimisations.
14858         (func_get_automake_snippet, func_get_include_directive): Reduce code
14859         duplication.
14860         (func_modules_transitive_closure, func_modules_add_dummy,
14861         func_modules_notice, func_modules_to_filelist, func_add_file,
14862         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
14863         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
14864         func_create_testdir, func_create_megatestdir): Update documentation.
14865
14866 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14867
14868         * gnulib-tool (func_cache_lookup_module): Store the module name
14869         belonging to the cache variable; error out if two different
14870         module names map to the same cache variable name.
14871
14872 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14873
14874         gnulib-tool: Make caching optional.
14875         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
14876         Update matching short versions of --no-changelog.
14877         (func_usage): Update.
14878         (sed_extract_cache_prog): Renamed from ...
14879         (sed_extract_prog): ... this; revert to old extraction script.
14880         (func_get_description, func_get_status)
14881         (func_get_notice, func_get_applicability, func_get_filelist)
14882         (func_get_dependencies, func_get_autoconf_early_snippet)
14883         (func_get_autoconf_snippet, func_get_automake_snippet)
14884         (func_get_include_directive, func_get_link_directive)
14885         (func_get_license, func_get_maintainer): If $do_cache is false,
14886         use old, non-caching extraction scripts.
14887         Suggestion by Bruno Haible.
14888
14889 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14890
14891         gnulib-tool: cache module metainformation.
14892         * gnulib-tool (sed_extract_prog): Match newline before each
14893         header, and rewrite header to a shell variable suffix.
14894         (func_cache_var, func_cache_lookup_module): New functions,
14895         to turn a module name into a cache variable prefix, and to
14896         look up and cache module metainformation.
14897         (func_get_description, func_get_status)
14898         (func_get_notice, func_get_applicability, func_get_filelist)
14899         (func_get_dependencies, func_get_autoconf_early_snippet)
14900         (func_get_autoconf_snippet, func_get_automake_snippet)
14901         (func_get_include_directive, func_get_link_directive)
14902         (func_get_license, func_get_maintainer): Use
14903         func_cache_lookup_module.
14904
14905 2010-02-07  Bruno Haible  <bruno@clisp.org>
14906
14907         fnctl: Fix missing dependency.
14908         * modules/fcntl (Depends-on): Add getdtablesize.
14909         Reported by John W. Eaton <jwe@gnu.org>.
14910
14911 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
14912
14913         Argp: fix recognition of short alias options.
14914
14915         * lib/argp-parse.c (convert_options): Fix improper use of
14916         `|' between character values.
14917         * tests/test-argp.c (group1_option): New alias option
14918         --read (-r).
14919         (group1_parser): Special handling for 'r'.
14920         (test15): New test case.
14921         (test_fun): Add test15.
14922         * tests/test-argp-2.sh: Update expected --help and --usage
14923         outputs.
14924
14925 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
14926
14927         * tests/test-argp.c: Fix indentation.
14928
14929 2010-02-04  Eric Blake  <ebb9@byu.net>
14930
14931         gettimeofday: expose type of second argument
14932         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
14933         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
14934         * tests/test-gettimeofday.c: Use it to silence warning.
14935         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
14936         the issue.
14937
14938 2010-02-03  Jim Meyering  <meyering@redhat.com>
14939
14940         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
14941         * lib/regcomp.c (TYPE_SIGNED): Define.
14942         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
14943
14944         regcomp.c: avoid a new -Wshadow warning
14945         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
14946
14947 2010-02-01  Jim Meyering  <meyering@redhat.com>
14948
14949         removing useless parentheses in cpp #define directives
14950         For motivation, see commit c0221df4, "define STREQ(a,b)
14951         consistently, removing useless parentheses"
14952         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
14953         * lib/mountlist.c (MNT_IGNORE): Likewise.
14954         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
14955
14956 2010-02-01  Eric Blake  <ebb9@byu.net>
14957
14958         sys_time: use link-warning
14959         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
14960         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
14961         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
14962         * modules/sys_time (Depends-on): Add warn-on-use.
14963         (Makefile.am): Always build replacement.
14964         (configure.ac): Update substitutions.
14965         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
14966         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
14967         bother with SYS_TIME_H.
14968         * modules/gettimeofday (configure.ac): Declare indicator.
14969         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
14970         in use.
14971
14972         closein-tests: silence compiler warning
14973         * tests/test-closein.c (main): Ignore fread result.
14974         * modules/closein-tests (Depends-on): Add ignore-value.
14975
14976         tests: silence warning about system return
14977         * tests/test-areadlink-with-size.c (main): Ignore system result.
14978         * tests/test-areadlink.c (main): Likewise.
14979         * tests/test-areadlinkat-with-size.c (main): Likewise.
14980         * tests/test-areadlinkat.c (main): Likewise.
14981         * tests/test-canonicalize-lgpl.c (main): Likewise.
14982         * tests/test-canonicalize.c (main): Likewise.
14983         * tests/test-chown.c (main): Likewise.
14984         * tests/test-fchownat.c (main): Likewise.
14985         * tests/test-fdutimensat.c (main): Likewise.
14986         * tests/test-fstatat.c (main): Likewise.
14987         * tests/test-futimens.c (main): Likewise.
14988         * tests/test-lchown.c (main): Likewise.
14989         * tests/test-link.c (main): Likewise.
14990         * tests/test-linkat.c (main): Likewise.
14991         * tests/test-lstat.c (main): Likewise.
14992         * tests/test-mkdir.c (main): Likewise.
14993         * tests/test-mkdirat.c (main): Likewise.
14994         * tests/test-mkfifo.c (main): Likewise.
14995         * tests/test-mkfifoat.c (main): Likewise.
14996         * tests/test-mknod.c (main): Likewise.
14997         * tests/test-readlink.c (main): Likewise.
14998         * tests/test-remove.c (main): Likewise.
14999         * tests/test-rename.c (main): Likewise.
15000         * tests/test-renameat.c (main): Likewise.
15001         * tests/test-rmdir.c (main): Likewise.
15002         * tests/test-symlink.c (main): Likewise.
15003         * tests/test-symlinkat.c (main): Likewise.
15004         * tests/test-unlink.c (main): Likewise.
15005         * tests/test-unlinkat.c (main): Likewise.
15006         * tests/test-utimens.c (main): Likewise.
15007         * tests/test-utimensat.c (main): Likewise.
15008         * modules/areadlink-tests (Depends-on): Add ignore-value.
15009         * modules/areadlink-with-size-tests (Depends-on): Likewise.
15010         * modules/areadlinkat-tests (Depends-on): Likewise.
15011         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
15012         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
15013         * modules/canonicalize-tests (Depends-on): Likewise.
15014         * modules/chown-tests (Depends-on): Likewise.
15015         * modules/fdutimensat-tests (Depends-on): Likewise.
15016         * modules/futimens-tests (Depends-on): Likewise.
15017         * modules/lchown-tests (Depends-on): Likewise.
15018         * modules/link-tests (Depends-on): Likewise.
15019         * modules/linkat-tests (Depends-on): Likewise.
15020         * modules/lstat-tests (Depends-on): Likewise.
15021         * modules/mkdir-tests (Depends-on): Likewise.
15022         * modules/mkfifo-tests (Depends-on): Likewise.
15023         * modules/mkfifoat-tests (Depends-on): Likewise.
15024         * modules/mknod-tests (Depends-on): Likewise.
15025         * modules/openat-tests (Depends-on): Likewise.
15026         * modules/readlink-tests (Depends-on): Likewise.
15027         * modules/remove-tests (Depends-on): Likewise.
15028         * modules/rename-tests (Depends-on): Likewise.
15029         * modules/renameat-tests (Depends-on): Likewise.
15030         * modules/rmdir-tests (Depends-on): Likewise.
15031         * modules/symlink-tests (Depends-on): Likewise.
15032         * modules/symlinkat-tests (Depends-on): Likewise.
15033         * modules/unlink-tests (Depends-on): Likewise.
15034         * modules/utimens-tests (Depends-on): Likewise.
15035         * modules/utimensat-tests (Depends-on): Likewise.
15036
15037 2010-01-31  Bruno Haible  <bruno@clisp.org>
15038
15039         Perform the same test for many <math.h> functions.
15040         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
15041         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
15042         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
15043         of gl_MATHFUNC.
15044         * modules/acos (configure.ac): Likewise.
15045         * modules/asin (configure.ac): Likewise.
15046         * modules/atan (configure.ac): Likewise.
15047         * modules/atan2 (configure.ac): Likewise.
15048         * modules/cbrt (configure.ac): Likewise.
15049         * modules/copysign (configure.ac): Likewise.
15050         * modules/cos (configure.ac): Likewise.
15051         * modules/cosh (configure.ac): Likewise.
15052         * modules/erf (configure.ac): Likewise.
15053         * modules/erfc (configure.ac): Likewise.
15054         * modules/exp (configure.ac): Likewise.
15055         * modules/fmod (configure.ac): Likewise.
15056         * modules/hypot (configure.ac): Likewise.
15057         * modules/j0 (configure.ac): Likewise.
15058         * modules/j1 (configure.ac): Likewise.
15059         * modules/jn (configure.ac): Likewise.
15060         * modules/lgamma (configure.ac): Likewise.
15061         * modules/log (configure.ac): Likewise.
15062         * modules/log10 (configure.ac): Likewise.
15063         * modules/log1p (configure.ac): Likewise.
15064         * modules/pow (configure.ac): Likewise.
15065         * modules/remainder (configure.ac): Likewise.
15066         * modules/sin (configure.ac): Likewise.
15067         * modules/sinh (configure.ac): Likewise.
15068         * modules/tan (configure.ac): Likewise.
15069         * modules/tanh (configure.ac): Likewise.
15070         * modules/y0 (configure.ac): Likewise.
15071         * modules/y1 (configure.ac): Likewise.
15072         * modules/yn (configure.ac): Likewise.
15073         Suggested by Paolo Bonzini.
15074
15075 2010-01-31  Bruno Haible  <bruno@clisp.org>
15076
15077         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
15078
15079 2010-01-31  Bruno Haible  <bruno@clisp.org>
15080
15081         Work around getdelim() bug on FreeBSD 8.0.
15082         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
15083         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
15084         not work.
15085         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
15086         is 1.
15087         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
15088         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
15089         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
15090         a non-zero size.
15091         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
15092
15093 2010-01-31  Bruno Haible  <bruno@clisp.org>
15094
15095         Work around getline() bug on FreeBSD 8.0.
15096         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
15097         and a non-zero size.
15098         * tests/test-getline.c (main): Likewise.
15099         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
15100         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
15101
15102 2010-01-28  Eric Blake  <ebb9@byu.net>
15103
15104         regex: fix build failure
15105         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
15106         platforms.
15107
15108 2010-01-28  Jim Meyering  <meyering@redhat.com>
15109
15110         regex: do not ignore memory allocation failure
15111         * lib/regex_internal.c (create_cd_newstate): Detect
15112         re_node_set_init_copy failure.   Extracted from glibc commit
15113         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15114
15115         regex: sync more white-space changes from libc
15116         * lib/regex_internal.c: White-space only changes.
15117         * lib/regexec.c: Likewise.
15118
15119         regex: add many uses of __attribute_warn_unused_result__
15120         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
15121         * lib/regexec.c: Likewise.
15122         Extracted from a messy glibc commit.
15123
15124         regcomp.c: spelling and merge-artifact from glibc
15125         * lib/regcomp.c: Merge remainder of glibc's
15126         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15127
15128         regcomp.c: sync white-space changes from glibc
15129         * lib/regcomp.c: Merge to accommodate white space
15130         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15131
15132         regcomp.c: do not ignore internal return values
15133         * lib/regcomp.c: Do not ignore internal return values.
15134         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
15135         but without its white-space changes and spelling fixes.
15136
15137         regex_internal.h: define __attribute_warn_unused_result__
15138         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
15139
15140         maint: add a syntax-check rule to check for vulnerable Makefile.in
15141         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
15142
15143 2010-01-27  Jim Meyering  <meyering@redhat.com>
15144
15145         ncftpput-ftp: clean up spaces
15146         * build-aux/ncftpput-ftp: Make Copyright line consistent.
15147         Remove trailing blanks.
15148
15149 2010-01-27  Simon Josefsson  <simon@josefsson.org>
15150
15151         * build-aux/git-version-gen: Fix copyright statement.
15152         * build-aux/gnupload: Likewise.
15153         * tests/test-arcfour.c: Likewise.
15154         * tests/test-arctwo.c: Likewise.
15155         * tests/test-count-one-bits.c: Likewise.
15156         * tests/test-crc.c: Likewise.
15157         * tests/test-des.c: Likewise.
15158         * tests/test-gc-arcfour.c: Likewise.
15159         * tests/test-gc-arctwo.c: Likewise.
15160         * tests/test-gc-des.c: Likewise.
15161         * tests/test-gc-hmac-md5.c: Likewise.
15162         * tests/test-gc-hmac-sha1.c: Likewise.
15163         * tests/test-gc-md2.c: Likewise.
15164         * tests/test-gc-md4.c: Likewise.
15165         * tests/test-gc-md5.c: Likewise.
15166         * tests/test-gc-pbkdf2-sha1.c: Likewise.
15167         * tests/test-gc-rijndael.c: Likewise.
15168         * tests/test-gc-sha1.c: Likewise.
15169         * tests/test-gc.c: Likewise.
15170         * tests/test-gethostname.c: Likewise.
15171         * tests/test-gettimeofday.c: Likewise.
15172         * tests/test-hash.c: Likewise.
15173         * tests/test-hmac-md5.c: Likewise.
15174         * tests/test-hmac-sha1.c: Likewise.
15175         * tests/test-md2.c: Likewise.
15176         * tests/test-md4.c: Likewise.
15177         * tests/test-md5.c: Likewise.
15178         * tests/test-memchr.c: Likewise.
15179         * tests/test-memchr2.c: Likewise.
15180         * tests/test-memcmp.c: Likewise.
15181         * tests/test-memmem.c: Likewise.
15182         * tests/test-memrchr.c: Likewise.
15183         * tests/test-rawmemchr.c: Likewise.
15184         * tests/test-read-file.c: Likewise.
15185         * tests/test-rijndael.c: Likewise.
15186         * tests/test-sockets.c: Likewise.
15187         * tests/test-strchrnul.c: Likewise.
15188         * tests/test-strstr.c: Likewise.
15189         * tests/test-strtod.c: Likewise.
15190         * build-aux/ncftpput-ftp: Likewise.
15191
15192 2010-01-26  Eric Blake  <ebb9@byu.net>
15193
15194         ignore-value: update recommended header name
15195         * modules/ignore-value (Include): Only use <> for headers that
15196         exist in glibc.
15197
15198 2010-01-26  Jim Meyering  <meyering@redhat.com>
15199
15200         test-userspec.c: avoid compiler warnings
15201         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
15202         and "initialization discards qualifiers..." warnings.
15203         Put the first "uid" in its own scope, and make char* members "const".
15204
15205 2010-01-25  Bruno Haible  <bruno@clisp.org>
15206
15207         gnulib-tool: Make warning diagnostics consistent.
15208         * gnulib-tool (func_warning): New function.
15209         Use it everywhere where gnulib-tool produces output to stderr and it is
15210         not a fatal error.
15211
15212 2010-01-25  Bruno Haible  <bruno@clisp.org>
15213
15214         Fix test dependencies.
15215         * modules/xstrtol-tests (Depends-on): Add inttypes.
15216         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
15217
15218 2010-01-25 Pádraig Brady <P@draigBrady.com>
15219
15220         syntax-check: detect incorrect boolean macro values in config.h
15221         * modules/maintainer-makefile (configure.ac): Parameterize the location
15222         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
15223         The logic is from Eric Blake and the location indicated by Jim Meyering.
15224         Note the more natural CONFIG_HEADER name is prohibited by automake
15225         for backwards compatibility reasons.
15226         * top/maint.mk (sc_Wundef_boolean): New rule.
15227
15228 2010-01-25  Jim Meyering  <meyering@redhat.com>
15229
15230         bootstrap: detect MacOS 10.6's shasum, too
15231         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
15232         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
15233
15234 2010-01-23  Jim Meyering  <meyering@redhat.com>
15235
15236         xstrtoll: new module
15237         * modules/xstrtoll: New file.
15238         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
15239         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
15240         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
15241         ./configure fails if you use this module and lack "long long".
15242         * modules/xstrtoll-tests: New module.
15243         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
15244         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
15245         new init.sh-based test framework.
15246
15247 2010-01-24  Bruno Haible  <bruno@clisp.org>
15248
15249         Tests for module 'yn'.
15250         * modules/yn-tests: New file.
15251         * tests/test-yn.c: New file.
15252
15253         Tests for module 'y1'.
15254         * modules/y1-tests: New file.
15255         * tests/test-y1.c: New file.
15256
15257         Tests for module 'y0'.
15258         * modules/y0-tests: New file.
15259         * tests/test-y0.c: New file.
15260
15261         Tests for module 'tanh'.
15262         * modules/tanh-tests: New file.
15263         * tests/test-tanh.c: New file.
15264
15265         Tests for module 'tan'.
15266         * modules/tan-tests: New file.
15267         * tests/test-tan.c: New file.
15268
15269         Tests for module 'sqrt'.
15270         * modules/sqrt-tests: New file.
15271         * tests/test-sqrt.c: New file.
15272
15273         Tests for module 'sinh'.
15274         * modules/sinh-tests: New file.
15275         * tests/test-sinh.c: New file.
15276
15277         Tests for module 'sin'.
15278         * modules/sin-tests: New file.
15279         * tests/test-sin.c: New file.
15280
15281         Tests for module 'rint'.
15282         * modules/rint-tests: New file.
15283         * tests/test-rint.c: New file.
15284
15285         Tests for module 'remainder'.
15286         * modules/remainder-tests: New file.
15287         * tests/test-remainder.c: New file.
15288
15289         Tests for module 'pow'.
15290         * modules/pow-tests: New file.
15291         * tests/test-pow.c: New file.
15292
15293         Tests for module 'nextafter'.
15294         * modules/nextafter-tests: New file.
15295         * tests/test-nextafter.c: New file.
15296
15297         Tests for module 'modf'.
15298         * modules/modf-tests: New file.
15299         * tests/test-modf.c: New file.
15300
15301         Tests for module 'logb'.
15302         * modules/logb-tests: New file.
15303         * tests/test-logb.c: New file.
15304
15305         Tests for module 'log1p'.
15306         * modules/log1p-tests: New file.
15307         * tests/test-log1p.c: New file.
15308
15309         Tests for module 'log10'.
15310         * modules/log10-tests: New file.
15311         * tests/test-log10.c: New file.
15312
15313         Tests for module 'log'.
15314         * modules/log-tests: New file.
15315         * tests/test-log.c: New file.
15316
15317         Tests for module 'lgamma'.
15318         * modules/lgamma-tests: New file.
15319         * tests/test-lgamma.c: New file.
15320
15321         Tests for module 'ldexp'.
15322         * modules/ldexp-tests: New file.
15323         * tests/test-ldexp.c: New file.
15324
15325         Tests for module 'jn'.
15326         * modules/jn-tests: New file.
15327         * tests/test-jn.c: New file.
15328
15329         Tests for module 'j1'.
15330         * modules/j1-tests: New file.
15331         * tests/test-j1.c: New file.
15332
15333         Tests for module 'j0'.
15334         * modules/j0-tests: New file.
15335         * tests/test-j0.c: New file.
15336
15337         Tests for module 'hypot'.
15338         * modules/hypot-tests: New file.
15339         * tests/test-hypot.c: New file.
15340
15341         Tests for module 'fmod'.
15342         * modules/fmod-tests: New file.
15343         * tests/test-fmod.c: New file.
15344
15345         Tests for module 'fabs'.
15346         * modules/fabs-tests: New file.
15347         * tests/test-fabs.c: New file.
15348
15349         Tests for module 'exp'.
15350         * modules/exp-tests: New file.
15351         * tests/test-exp.c: New file.
15352
15353         Tests for module 'erfc'.
15354         * modules/erfc-tests: New file.
15355         * tests/test-erfc.c: New file.
15356
15357         Tests for module 'erf'.
15358         * modules/erf-tests: New file.
15359         * tests/test-erf.c: New file.
15360
15361         Tests for module 'cosh'.
15362         * modules/cosh-tests: New file.
15363         * tests/test-cosh.c: New file.
15364
15365         Tests for module 'cos'.
15366         * modules/cos-tests: New file.
15367         * tests/test-cos.c: New file.
15368
15369         Tests for module 'copysign'.
15370         * modules/copysign-tests: New file.
15371         * tests/test-copysign.c: New file.
15372
15373         Tests for module 'cbrt'.
15374         * modules/cbrt-tests: New file.
15375         * tests/test-cbrt.c: New file.
15376
15377         Tests for module 'atan2'.
15378         * modules/atan2-tests: New file.
15379         * tests/test-atan2.c: New file.
15380
15381         Tests for module 'atan'.
15382         * modules/atan-tests: New file.
15383         * tests/test-atan.c: New file.
15384
15385         Tests for module 'asin'.
15386         * modules/asin-tests: New file.
15387         * tests/test-asin.c: New file.
15388
15389         Tests for module 'acos'.
15390         * modules/acos-tests: New file.
15391         * tests/test-acos.c: New file.
15392
15393 2010-01-24  Bruno Haible  <bruno@clisp.org>
15394
15395         Fix tests for common <math.h> functions.
15396         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
15397         code snippet that references the function pointer, rather than merely
15398         calling the function. Substitute the FUNC_LIBM variable.
15399         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
15400         * modules/acos (configure.ac): Likewise.
15401         * modules/asin (configure.ac): Likewise.
15402         * modules/atan (configure.ac): Likewise.
15403         * modules/atan2 (configure.ac): Likewise.
15404         * modules/cbrt (configure.ac): Likewise.
15405         * modules/copysign (configure.ac): Likewise.
15406         * modules/cos (configure.ac): Likewise.
15407         * modules/cosh (configure.ac): Likewise.
15408         * modules/erf (configure.ac): Likewise.
15409         * modules/erfc (configure.ac): Likewise.
15410         * modules/exp (configure.ac): Likewise.
15411         * modules/fabs (configure.ac): Likewise.
15412         * modules/fmod (configure.ac): Likewise.
15413         * modules/hypot (configure.ac): Likewise.
15414         * modules/j0 (configure.ac): Likewise.
15415         * modules/j1 (configure.ac): Likewise.
15416         * modules/jn (configure.ac): Likewise.
15417         * modules/ldexp (configure.ac): Likewise.
15418         * modules/lgamma (configure.ac): Likewise.
15419         * modules/log (configure.ac): Likewise.
15420         * modules/log10 (configure.ac): Likewise.
15421         * modules/log1p (configure.ac): Likewise.
15422         * modules/logb (configure.ac): Likewise.
15423         * modules/modf (configure.ac): Likewise.
15424         * modules/nextafter (configure.ac): Likewise.
15425         * modules/pow (configure.ac): Likewise.
15426         * modules/remainder (configure.ac): Likewise.
15427         * modules/rint (configure.ac): Likewise.
15428         * modules/sin (configure.ac): Likewise.
15429         * modules/sinh (configure.ac): Likewise.
15430         * modules/tan (configure.ac): Likewise.
15431         * modules/tanh (configure.ac): Likewise.
15432         * modules/y0 (configure.ac): Likewise.
15433         * modules/y1 (configure.ac): Likewise.
15434         * modules/yn (configure.ac): Likewise.
15435
15436 2010-01-24  Bruno Haible  <bruno@clisp.org>
15437
15438         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
15439         * tests/test-acosl.c (x): New variable.
15440         (main): Store argument in x and fetch it from x.
15441         * tests/test-asinl.c (x): New variable.
15442         (main): Store argument in x and fetch it from x.
15443         * tests/test-atanl.c (x): New variable.
15444         (main): Store argument in x and fetch it from x.
15445         * tests/test-cosl.c (x): New variable.
15446         (main): Store argument in x and fetch it from x.
15447         * tests/test-expl.c (x): New variable.
15448         (main): Store argument in x and fetch it from x.
15449         * tests/test-logl.c (x): New variable.
15450         (main): Store argument in x and fetch it from x.
15451         * tests/test-sinl.c (x): New variable.
15452         (main): Store argument in x and fetch it from x.
15453         * tests/test-sqrtl.c (x): New variable.
15454         (main): Store argument in x and fetch it from x.
15455         * tests/test-tanl.c (x): New variable.
15456         (main): Store argument in x and fetch it from x.
15457
15458 2010-01-24  Bruno Haible  <bruno@clisp.org>
15459
15460         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
15461         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
15462         assignments to the initial TESTS_ENVIRONMENT.
15463         * doc/gnulib.texi (Unit test modules): Document it.
15464         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
15465         TESTS_ENVIRONMENT.
15466         * modules/btowc-tests (Makefile.am): Likewise.
15467         * modules/c-stack-tests (Makefile.am): Likewise.
15468         * modules/c-strcase-tests (Makefile.am): Likewise.
15469         * modules/copy-file-tests (Makefile.am): Likewise.
15470         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
15471         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
15472         * modules/mbrtowc-tests (Makefile.am): Likewise.
15473         * modules/mbscasecmp-tests (Makefile.am): Likewise.
15474         * modules/mbscasestr-tests (Makefile.am): Likewise.
15475         * modules/mbschr-tests (Makefile.am): Likewise.
15476         * modules/mbscspn-tests (Makefile.am): Likewise.
15477         * modules/mbsinit-tests (Makefile.am): Likewise.
15478         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
15479         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
15480         * modules/mbspbrk-tests (Makefile.am): Likewise.
15481         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
15482         * modules/mbsrchr-tests (Makefile.am): Likewise.
15483         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
15484         * modules/mbsspn-tests (Makefile.am): Likewise.
15485         * modules/mbsstr-tests (Makefile.am): Likewise.
15486         * modules/nl_langinfo-tests (Makefile.am): Likewise.
15487         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
15488         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
15489         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
15490         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
15491         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
15492         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
15493         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
15494         * modules/wcrtomb-tests (Makefile.am): Likewise.
15495         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
15496         * modules/wcsrtombs-tests (Makefile.am): Likewise.
15497         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
15498         assignments from TESTS_ENVIRONMENT.
15499         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
15500         augmentation.
15501         * modules/argp-version-etc-tests (Makefile.am): Likewise.
15502         * modules/atexit-tests (Makefile.am): Likewise.
15503         * modules/binary-io-tests (Makefile.am): Likewise.
15504         * modules/closein-tests (Makefile.am): Likewise.
15505         * modules/dprintf-posix-tests (Makefile.am): Likewise.
15506         * modules/exclude-tests (Makefile.am): Likewise.
15507         * modules/fflush-tests (Makefile.am): Likewise.
15508         * modules/fpending-tests (Makefile.am): Likewise.
15509         * modules/fprintf-posix-tests (Makefile.am): Likewise.
15510         * modules/freadahead-tests (Makefile.am): Likewise.
15511         * modules/freadptr-tests (Makefile.am): Likewise.
15512         * modules/freadseek-tests (Makefile.am): Likewise.
15513         * modules/fseek-tests (Makefile.am): Likewise.
15514         * modules/fseeko-tests (Makefile.am): Likewise.
15515         * modules/ftell-tests (Makefile.am): Likewise.
15516         * modules/ftello-tests (Makefile.am): Likewise.
15517         * modules/idpriv-drop-tests (Makefile.am): Likewise.
15518         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
15519         * modules/lseek-tests (Makefile.am): Likewise.
15520         * modules/parse-duration-tests (Makefile.am): Likewise.
15521         * modules/perror-tests (Makefile.am): Likewise.
15522         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
15523         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
15524         * modules/pipe-tests (Makefile.am): Likewise.
15525         * modules/pread-tests (Makefile.am): Likewise.
15526         * modules/printf-posix-tests (Makefile.am): Likewise.
15527         * modules/select-tests (Makefile.am): Likewise.
15528         * modules/sigpipe-tests (Makefile.am): Likewise.
15529         * modules/tsearch-tests (Makefile.am): Likewise.
15530         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
15531         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
15532         * modules/uniname/uniname-tests (Makefile.am): Likewise.
15533         * modules/uniwidth/width-tests (Makefile.am): Likewise.
15534         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
15535         * modules/version-etc-tests (Makefile.am): Likewise.
15536         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
15537         * modules/vprintf-posix-tests (Makefile.am): Likewise.
15538         * modules/xalloc-die-tests (Makefile.am): Likewise.
15539         * modules/xprintf-posix-tests (Makefile.am): Likewise.
15540         * modules/xstrtoimax-tests (Makefile.am): Likewise.
15541         * modules/xstrtol-tests (Makefile.am): Likewise.
15542         * modules/xstrtoumax-tests (Makefile.am): Likewise.
15543         * modules/yesno-tests (Makefile.am): Likewise.
15544         Suggested by Jim Meyering.
15545
15546 2010-01-24  Bruno Haible  <bruno@clisp.org>
15547
15548         More documentation.
15549         * doc/gnulib.texi (Writing modules): New chapter.
15550         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
15551         the new chapter.
15552
15553 2010-01-24  Jim Meyering  <meyering@redhat.com>
15554
15555         maint.mk: do not prepend "./" after filtering
15556         * top/maint.mk (_prepend_srcdir_prefix): New variable
15557         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
15558         "./" when $(srcdir) is ".".
15559
15560         define STREQ(a,b) consistently, removing useless parentheses
15561         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
15562         since the only risk is that "a" or "b" contains an unparenthesized
15563         comma, but if either did that, STREQ would have 3 or more arguments.
15564         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
15565         * lib/fts.c (STREQ): Remove unnecessary parentheses.
15566         * lib/hash-triple.c (STREQ): Likewise.
15567         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
15568         * lib/getugroups.c (STREQ): Likewise.
15569
15570 2010-01-23  Jim Meyering  <meyering@redhat.com>
15571
15572         maint.mk: fix syntax-check in a non-srcdir build directory
15573         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
15574         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
15575
15576 2010-01-22  Jim Meyering  <meyering@redhat.com>
15577
15578         userspec: add unit tests
15579         * tests/test-userspec.c: New file.
15580         * modules/userspec-tests: Likewise.
15581
15582 2010-01-21  Jim Meyering  <meyering@redhat.com>
15583
15584         maint.mk: handle source file names containing "." robustly
15585         * top/maint.mk (_dot_escaped_srcdir): Define.
15586         (VC_LIST): Use it in LHS of sed substitution.
15587
15588 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
15589
15590         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
15591         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
15592         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
15593         from a non-srcdir build.
15594
15595 2010-01-20  Eric Blake  <ebb9@byu.net>
15596
15597         warn-on-use: use instead of link-warning
15598         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
15599         * modules/unistd (Depends-on, Makefile.am): Likewise.
15600         * modules/arpa_inet (Depends-on): Replace link-warning with
15601         warn-on-use.
15602         (Makefile.am): Update rules accordingly.
15603         * modules/ctype (Depends-on, Makefile.am): Likewise.
15604         * modules/dirent (Depends-on, Makefile.am): Likewise.
15605         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
15606         * modules/inttypes (Depends-on, Makefile.am): Likewise.
15607         * modules/langinfo (Depends-on, Makefile.am): Likewise.
15608         * modules/locale (Depends-on, Makefile.am): Likewise.
15609         * modules/math (Depends-on, Makefile.am): Likewise.
15610         * modules/search (Depends-on, Makefile.am): Likewise.
15611         * modules/signal (Depends-on, Makefile.am): Likewise.
15612         * modules/spawn (Depends-on, Makefile.am): Likewise.
15613         * modules/stdlib (Depends-on, Makefile.am): Likewise.
15614         * modules/string (Depends-on, Makefile.am): Likewise.
15615         * modules/strings (Depends-on, Makefile.am): Likewise.
15616         * modules/sys_file (Depends-on, Makefile.am): Likewise.
15617         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
15618         * modules/sys_select (Depends-on, Makefile.am): Likewise.
15619         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
15620         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
15621         * modules/sys_times (Depends-on, Makefile.am): Likewise.
15622         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
15623         * modules/wchar (Depends-on, Makefile.am): Likewise.
15624         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
15625         should be poisoned.
15626         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
15627         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
15628         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
15629         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
15630         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
15631         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
15632         * m4/math_h.m4 (gl_MATH_H): Likewise.
15633         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
15634         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
15635         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
15636         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
15637         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
15638         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
15639         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
15640         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
15641         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
15642         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
15643         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
15644         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
15645         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
15646         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15647         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
15648         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
15649         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
15650         GL_LINK_WARNING.
15651         * lib/ctype.in.h: Likewise.
15652         * lib/dirent.in.h: Likewise.
15653         * lib/fcntl.in.h: Likewise.
15654         * lib/inttypes.in.h: Likewise.
15655         * lib/langinfo.in.h: Likewise.
15656         * lib/locale.in.h: Likewise.
15657         * lib/math.in.h: Likewise.
15658         * lib/search.in.h: Likewise.
15659         * lib/signal.in.h: Likewise.
15660         * lib/spawn.in.h: Likewise.
15661         * lib/stdio.in.h: Likewise.
15662         * lib/stdlib.in.h: Likewise.
15663         * lib/string.in.h: Likewise.
15664         * lib/strings.in.h: Likewise.
15665         * lib/sys_file.in.h: Likewise.
15666         * lib/sys_ioctl.in.h: Likewise.
15667         * lib/sys_select.in.h: Likewise.
15668         * lib/sys_socket.in.h: Likewise.
15669         * lib/sys_stat.in.h: Likewise.
15670         * lib/sys_times.in.h: Likewise.
15671         * lib/sys_utsname.in.h: Likewise.
15672         * lib/unistd.in.h: Likewise.
15673         * lib/wchar.in.h: Likewise.
15674
15675 2010-01-20  Bruno Haible  <bruno@clisp.org>
15676
15677         Avoid duplicate -lm.
15678         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
15679         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
15680         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
15681         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
15682         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
15683         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
15684         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
15685         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
15686         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
15687         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
15688         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
15689         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
15690         Reported by Paolo Bonzini.
15691
15692 2010-01-19  Bruno Haible  <bruno@clisp.org>
15693
15694         langinfo, nl_langinfo: Relicense under LGPLv2+.
15695         * modules/langinfo (License): Change to LGPLv2+.
15696         * modules/nl_langinfo (License): Likewise.
15697         Patch by David Lutterkort <lutter@redhat.com>.
15698
15699 2010-01-19  Bruno Haible  <bruno@clisp.org>
15700
15701         Avoid compilation error with cc on OSF/1 5.1.
15702         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
15703         statement, not before.
15704         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15705
15706 2010-01-18  Bruno Haible  <bruno@clisp.org>
15707
15708         Avoid a link error due to the __printf__ symbol.
15709         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
15710         and 2.6.x.
15711         (__format__, __printf__): Remove definitions.
15712         * lib/argp-fmtstream.h: Likewise.
15713         * lib/argp.h: Likewise.
15714         * lib/error.h: Likewise.
15715         * lib/vasnprintf.h: Likewise.
15716         * lib/xprintf.h: Likewise.
15717         * lib/xvasprintf.h: Likewise.
15718         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15719
15720 2010-01-18  Bruno Haible  <bruno@clisp.org>
15721
15722         Tests for module 'tanl'.
15723         * modules/tanl-tests: New file.
15724         * tests/test-tanl.c: New file.
15725
15726         Tests for module 'sqrtl'.
15727         * modules/sqrtl-tests: New file.
15728         * tests/test-sqrtl.c: New file.
15729
15730         Tests for module 'sinl'.
15731         * modules/sinl-tests: New file.
15732         * tests/test-sinl.c: New file.
15733
15734         Tests for module 'logl'.
15735         * modules/logl-tests: New file.
15736         * tests/test-logl.c: New file.
15737
15738         Tests for module 'expl'.
15739         * modules/expl-tests: New file.
15740         * tests/test-expl.c: New file.
15741
15742         Tests for module 'cosl'.
15743         * modules/cosl-tests: New file.
15744         * tests/test-cosl.c: New file.
15745
15746         Tests for module 'atanl'.
15747         * modules/atanl-tests: New file.
15748         * tests/test-atanl.c: New file.
15749
15750         Tests for module 'asinl'.
15751         * modules/asinl-tests: New file.
15752         * tests/test-asinl.c: New file.
15753
15754         Tests for module 'acosl'.
15755         * modules/acosl-tests: New file.
15756         * tests/test-acosl.c: New file.
15757
15758         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
15759         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
15760         tanl): Use the standard gnulib idiom.
15761         * lib/cosl.c: Don't include trigl.c and sincosl.c.
15762         * lib/sinl.c: Likewise.
15763         * lib/tanl.c: Don't include trigl.c.
15764         (kernel_tanl): Make static.
15765         * lib/sincosl.c: Include trigl.h first.
15766         * lib/trigl.c: Likewise.
15767         * m4/acosl.m4: New file.
15768         * m4/asinl.m4: New file.
15769         * m4/atanl.m4: New file.
15770         * m4/cosl.m4: New file.
15771         * m4/expl.m4: New file.
15772         * m4/logl.m4: New file.
15773         * m4/sinl.m4: New file.
15774         * m4/sqrtl.m4: New file.
15775         * m4/tanl.m4: New file.
15776         * m4/mathl.m4: Remove file.
15777         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
15778         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
15779         Don't initialize GNULIB_MATHL.
15780         * modules/acosl: New file.
15781         * modules/asinl: New file.
15782         * modules/atanl: New file.
15783         * modules/cosl: New file.
15784         * modules/expl: New file.
15785         * modules/logl: New file.
15786         * modules/sinl: New file.
15787         * modules/sqrtl: New file.
15788         * modules/tanl: New file.
15789         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
15790         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
15791         substitute GNULIB_MATHL.
15792         * modules/mathl: Rewritten.
15793         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
15794         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
15795         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
15796         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
15797         * doc/posix-functions/expl.texi: Mention the 'expl' module.
15798         * doc/posix-functions/logl.texi: Mention the 'logl' module.
15799         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
15800         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
15801         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
15802
15803 2010-01-18  Bruno Haible  <bruno@clisp.org>
15804
15805         sqrt: Make gl_FUNC_SQRT requirable.
15806         * m4/sqrt.m4: New file.
15807         * modules/sqrt (Files): Add it.
15808         (configure.ac): Invoke gl_FUNC_SQRT.
15809
15810 2010-01-18  Bruno Haible  <bruno@clisp.org>
15811
15812         New modules for common <math.h> functions.
15813         * m4/mathfunc.m4: New file.
15814         * modules/acos: New file.
15815         * modules/asin: New file.
15816         * modules/atan: New file.
15817         * modules/atan2: New file.
15818         * modules/cbrt: New file.
15819         * modules/copysign: New file.
15820         * modules/cos: New file.
15821         * modules/cosh: New file.
15822         * modules/erf: New file.
15823         * modules/erfc: New file.
15824         * modules/exp: New file.
15825         * modules/fabs: New file.
15826         * modules/fmod: New file.
15827         * modules/hypot: New file.
15828         * modules/j0: New file.
15829         * modules/j1: New file.
15830         * modules/jn: New file.
15831         * modules/ldexp: New file.
15832         * modules/lgamma: New file.
15833         * modules/log: New file.
15834         * modules/log10: New file.
15835         * modules/log1p: New file.
15836         * modules/logb: New file.
15837         * modules/modf: New file.
15838         * modules/nextafter: New file.
15839         * modules/pow: New file.
15840         * modules/remainder: New file.
15841         * modules/rint: New file.
15842         * modules/sin: New file.
15843         * modules/sinh: New file.
15844         * modules/sqrt: New file.
15845         * modules/tan: New file.
15846         * modules/tanh: New file.
15847         * modules/y0: New file.
15848         * modules/y1: New file.
15849         * modules/yn: New file.
15850         * doc/posix-functions/acos.texi: Mention the 'acos' module.
15851         * doc/posix-functions/asin.texi: Mention the 'asin' module.
15852         * doc/posix-functions/atan.texi: Mention the 'atan' module.
15853         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
15854         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
15855         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
15856         * doc/posix-functions/cos.texi: Mention the 'cos' module.
15857         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
15858         * doc/posix-functions/erf.texi: Mention the 'erf' module.
15859         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
15860         * doc/posix-functions/exp.texi: Mention the 'exp' module.
15861         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
15862         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
15863         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
15864         * doc/posix-functions/j0.texi: Mention the 'j0' module.
15865         * doc/posix-functions/j1.texi: Mention the 'j1' module.
15866         * doc/posix-functions/jn.texi: Mention the 'jn' module.
15867         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
15868         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
15869         * doc/posix-functions/log.texi: Mention the 'log' module.
15870         * doc/posix-functions/log10.texi: Mention the 'log10' module.
15871         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
15872         * doc/posix-functions/logb.texi: Mention the 'logb' module.
15873         * doc/posix-functions/modf.texi: Mention the 'modf' module.
15874         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
15875         * doc/posix-functions/pow.texi: Mention the 'pow' module.
15876         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
15877         * doc/posix-functions/rint.texi: Mention the 'rint' module.
15878         * doc/posix-functions/sin.texi: Mention the 'sin' module.
15879         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
15880         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
15881         * doc/posix-functions/tan.texi: Mention the 'tan' module.
15882         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
15883         * doc/posix-functions/y0.texi: Mention the 'y0' module.
15884         * doc/posix-functions/y1.texi: Mention the 'y1' module.
15885         * doc/posix-functions/yn.texi: Mention the 'yn' module.
15886
15887 2010-01-18  Jim Meyering  <meyering@redhat.com>
15888
15889         ignore-value: relax license to LGPLv2+
15890         * modules/ignore-value (License): Relax to LGPLv2+.
15891
15892         getdate: don't leak when TZ contains two or more '"'s
15893         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
15894         double quote in TZ after the first one.
15895
15896         readtokens: do not leak internal token_lengths buffer
15897         * lib/readtokens.c (readtokens): Free the local, lengths,
15898         when the supplied "token_lengths" parameter is NULL.
15899
15900 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15901
15902         Fix a couple of missing LIBTHREAD link failures on AIX.
15903         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
15904         $(LIBTHREAD).
15905         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
15906
15907         Link test-poll against INET_PTON_LIB.
15908         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
15909         for inet_pton on Solaris 10.
15910
15911 2010-01-17  Bruno Haible  <bruno@clisp.org>
15912
15913         unistdio/*-sprintf: Fix typo in module description.
15914         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
15915         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
15916         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
15917         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
15918         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
15919         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
15920         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
15921         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15922
15923 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15924
15925         gnulib-tool: fix filelist for AIX, HP-UX ksh.
15926         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
15927         variables in shell case patterns, for AIX and HP-UX ksh.
15928
15929         Split large sed scripts, for HP-UX sed.
15930         * modules/stdio: Split sed scripts around 50 sed commands,
15931         to avoid HP-UX limit of 99 commands, in the near future.
15932         * modules/string: Likewise.
15933         * modules/unistd: Likewise.
15934
15935         gnulib-tool: avoid writing in the current directory.
15936         * gnulib-tool (func_emit_lib_Makefile_am)
15937         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
15938         not in the current directory, so concurrent gnulib-tool
15939         instances do not interfere.
15940
15941 2010-01-16  Jim Meyering  <meyering@redhat.com>
15942
15943         doc: update users.txt
15944         * users.txt: Add grep.
15945         (diffutils, gzip): Update URLs.
15946
15947 2010-01-12  Bruno Haible  <bruno@clisp.org>
15948
15949         posix_spawn: Avoid test failure on Cygwin.
15950         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
15951         characters.
15952         Reported by Simon Josefsson.
15953
15954 2010-01-12  Bruno Haible  <bruno@clisp.org>
15955
15956         * tests/test-cond.c (main): When skipping the test, show the reason.
15957
15958 2010-01-12  Simon Josefsson  <simon@josefsson.org>
15959
15960         * lib/striconv.c (str_cd_iconv): Avoid if before free.
15961
15962 2010-01-12  Simon Josefsson  <simon@josefsson.org>
15963
15964         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
15965         VC_LIST_ALWAYS_EXCLUDE_REGEX.
15966
15967 2010-01-12  Eric Blake  <ebb9@byu.net>
15968
15969         build: guarantee AS_VAR_IF
15970         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
15971         (gl_AS_VAR_IF): Move...
15972         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
15973         Reported by Simon Josefsson.
15974
15975 2010-01-12  Simon Josefsson  <simon@josefsson.org>
15976
15977         * lib/stdio.in.h: Fix typo.
15978
15979 2010-01-12  Simon Josefsson  <simon@josefsson.org>
15980
15981         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
15982         libgpg-error.
15983
15984 2010-01-12  Simon Josefsson  <simon@josefsson.org>
15985
15986         * tests/test-xalloc-die.sh: Use $EXEEXT.
15987
15988 2010-01-12  Simon Josefsson  <simon@josefsson.org>
15989             Bruno Haible  <bruno@clisp.org>
15990
15991         getlogin, getlogin_r: Avoid test failure.
15992         * tests/test-getlogin.c: Include <stdio.h>.
15993         (main): Skip the test when the function fails because stdin is not a
15994         tty.
15995         * tests/test-getlogin_r.c: Include <stdio.h>.
15996         (main): Skip the test when the function fails because stdin is not a
15997         tty.
15998
15999 2010-01-11  Eric Blake  <ebb9@byu.net>
16000
16001         tests: avoid more large file warnings
16002         * tests/test-fflush.c: Avoid warning about ftell use.
16003         * tests/test-fseek.c: Avoid warning about fseek use.
16004
16005 2010-01-10  Bruno Haible  <bruno@clisp.org>
16006
16007         nproc: Work better on Linux when /proc and /sys are not mounted.
16008         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
16009         as lower bound when, on glibc/Linux systems,
16010         sysconf (_SC_NPROCESSORS_CONF) returns 1.
16011         Suggested by Pádraig Brady <P@draigbrady.com>.
16012         Reported by Dmitry V. Levin <ldv@altlinux.org>.
16013
16014         nproc: Refactor.
16015         * lib/nproc.c (num_processors_via_affinity_mask): New function,
16016         extracted from num_processors.
16017         (num_processors): Call it.
16018
16019 2010-01-11  Jim Meyering  <meyering@redhat.com>
16020
16021         utimecmp: avoid new warning from upcoming gcc-4.5.0
16022         * lib/utimecmp.c (BILLION): Define using #define rather than an
16023         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
16024
16025 2010-01-11  Eric Blake  <ebb9@byu.net>
16026
16027         math: add portability warnings for classification macros
16028         * modules/math (Depends-on): Add warn-on-use.
16029         (Makefile.am): Provide new substitutions.
16030         * m4/math_h.m4 (gl_MATH_H): Require inline.
16031         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
16032         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
16033         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
16034         implement warnings.
16035
16036         unistd: warn on use of environ without module
16037         * modules/unistd (Depends-on): Add warn-on-use.
16038         (Makefile.am): Provide new substitutions.
16039         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
16040         * lib/unistd.in.h (environ): Wrap with a warning helper function.
16041
16042         stdio: warn on suspicious uses
16043         * modules/stdio (Depends-on): Add warn-on-use.
16044         (Makefile.am): Provide new substitutions.
16045         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
16046         fseeko.
16047         * lib/stdio.in.h (gets): Always warn on use.
16048         (fseek, ftell): Adjust when warnings are issued, and honor
16049         _GL_NO_LARGE_FILES as a way to silence the warning.
16050         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
16051         any warning about large file offsets.
16052         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
16053         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
16054         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
16055         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
16056         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
16057         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
16058         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
16059         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
16060
16061         warn-on-use: new module
16062         * modules/warn-on-use: New file.
16063         * build-aux/warn-on-use.h: Likewise.
16064         * m4/warn-on-use.m4: Likewise.
16065         * MODULES.html.sh (Support for building): Mention it.
16066
16067 2010-01-10  Bruno Haible  <bruno@clisp.org>
16068
16069         Tests for module 'unistr/u32-strdup'.
16070         * modules/unistr/u32-strdup-tests: New file.
16071         * tests/unistr/test-u32-strdup.c: New file.
16072
16073         Tests for module 'unistr/u16-strdup'.
16074         * modules/unistr/u16-strdup-tests: New file.
16075         * tests/unistr/test-u16-strdup.c: New file.
16076
16077         Tests for module 'unistr/u8-strdup'.
16078         * modules/unistr/u8-strdup-tests: New file.
16079         * tests/unistr/test-u8-strdup.c: New file.
16080         * tests/unistr/test-strdup.h: New file.
16081
16082         Tests for module 'unistr/u32-strncmp'.
16083         * modules/unistr/u32-strncmp-tests: New file.
16084         * tests/unistr/test-u32-strncmp.c: New file.
16085
16086         Tests for module 'unistr/u16-strncmp'.
16087         * modules/unistr/u16-strncmp-tests: New file.
16088         * tests/unistr/test-u16-strncmp.c: New file.
16089
16090         Tests for module 'unistr/u8-strncmp'.
16091         * modules/unistr/u8-strncmp-tests: New file.
16092         * tests/unistr/test-u8-strncmp.c: New file.
16093         * tests/unistr/test-strncmp.h: New file.
16094
16095         Tests for module 'unistr/u32-strcoll'.
16096         * modules/unistr/u32-strcoll-tests: New file.
16097         * tests/unistr/test-u32-strcoll.c: New file.
16098
16099         Tests for module 'unistr/u16-strcoll'.
16100         * modules/unistr/u16-strcoll-tests: New file.
16101         * tests/unistr/test-u16-strcoll.c: New file.
16102
16103         Tests for module 'unistr/u8-strcoll'.
16104         * modules/unistr/u8-strcoll-tests: New file.
16105         * tests/unistr/test-u8-strcoll.c: New file.
16106
16107         Tests for module 'unistr/u32-strcmp'.
16108         * modules/unistr/u32-strcmp-tests: New file.
16109         * tests/unistr/test-u32-strcmp.c: New file.
16110         * tests/unistr/test-u32-strcmp.h: New file.
16111
16112         Tests for module 'unistr/u16-strcmp'.
16113         * modules/unistr/u16-strcmp-tests: New file.
16114         * tests/unistr/test-u16-strcmp.c: New file.
16115         * tests/unistr/test-u16-strcmp.h: New file.
16116
16117         Tests for module 'unistr/u8-strcmp'.
16118         * modules/unistr/u8-strcmp-tests: New file.
16119         * tests/unistr/test-u8-strcmp.c: New file.
16120         * tests/unistr/test-u8-strcmp.h: New file.
16121         * tests/unistr/test-strcmp.h: New file.
16122
16123         Tests for module 'unistr/u32-strncat'.
16124         * modules/unistr/u32-strncat-tests: New file.
16125         * tests/unistr/test-u32-strncat.c: New file.
16126
16127         Tests for module 'unistr/u16-strncat'.
16128         * modules/unistr/u16-strncat-tests: New file.
16129         * tests/unistr/test-u16-strncat.c: New file.
16130
16131         Tests for module 'unistr/u8-strncat'.
16132         * modules/unistr/u8-strncat-tests: New file.
16133         * tests/unistr/test-u8-strncat.c: New file.
16134         * tests/unistr/test-strncat.h: New file.
16135
16136         Tests for module 'unistr/u32-strcat'.
16137         * modules/unistr/u32-strcat-tests: New file.
16138         * tests/unistr/test-u32-strcat.c: New file.
16139
16140         Tests for module 'unistr/u16-strcat'.
16141         * modules/unistr/u16-strcat-tests: New file.
16142         * tests/unistr/test-u16-strcat.c: New file.
16143
16144         Tests for module 'unistr/u8-strcat'.
16145         * modules/unistr/u8-strcat-tests: New file.
16146         * tests/unistr/test-u8-strcat.c: New file.
16147         * tests/unistr/test-strcat.h: New file.
16148
16149         Tests for module 'unistr/u32-stpncpy'.
16150         * modules/unistr/u32-stpncpy-tests: New file.
16151         * tests/unistr/test-u32-stpncpy.c: New file.
16152
16153         Tests for module 'unistr/u16-stpncpy'.
16154         * modules/unistr/u16-stpncpy-tests: New file.
16155         * tests/unistr/test-u16-stpncpy.c: New file.
16156
16157         Tests for module 'unistr/u8-stpncpy'.
16158         * modules/unistr/u8-stpncpy-tests: New file.
16159         * tests/unistr/test-u8-stpncpy.c: New file.
16160         * tests/unistr/test-stpncpy.h: New file.
16161
16162         Tests for module 'unistr/u32-strncpy'.
16163         * modules/unistr/u32-strncpy-tests: New file.
16164         * tests/unistr/test-u32-strncpy.c: New file.
16165
16166         Tests for module 'unistr/u16-strncpy'.
16167         * modules/unistr/u16-strncpy-tests: New file.
16168         * tests/unistr/test-u16-strncpy.c: New file.
16169
16170         Tests for module 'unistr/u8-strncpy'.
16171         * modules/unistr/u8-strncpy-tests: New file.
16172         * tests/unistr/test-u8-strncpy.c: New file.
16173         * tests/unistr/test-strncpy.h: New file.
16174
16175         Tests for module 'unistr/u32-stpcpy'.
16176         * modules/unistr/u32-stpcpy-tests: New file.
16177         * tests/unistr/test-u32-stpcpy.c: New file.
16178
16179         Tests for module 'unistr/u16-stpcpy'.
16180         * modules/unistr/u16-stpcpy-tests: New file.
16181         * tests/unistr/test-u16-stpcpy.c: New file.
16182
16183         Tests for module 'unistr/u8-stpcpy'.
16184         * modules/unistr/u8-stpcpy-tests: New file.
16185         * tests/unistr/test-u8-stpcpy.c: New file.
16186         * tests/unistr/test-stpcpy.h: New file.
16187
16188         Tests for module 'unistr/u32-strcpy'.
16189         * modules/unistr/u32-strcpy-tests: New file.
16190         * tests/unistr/test-u32-strcpy.c: New file.
16191
16192         Tests for module 'unistr/u16-strcpy'.
16193         * modules/unistr/u16-strcpy-tests: New file.
16194         * tests/unistr/test-u16-strcpy.c: New file.
16195
16196         Tests for module 'unistr/u8-strcpy'.
16197         * modules/unistr/u8-strcpy-tests: New file.
16198         * tests/unistr/test-u8-strcpy.c: New file.
16199         * tests/unistr/test-strcpy.h: New file.
16200
16201         Tests for module 'unistr/u32-strnlen'.
16202         * modules/unistr/u32-strnlen-tests: New file.
16203         * tests/unistr/test-u32-strnlen.c: New file.
16204
16205         Tests for module 'unistr/u16-strnlen'.
16206         * modules/unistr/u16-strnlen-tests: New file.
16207         * tests/unistr/test-u16-strnlen.c: New file.
16208
16209         Tests for module 'unistr/u8-strnlen'.
16210         * modules/unistr/u8-strnlen-tests: New file.
16211         * tests/unistr/test-u8-strnlen.c: New file.
16212         * tests/unistr/test-strnlen.h: New file.
16213
16214         Tests for module 'unistr/u32-strlen'.
16215         * modules/unistr/u32-strlen-tests: New file.
16216         * tests/unistr/test-u32-strlen.c: New file.
16217
16218         Tests for module 'unistr/u16-strlen'.
16219         * modules/unistr/u16-strlen-tests: New file.
16220         * tests/unistr/test-u16-strlen.c: New file.
16221
16222         Tests for module 'unistr/u8-strlen'.
16223         * modules/unistr/u8-strlen-tests: New file.
16224         * tests/unistr/test-u8-strlen.c: New file.
16225
16226         Tests for module 'unistr/u32-prev'.
16227         * modules/unistr/u32-prev-tests: New file.
16228         * tests/unistr/test-u32-prev.c: New file.
16229
16230         Tests for module 'unistr/u16-prev'.
16231         * modules/unistr/u16-prev-tests: New file.
16232         * tests/unistr/test-u16-prev.c: New file.
16233
16234         Tests for module 'unistr/u8-prev'.
16235         * modules/unistr/u8-prev-tests: New file.
16236         * tests/unistr/test-u8-prev.c: New file.
16237
16238         Tests for module 'unistr/u32-next'.
16239         * modules/unistr/u32-next-tests: New file.
16240         * tests/unistr/test-u32-next.c: New file.
16241
16242         Tests for module 'unistr/u16-next'.
16243         * modules/unistr/u16-next-tests: New file.
16244         * tests/unistr/test-u16-next.c: New file.
16245
16246         Tests for module 'unistr/u8-next'.
16247         * modules/unistr/u8-next-tests: New file.
16248         * tests/unistr/test-u8-next.c: New file.
16249
16250         Tests for module 'unistr/u32-strmbtouc'.
16251         * modules/unistr/u32-strmbtouc-tests: New file.
16252         * tests/unistr/test-u32-strmbtouc.c: New file.
16253
16254         Tests for module 'unistr/u16-strmbtouc'.
16255         * modules/unistr/u16-strmbtouc-tests: New file.
16256         * tests/unistr/test-u16-strmbtouc.c: New file.
16257
16258         Tests for module 'unistr/u8-strmbtouc'.
16259         * modules/unistr/u8-strmbtouc-tests: New file.
16260         * tests/unistr/test-u8-strmbtouc.c: New file.
16261
16262         Tests for module 'unistr/u32-strmblen'.
16263         * modules/unistr/u32-strmblen-tests: New file.
16264         * tests/unistr/test-u32-strmblen.c: New file.
16265
16266         Tests for module 'unistr/u16-strmblen'.
16267         * modules/unistr/u16-strmblen-tests: New file.
16268         * tests/unistr/test-u16-strmblen.c: New file.
16269
16270         Tests for module 'unistr/u8-strmblen'.
16271         * modules/unistr/u8-strmblen-tests: New file.
16272         * tests/unistr/test-u8-strmblen.c: New file.
16273
16274         Tests for module 'unistr/u32-cpy-alloc'.
16275         * modules/unistr/u32-cpy-alloc-tests: New file.
16276         * tests/unistr/test-u32-cpy-alloc.c: New file.
16277
16278         Tests for module 'unistr/u16-cpy-alloc'.
16279         * modules/unistr/u16-cpy-alloc-tests: New file.
16280         * tests/unistr/test-u16-cpy-alloc.c: New file.
16281
16282         Tests for module 'unistr/u8-cpy-alloc'.
16283         * modules/unistr/u8-cpy-alloc-tests: New file.
16284         * tests/unistr/test-u8-cpy-alloc.c: New file.
16285         * tests/unistr/test-cpy-alloc.h: New file.
16286
16287         Tests for module 'unistr/u32-mbsnlen'.
16288         * modules/unistr/u32-mbsnlen-tests: New file.
16289         * tests/unistr/test-u32-mbsnlen.c: New file.
16290
16291         Tests for module 'unistr/u16-mbsnlen'.
16292         * modules/unistr/u16-mbsnlen-tests: New file.
16293         * tests/unistr/test-u16-mbsnlen.c: New file.
16294
16295         Tests for module 'unistr/u8-mbsnlen'.
16296         * modules/unistr/u8-mbsnlen-tests: New file.
16297         * tests/unistr/test-u8-mbsnlen.c: New file.
16298
16299         Tests for module 'unistr/u32-chr'.
16300         * modules/unistr/u32-chr-tests: New file.
16301         * tests/unistr/test-u32-chr.c: New file.
16302
16303         Tests for module 'unistr/u16-chr'.
16304         * modules/unistr/u16-chr-tests: New file.
16305         * tests/unistr/test-u16-chr.c: New file.
16306
16307         Tests for module 'unistr/u8-chr'.
16308         * modules/unistr/u8-chr-tests: New file.
16309         * tests/unistr/test-u8-chr.c: New file.
16310         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
16311
16312         Tests for module 'unistr/u32-cmp2'.
16313         * modules/unistr/u32-cmp2-tests: New file.
16314         * tests/unistr/test-u32-cmp2.c: New file.
16315
16316         Tests for module 'unistr/u16-cmp2'.
16317         * modules/unistr/u16-cmp2-tests: New file.
16318         * tests/unistr/test-u16-cmp2.c: New file.
16319
16320         Tests for module 'unistr/u8-cmp2'.
16321         * modules/unistr/u8-cmp2-tests: New file.
16322         * tests/unistr/test-u8-cmp2.c: New file.
16323         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
16324
16325         Tests for module 'unistr/u32-cmp'.
16326         * modules/unistr/u32-cmp-tests: New file.
16327         * tests/unistr/test-u32-cmp.c: New file.
16328
16329         Tests for module 'unistr/u16-cmp'.
16330         * modules/unistr/u16-cmp-tests: New file.
16331         * tests/unistr/test-u16-cmp.c: New file.
16332
16333         Tests for module 'unistr/u8-cmp'.
16334         * modules/unistr/u8-cmp-tests: New file.
16335         * tests/unistr/test-u8-cmp.c: New file.
16336         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
16337
16338         Tests for module 'unistr/u32-set'.
16339         * modules/unistr/u32-set-tests: New file.
16340         * tests/unistr/test-u32-set.c: New file.
16341
16342         Tests for module 'unistr/u16-set'.
16343         * modules/unistr/u16-set-tests: New file.
16344         * tests/unistr/test-u16-set.c: New file.
16345
16346         Tests for module 'unistr/u8-set'.
16347         * modules/unistr/u8-set-tests: New file.
16348         * tests/unistr/test-u8-set.c: New file.
16349         * tests/unistr/test-set.h: New file.
16350
16351         Tests for module 'unistr/u32-move'.
16352         * modules/unistr/u32-move-tests: New file.
16353         * tests/unistr/test-u32-move.c: New file.
16354
16355         Tests for module 'unistr/u16-move'.
16356         * modules/unistr/u16-move-tests: New file.
16357         * tests/unistr/test-u16-move.c: New file.
16358
16359         Tests for module 'unistr/u8-move'.
16360         * modules/unistr/u8-move-tests: New file.
16361         * tests/unistr/test-u8-move.c: New file.
16362         * tests/unistr/test-move.h: New file.
16363
16364         Tests for module 'unistr/u32-cpy'.
16365         * modules/unistr/u32-cpy-tests: New file.
16366         * tests/unistr/test-u32-cpy.c: New file.
16367
16368         Tests for module 'unistr/u16-cpy'.
16369         * modules/unistr/u16-cpy-tests: New file.
16370         * tests/unistr/test-u16-cpy.c: New file.
16371
16372         Tests for module 'unistr/u8-cpy'.
16373         * modules/unistr/u8-cpy-tests: New file.
16374         * tests/unistr/test-u8-cpy.c: New file.
16375         * tests/unistr/test-cpy.h: New file.
16376
16377 2010-01-09  Bruno Haible  <bruno@clisp.org>
16378
16379         Tests for module 'unistr/u32-uctomb'.
16380         * modules/unistr/u32-uctomb-tests: New file.
16381         * tests/unistr/test-u32-uctomb.c: New file.
16382
16383         Tests for module 'unistr/u16-uctomb'.
16384         * modules/unistr/u16-uctomb-tests: New file.
16385         * tests/unistr/test-u16-uctomb.c: New file.
16386
16387         Tests for module 'unistr/u8-uctomb'.
16388         * modules/unistr/u8-uctomb-tests: New file.
16389         * tests/unistr/test-u8-uctomb.c: New file.
16390
16391         Tests for module 'unistr/u32-mbtoucr'.
16392         * modules/unistr/u32-mbtoucr-tests: New file.
16393         * tests/unistr/test-u32-mbtoucr.c: New file.
16394
16395         Tests for module 'unistr/u16-mbtoucr'.
16396         * modules/unistr/u16-mbtoucr-tests: New file.
16397         * tests/unistr/test-u16-mbtoucr.c: New file.
16398
16399         Tests for module 'unistr/u8-mbtoucr'.
16400         * modules/unistr/u8-mbtoucr-tests: New file.
16401         * tests/unistr/test-u8-mbtoucr.c: New file.
16402
16403         Tests for module 'unistr/u32-mbtouc'.
16404         * modules/unistr/u32-mbtouc-tests: New file.
16405         * tests/unistr/test-u32-mbtouc.c: New file.
16406
16407         Tests for module 'unistr/u16-mbtouc'.
16408         * modules/unistr/u16-mbtouc-tests: New file.
16409         * tests/unistr/test-u16-mbtouc.c: New file.
16410
16411         Tests for module 'unistr/u8-mbtouc'.
16412         * modules/unistr/u8-mbtouc-tests: New file.
16413         * tests/unistr/test-u8-mbtouc.c: New file.
16414
16415         Tests for module 'unistr/u32-mbtouc-unsafe'.
16416         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
16417         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
16418         * tests/unistr/test-u32-mbtouc.h: New file.
16419
16420         Tests for module 'unistr/u16-mbtouc-unsafe'.
16421         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
16422         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
16423         * tests/unistr/test-u16-mbtouc.h: New file.
16424
16425         Tests for module 'unistr/u8-mbtouc-unsafe'.
16426         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
16427         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
16428         * tests/unistr/test-u8-mbtouc.h: New file.
16429
16430         Tests for module 'unistr/u32-mblen'.
16431         * modules/unistr/u32-mblen-tests: New file.
16432         * tests/unistr/test-u32-mblen.c: New file.
16433
16434         Tests for module 'unistr/u16-mblen'.
16435         * modules/unistr/u16-mblen-tests: New file.
16436         * tests/unistr/test-u16-mblen.c: New file.
16437
16438         Tests for module 'unistr/u8-mblen'.
16439         * modules/unistr/u8-mblen-tests: New file.
16440         * tests/unistr/test-u8-mblen.c: New file.
16441
16442         Tests for module 'unistr/u32-to-u16'.
16443         * modules/unistr/u32-to-u16-tests: New file.
16444         * tests/unistr/test-u32-to-u16.c: New file.
16445
16446         Tests for module 'unistr/u32-to-u8'.
16447         * modules/unistr/u32-to-u8-tests: New file.
16448         * tests/unistr/test-u32-to-u8.c: New file.
16449
16450         Tests for module 'unistr/u16-to-u32'.
16451         * modules/unistr/u16-to-u32-tests: New file.
16452         * tests/unistr/test-u16-to-u32.c: New file.
16453
16454         Tests for module 'unistr/u16-to-u8'.
16455         * modules/unistr/u16-to-u8-tests: New file.
16456         * tests/unistr/test-u16-to-u8.c: New file.
16457
16458         Tests for module 'unistr/u8-to-u32'.
16459         * modules/unistr/u8-to-u32-tests: New file.
16460         * tests/unistr/test-u8-to-u32.c: New file.
16461
16462         Tests for module 'unistr/u8-to-u16'.
16463         * modules/unistr/u8-to-u16-tests: New file.
16464         * tests/unistr/test-u8-to-u16.c: New file.
16465
16466         Tests for module 'unistr/u32-check'.
16467         * modules/unistr/u32-check-tests: New file.
16468         * tests/unistr/test-u32-check.c: New file.
16469
16470         Tests for module 'unistr/u16-check'.
16471         * modules/unistr/u16-check-tests: New file.
16472         * tests/unistr/test-u16-check.c: New file.
16473
16474         Tests for module 'unistr/u8-check'.
16475         * modules/unistr/u8-check-tests: New file.
16476         * tests/unistr/test-u8-check.c: New file.
16477
16478         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
16479         (category_equals): New function.
16480         (main): Add more tests.
16481         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
16482
16483         * tests/unictype/test-bidi_byname.c (main): Add more tests.
16484
16485 2010-01-10  Bruno Haible  <bruno@clisp.org>
16486
16487         unistr/u*-strcoll: Try harder to distinguish different strings.
16488         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
16489         compare s1 and s2 to see if they are different.
16490
16491 2010-01-10  Bruno Haible  <bruno@clisp.org>
16492
16493         unistr/u*-stpncpy: Fix the return value.
16494         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
16495         description of the return value consistent with stpncpy in glibc.
16496         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
16497         written non-NUL unit.
16498
16499 2010-01-10  Bruno Haible  <bruno@clisp.org>
16500
16501         unistr/u*-next: Add missing dependencies.
16502         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
16503         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
16504         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
16505
16506 2010-01-10  Bruno Haible  <bruno@clisp.org>
16507
16508         unistr/u8-mbsnlen: Fix return value for incomplete character.
16509         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
16510         u8_mblen.
16511         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
16512         Remove unistr/u8-mblen.
16513         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
16514         u16_mblen.
16515         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
16516         Remove unistr/u16-mblen.
16517
16518 2010-01-10  Bruno Haible  <bruno@clisp.org>
16519
16520         wchar: Fix compilation error when <wchar.h> is used from coreutils.
16521         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
16522         Reported by Brian Gough <bjg@gnu.org> and
16523         Chris Clayton <chris2553@googlemail.com> via
16524         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
16525
16526 2010-01-09  Bruno Haible  <bruno@clisp.org>
16527
16528         unistr/u16-to-u32: Reject invalid input.
16529         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
16530         u16_mbtouc.
16531         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
16532         Remove unistr/u16-mbtouc.
16533
16534         unistr/u16-to-u8: Reject invalid input.
16535         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
16536         u16_mbtouc.
16537         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
16538         Remove unistr/u16-mbtouc.
16539
16540         unistr/u8-to-u32: Reject invalid input.
16541         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
16542         u8_mbtouc.
16543         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
16544         Remove unistr/u8-mbtouc.
16545
16546         unistr/u8-to-u16: Reject invalid input.
16547         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
16548         u8_mbtouc.
16549         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
16550         Remove unistr/u8-mbtouc.
16551
16552 2010-01-09  Bruno Haible  <bruno@clisp.org>
16553
16554         Tests for module 'getlogin'.
16555         * modules/getlogin-tests: New file.
16556         * tests/test-getlogin.c: New file.
16557
16558         New module 'getlogin'.
16559         * lib/unistd.in.h (getlogin): New declaration.
16560         * lib/getlogin.c: New file.
16561         * m4/getlogin.m4: New file.
16562         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
16563         HAVE_GETLOGIN.
16564         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
16565         HAVE_GETLOGIN.
16566         * modules/getlogin: New file.
16567         * doc/posix-functions/getlogin.texi: Mention the new module.
16568         Reported by John W. Eaton <jwe@gnu.org>.
16569
16570 2010-01-09  Bruno Haible  <bruno@clisp.org>
16571
16572         getlogin_r: Support for native Windows.
16573         * lib/getlogin_r.c: Include <windows.h>
16574         (getlogin_r): Implement for native Windows.
16575         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
16576         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
16577         via John W. Eaton <jwe@gnu.org>.
16578
16579 2010-01-09  Bruno Haible  <bruno@clisp.org>
16580
16581         getlogin_r: Small fixes.
16582         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
16583         succeeds.
16584         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
16585         before testing whether getlogin_r is declared. No need to set
16586         HAVE_DECL_GETLOGIN_R to 1.
16587         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
16588
16589 2010-01-09  Bruno Haible  <bruno@clisp.org>
16590
16591         * lib/unistd.in.h (getlogin_r): Add comment.
16592
16593 2010-01-09  Bruno Haible  <bruno@clisp.org>
16594
16595         Tests for module 'getlogin_r'.
16596         * modules/getlogin_r-tests: New file.
16597         * tests/test-getlogin_r.c: New file.
16598
16599 2010-01-09  Jim Meyering  <meyering@redhat.com>
16600
16601         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
16602         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
16603         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
16604
16605 2010-01-08  Simon Josefsson  <simon@josefsson.org>
16606
16607         * lib/dup2.c (rpl_dup2): Improve comment.
16608
16609 2010-01-08  Eric Blake  <ebb9@byu.net>
16610
16611         maint.mk: allow packages to add makefile @@ exceptions
16612         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
16613         (sc_makefile_check): Rename...
16614         (sc_makefile_at_at_check): ...to this, and use hook.
16615
16616         dup2: work around mingw bug
16617         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
16618         Reported by Simon Josefsson.
16619
16620 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
16621
16622         glob: Fix C++ compilation.
16623         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
16624         C++.
16625
16626 2010-01-07  Bruno Haible  <bruno@clisp.org>
16627
16628         Fix indentation of wctype.in.h, broken since 2007-01-06.
16629         * lib/wctype.in.h: Fix indentation of preprocessor directives.
16630
16631 2010-01-07  Bruno Haible  <bruno@clisp.org>
16632
16633         mbslen: Avoid collision with system function.
16634         * lib/string.in.h [MirBSD]: Include <wchar.h>.
16635         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
16636         * m4/mbslen.m4: New file.
16637         * modules/mbslen (Files): Add it.
16638         (configure.ac): Invoke gl_MBSLEN.
16639         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
16640         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
16641         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
16642         via Ian Beckwith <ianb@erislabs.net>.
16643
16644 2010-01-07  Bruno Haible  <bruno@clisp.org>
16645
16646         dirent: Document the last fix.
16647         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
16648
16649 2010-01-07  Bruno Haible  <bruno@clisp.org>
16650
16651         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
16652         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
16653         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
16654         va_list are defined.
16655         * doc/posix-headers/stdio.texi: Document the bug of missing types.
16656         Reported by Eric Blake.
16657
16658 2010-01-07  Bruno Haible  <bruno@clisp.org>
16659
16660         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
16661         * modules/xlist (Depends-on): Add 'list',
16662         * modules/xoset (Depends-on): Add 'oset'.
16663         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16664
16665 2010-01-07  Bruno Haible  <bruno@clisp.org>
16666
16667         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
16668         * doc/posix-functions/strncasecmp.texi: Likewise.
16669
16670 2010-01-07  Bruno Haible  <bruno@clisp.org>
16671
16672         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
16673
16674 2010-01-07  John W. Eaton  <jwe@octave.org>
16675
16676         wctype: allow C++ use
16677         * lib/wctype.in.h: Add extern "C" block for C++.
16678
16679 2010-01-06  Eric Blake  <ebb9@byu.net>
16680
16681         maint.mk: detect incorrect GFDL usage
16682         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
16683
16684 2010-01-06  Jim Meyering  <meyering@redhat.com>
16685         and Eric Blake  <ebb9@byu.net>
16686
16687         maint.mk: ignore multi-line copyright in NEWS
16688         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
16689
16690 2010-01-06  Eric Blake  <ebb9@byu.net>
16691
16692         select: add missing dependency
16693         * modules/select-tests (Depends-on): Move sockets dependency...
16694         * modules/select (Depends-on): ...here.
16695         Reported by Ian Beckwith.
16696
16697         doc: regenerate INSTALL
16698         * doc/INSTALL: Reflect recent autoconf update.
16699         * doc/INSTALL.ISO: Likewise.
16700         * doc/INSTALL.UTF-8: Likewise.
16701
16702         pread: fix compilation on glibc
16703         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
16704         Reported by Ralf Wildenhues.
16705
16706         dirent: fix test failure
16707         * lib/dirent.in.h (includes): Guarantee ino_t.
16708         Reported by Ralf Wildenhues.
16709
16710 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
16711
16712         linkat, renameat: avoid bad free
16713         * lib/at-func2.c (at_func2): Fix typo.
16714         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
16715
16716 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16717
16718         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
16719         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
16720         to avoid failure of symlink test later.
16721
16722 2010-01-06  Eric Blake  <ebb9@byu.net>
16723
16724         stdio, unistd: guarantee ssize_t
16725         * lib/unistd.in.h (includes): Ensure that types required by POSIX
16726         2008 are exposed when needed.
16727         * lib/stdio.in.h (includes): Likewise.
16728         Reported by Ralf Wildenhues.
16729
16730 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
16731
16732         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
16733         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
16734         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
16735
16736 2010-01-06  Jim Meyering  <meyering@redhat.com>
16737
16738         readtokens: this module *does* require xalloc.h
16739         It uses only functions that were omitted by the old syntax-check rule.
16740         * lib/readtokens.c: Include "xalloc.h" once again.
16741         * modules/readtokens (Depends-on): Add xalloc.
16742         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
16743
16744 2010-01-05  Eric Blake  <ebb9@byu.net>
16745
16746         maint: support 'make announcement' from a VPATH build
16747         * top/maint.mk (announcement): Look for correct NEWS file.
16748
16749 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
16750
16751         utimens (fdutimens): ignore a negative FD, per contract
16752         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
16753         when we have a valid file descriptor.  Otherwise, using a brand
16754         new glibc (with just-patched futimens that now fails with EBADF)
16755         would cause this function to fail with ENOSYS.
16756         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
16757         See also http://bugzilla.redhat.com/552320.
16758
16759 2010-01-05  Eric Blake  <ebb9@byu.net>
16760
16761         strcase: document what it provides
16762         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
16763         gnulib module.
16764         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
16765         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
16766
16767 2010-01-05  Jim Meyering  <meyering@redhat.com>
16768
16769         maint: remove useless inclusions of "xalloc.h"
16770         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
16771         * lib/readtokens.c: Likewise.
16772         * lib/same.c: Likewise.
16773         * modules/getloadavg (Depends-on): Remove xalloc.
16774         * modules/readtokens: Likewise.
16775         * modules/same: Likewise.
16776
16777         maint.mk: include 4 more function names in alloca.h-checking regexp
16778         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
16779         regexp.  Before, we would give a false-positive (saying alloca.h
16780         is included unnecessarily) when the only uses involved omitted symbols.
16781
16782         xalloc.h: use consistent formatting
16783         * lib/xalloc.h: Move declarations to start in the first column.
16784
16785 2010-01-05  Eric Blake  <ebb9@byu.net>
16786
16787         mkdir: avoid xalloc
16788         * lib/mkdir.c (includes): Drop unused header.
16789         Reported by John W. Eaton.
16790
16791 2010-01-04  Jim Meyering  <meyering@redhat.com>
16792
16793         nl_langinfo: avoid configure-time syntax error
16794         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
16795         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
16796         the empty string.  Don't let that provoke a shell syntax error.
16797
16798         regcomp, regexec, fnmatch: avoid array bounds read error
16799         * lib/regcomp.c (build_equiv_class): From glibc:
16800         Use only the low 24 bits of a findidx return value as an index
16801         into the weights array.  Patch by Ulrich Drepper:
16802         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
16803         * lib/regexec.c (check_node_accept_bytes): Likewise.
16804         * lib/fnmatch_loop.c (FCT): Likewise.
16805
16806         regcomp: skip collseq lookup when there are no rules
16807         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
16808         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
16809
16810         regcomp: recognize ill-formed { } expressions
16811         * lib/regcomp.c (parse_dup_op): From glibc:
16812         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
16813
16814         regcomp: fix typo in comment
16815         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
16816         s/satisfy/satisfies/.
16817
16818         regcomp: sync from glibc: remove dead store
16819         * lib/regcomp.c (duplicate_node_closure): Remove useless
16820         search_duplicated_node call and dead store.
16821
16822         regcomp: sync from glibc; always use nl_langinfo
16823         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
16824         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
16825         * modules/regex (Depends-on): Add nl_langinfo.
16826
16827 2010-01-04  Eric Blake  <ebb9@byu.net>
16828
16829         fdopendir: fix configure test
16830         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
16831
16832 2010-01-01  Bruno Haible  <bruno@clisp.org>
16833
16834         wchar: Remove unused configure check.
16835         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
16836
16837 2010-01-01  Eric Blake  <ebb9@byu.net>
16838
16839         headers: make check of system header explicit
16840         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
16841         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
16842         ourselves.
16843         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
16844         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
16845         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
16846         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
16847         internals.
16848         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
16849         missing.
16850         Suggested by Bruno Haible.
16851
16852 2010-01-01  Jim Meyering  <meyering@redhat.com>
16853
16854         ChangeLog: tweak to eliminate unnecessary copyright line
16855         * ChangeLog: Remove a copyright line that was mistakenly updated
16856         by today's update-copyright run.  Reported by Eric Blake.
16857
16858         test-update-copyright: don't let envvar setting cause test failure
16859         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
16860
16861 2010-01-01  Bruno Haible  <bruno@clisp.org>
16862
16863         localename: Avoid gcc warning.
16864         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
16865         function if it is not used.
16866
16867 2010-01-01  Jim Meyering  <meyering@redhat.com>
16868
16869         update nearly all FSF copyright year lists to include 2010
16870         Use the same procedure as for 2009, outlined in
16871         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
16872
16873         version-etc: set COPYRIGHT_YEAR to 2010
16874         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
16875
16876 2009-12-31  Eric Blake  <ebb9@byu.net>
16877
16878         doc: correct availability of cygwin 1.5.x getopt
16879         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
16880         variables.
16881         * doc/posix-functions/opterr.texi (opterr): Likewise.
16882         * doc/posix-functions/optind.texi (optind): Likewise.
16883         * doc/posix-functions/optopt.texi (optopt): Likewise.
16884         * doc/posix-functions/tzname.texi (tzname): Likewise.
16885
16886         openat: update maintainer
16887         * modules/openat (Maintainer): Add myself.
16888
16889         utimens: avoid shadowing warning
16890         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
16891         buffers into one, to avoid shadowing, as well as avoiding a
16892         redundant stat.
16893         Reported by Jim Meyering.
16894
16895         test-dup2: avoid compiler warning
16896         * tests/test-dup2.c (is_inheritable): Only define if used.
16897
16898 2010-01-01  Bruno Haible  <bruno@clisp.org>
16899
16900         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
16901         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
16902         defined, use wctomb instead of wcrtomb.
16903
16904 2010-01-01  Bruno Haible  <bruno@clisp.org>
16905
16906         iconv: Reject native Solaris iconv.
16907         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
16908         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
16909
16910 2009-12-31  Bruno Haible  <bruno@clisp.org>
16911
16912         * tests/test-signal.c (main): Remove test of 'SIG'.
16913
16914 2009-12-31  Bruno Haible  <bruno@clisp.org>
16915
16916         spawn: Fix incomplete fix.
16917         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
16918         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
16919         warnings for GNULIB_POSIXCHECK again.
16920         Reported by Eric Blake.
16921
16922 2009-12-31  Bruno Haible  <bruno@clisp.org>
16923
16924         Avoid namespace pollution on glibc systems.
16925         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
16926         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
16927         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
16928         glibc systems.
16929
16930 2009-12-31  Bruno Haible  <bruno@clisp.org>
16931
16932         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
16933         (gl_REPLACE_WCHAR_H): Turn into a no-op.
16934         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
16935         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
16936         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
16937         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
16938         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
16939
16940 2009-12-31  Bruno Haible  <bruno@clisp.org>
16941
16942         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
16943         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
16944         afterwards.
16945
16946 2009-12-31  Bruno Haible  <bruno@clisp.org>
16947
16948         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
16949         SYS_UTSNAME_H.
16950
16951 2009-12-31  Bruno Haible  <bruno@clisp.org>
16952
16953         spawn: Fix misapplied patch.
16954         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
16955         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
16956         warnings for GNULIB_POSIXCHECK.
16957
16958 2009-12-31  Bruno Haible  <bruno@clisp.org>
16959
16960         times: Update after sys_times changed.
16961         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
16962         * modules/times (Files): Add it.
16963         (configure.ac): Invoke gl_FUNC_TIMES.
16964
16965 2009-12-31  Bruno Haible  <bruno@clisp.org>
16966
16967         Use AC_C_INLINE where necessary.
16968         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
16969         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
16970         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
16971         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
16972         * m4/mbfile.m4 (gl_MBFILE): Likewise.
16973         * m4/mbiter.m4 (gl_MBITER): Likewise.
16974         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
16975         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
16976         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
16977         * modules/u64 (configure.ac): Likewise.
16978
16979 2009-12-31  Bruno Haible  <bruno@clisp.org>
16980
16981         Use AC_C_INLINE instead of module 'inline' where possible.
16982         * modules/inline (Description): Clarify purpose.
16983         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
16984         * modules/count-one-bits (Depends-on): Remove inline.
16985         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
16986         * modules/openat (Depends-on): Remove inline.
16987         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
16988         instead of depending on module 'inline'.
16989         * modules/filevercmp (Depends-on, configure.ac): Likewise.
16990         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
16991         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
16992         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
16993         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
16994         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
16995         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
16996         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
16997         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
16998         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
16999         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
17000         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
17001         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
17002         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
17003         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
17004         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
17005         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
17006         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
17007         Likewise.
17008         * modules/unictype/property-ascii-hex-digit (Depends-on,
17009         configure.ac): Likewise.
17010         * modules/unictype/property-bidi-arabic-digit (Depends-on,
17011         configure.ac): Likewise.
17012         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
17013         configure.ac): Likewise.
17014         * modules/unictype/property-bidi-block-separator (Depends-on,
17015         configure.ac): Likewise.
17016         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
17017         configure.ac): Likewise.
17018         * modules/unictype/property-bidi-common-separator (Depends-on,
17019         configure.ac): Likewise.
17020         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
17021         Likewise.
17022         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
17023         configure.ac): Likewise.
17024         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
17025         configure.ac): Likewise.
17026         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
17027         configure.ac): Likewise.
17028         * modules/unictype/property-bidi-european-digit (Depends-on,
17029         configure.ac): Likewise.
17030         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
17031         configure.ac): Likewise.
17032         * modules/unictype/property-bidi-left-to-right (Depends-on,
17033         configure.ac): Likewise.
17034         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
17035         configure.ac): Likewise.
17036         * modules/unictype/property-bidi-other-neutral (Depends-on,
17037         configure.ac): Likewise.
17038         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
17039         Likewise.
17040         * modules/unictype/property-bidi-segment-separator (Depends-on,
17041         configure.ac): Likewise.
17042         * modules/unictype/property-bidi-whitespace (Depends-on,
17043         configure.ac): Likewise.
17044         * modules/unictype/property-combining (Depends-on, configure.ac):
17045         Likewise.
17046         * modules/unictype/property-composite (Depends-on, configure.ac):
17047         Likewise.
17048         * modules/unictype/property-currency-symbol (Depends-on,
17049         configure.ac): Likewise.
17050         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
17051         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
17052         Likewise.
17053         * modules/unictype/property-default-ignorable-code-point (Depends-on,
17054         configure.ac): Likewise.
17055         * modules/unictype/property-deprecated (Depends-on, configure.ac):
17056         Likewise.
17057         * modules/unictype/property-diacritic (Depends-on, configure.ac):
17058         Likewise.
17059         * modules/unictype/property-extender (Depends-on, configure.ac):
17060         Likewise.
17061         * modules/unictype/property-format-control (Depends-on, configure.ac):
17062         Likewise.
17063         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
17064         Likewise.
17065         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
17066         Likewise.
17067         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
17068         Likewise.
17069         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
17070         Likewise.
17071         * modules/unictype/property-hyphen (Depends-on, configure.ac):
17072         Likewise.
17073         * modules/unictype/property-id-continue (Depends-on, configure.ac):
17074         Likewise.
17075         * modules/unictype/property-id-start (Depends-on, configure.ac):
17076         Likewise.
17077         * modules/unictype/property-ideographic (Depends-on, configure.ac):
17078         Likewise.
17079         * modules/unictype/property-ids-binary-operator (Depends-on,
17080         configure.ac): Likewise.
17081         * modules/unictype/property-ids-trinary-operator (Depends-on,
17082         configure.ac): Likewise.
17083         * modules/unictype/property-ignorable-control (Depends-on,
17084         configure.ac): Likewise.
17085         * modules/unictype/property-iso-control (Depends-on, configure.ac):
17086         Likewise.
17087         * modules/unictype/property-join-control (Depends-on, configure.ac):
17088         Likewise.
17089         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
17090         Likewise.
17091         * modules/unictype/property-line-separator (Depends-on, configure.ac):
17092         Likewise.
17093         * modules/unictype/property-logical-order-exception (Depends-on,
17094         configure.ac): Likewise.
17095         * modules/unictype/property-lowercase (Depends-on, configure.ac):
17096         Likewise.
17097         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
17098         * modules/unictype/property-non-break (Depends-on, configure.ac):
17099         Likewise.
17100         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
17101         Likewise.
17102         * modules/unictype/property-numeric (Depends-on, configure.ac):
17103         Likewise.
17104         * modules/unictype/property-other-alphabetic (Depends-on,
17105         configure.ac): Likewise.
17106         * modules/unictype/property-other-default-ignorable-code-point
17107         (Depends-on, configure.ac): Likewise.
17108         * modules/unictype/property-other-grapheme-extend (Depends-on,
17109         configure.ac): Likewise.
17110         * modules/unictype/property-other-id-continue (Depends-on,
17111         configure.ac): Likewise.
17112         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
17113         Likewise.
17114         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
17115         Likewise.
17116         * modules/unictype/property-other-math (Depends-on, configure.ac):
17117         Likewise.
17118         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
17119         Likewise.
17120         * modules/unictype/property-paired-punctuation (Depends-on,
17121         configure.ac): Likewise.
17122         * modules/unictype/property-paragraph-separator (Depends-on,
17123         configure.ac): Likewise.
17124         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
17125         Likewise.
17126         * modules/unictype/property-pattern-white-space (Depends-on,
17127         configure.ac): Likewise.
17128         * modules/unictype/property-private-use (Depends-on, configure.ac):
17129         Likewise.
17130         * modules/unictype/property-punctuation (Depends-on, configure.ac):
17131         Likewise.
17132         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
17133         Likewise.
17134         * modules/unictype/property-radical (Depends-on, configure.ac):
17135         Likewise.
17136         * modules/unictype/property-sentence-terminal (Depends-on,
17137         configure.ac): Likewise.
17138         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
17139         Likewise.
17140         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
17141         * modules/unictype/property-terminal-punctuation (Depends-on,
17142         configure.ac): Likewise.
17143         * modules/unictype/property-titlecase (Depends-on, configure.ac):
17144         Likewise.
17145         * modules/unictype/property-unassigned-code-value (Depends-on,
17146         configure.ac): Likewise.
17147         * modules/unictype/property-unified-ideograph (Depends-on,
17148         configure.ac): Likewise.
17149         * modules/unictype/property-uppercase (Depends-on, configure.ac):
17150         Likewise.
17151         * modules/unictype/property-variation-selector (Depends-on,
17152         configure.ac): Likewise.
17153         * modules/unictype/property-white-space (Depends-on, configure.ac):
17154         Likewise.
17155         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
17156         Likewise.
17157         * modules/unictype/property-xid-start (Depends-on, configure.ac):
17158         Likewise.
17159         * modules/unictype/property-zero-width (Depends-on, configure.ac):
17160         Likewise.
17161         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
17162         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
17163         Likewise.
17164
17165 2009-12-31  Bruno Haible  <bruno@clisp.org>
17166
17167         Remove unnecessary AC_C_INLINE invocation.
17168         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
17169         since 2009-08-21.
17170
17171 2009-12-31  Jim Meyering  <meyering@redhat.com>
17172
17173         maint.mk: don't require explicit gpg_key_ID in cfg.mk
17174         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
17175         With this change, we can all remove the gpg_key_ID = ... definition
17176         from our respective cfg.mk files.
17177
17178         maint.mk: create announcement template in ~/, not in /tmp
17179         * top/maint.mk (emit_upload_commands): Adjust.
17180         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
17181         Remove temporary file, .ci-msg.
17182
17183 2009-12-31  Eric Blake  <ebb9@byu.net>
17184
17185         link-warning: always build headers with link warnings
17186         * modules/arpa_inet (Makefile.am): Always build replacement
17187         header.
17188         * modules/ctype (Makefile.am): Likewise.
17189         * modules/dirent (Makefile.am): Likewise.
17190         * modules/inttypes (Makefile.am): Likewise.
17191         * modules/langinfo (Makefile.am): Likewise.
17192         * modules/locale (Makefile.am): Likewise.
17193         * modules/spawn (Makefile.am): Likewise.
17194         * modules/sys_file (Makefile.am): Likewise.
17195         * modules/sys_ioctl (Makefile.am): Likewise.
17196         * modules/sys_select (Makefile.am): Likewise.
17197         * modules/sys_socket (Makefile.am): Likewise.
17198         * modules/sys_times (Makefile.am): Likewise.
17199         * modules/sys_utsname (Makefile.am): Likewise.
17200         * modules/sys_wait (Makefile.am): Likewise.
17201         * modules/wchar (Makefile.am): Likewise.
17202         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
17203         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
17204         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
17205         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
17206         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
17207         Likewise.
17208         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
17209         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
17210         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
17211         Likewise.
17212         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
17213         Likewise.
17214         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
17215         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
17216         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
17217         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17218         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17219         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
17220         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
17221         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
17222         (gl_WCHAR_H_DEFAULTS): Likewise.
17223
17224 2009-12-31  Eric Blake  <ebb9@byu.net>
17225
17226         signal, spawn: use link warnings
17227         * lib/signal.in.h (sigset_t): Make unconditional.
17228         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
17229         (sigpending, sigprocmask, sigaction): Add link warnings.
17230         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
17231         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
17232         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
17233         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
17234         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
17235         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
17236         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
17237         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
17238         (posix_spawn_file_actions_destroy)
17239         (posix_spawn_file_actions_addopen)
17240         (posix_spawn_file_actions_addclose)
17241         (posix_spawn_file_actions_adddup2): Likewise.
17242         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
17243         * tests/test-signal.c (main): Enhance test.
17244
17245         spawn: improve wrapper support
17246         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
17247         (gl_SPAWN_H_DEFAULTS): New defaults.
17248         * modules/spawn (Makefile.am): Substitute them.
17249         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
17250         Only declare if missing or broken.
17251
17252         sys_times, sys_utsname: use include_next
17253         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
17254         header.
17255         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
17256         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
17257         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
17258         * modules/sys_times (Depends-on): Add include_next.
17259         (Makefile.am): Substitute additional values.
17260         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
17261         * lib/sys_times.in.h (includes): Include native header, if
17262         available.
17263         * lib/sys_utsname.in.h (includes): Likewise.
17264         * tests/test-sys_times.c (main): Enhance test.
17265
17266         fdutimensat: revert prior patch
17267         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
17268         utimens.h.
17269         Reported by Bruno Haible.
17270
17271 2009-12-30  Eric Blake  <ebb9@byu.net>
17272
17273         sys_wait: drop link-warning dependency
17274         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
17275         link-warning efforts.
17276         * lib/sys_wait.in.h: Likewise.
17277
17278         fdutimensat: remove bogus dependency
17279         * modules/fdutimensat (Depends-on): Drop inline.
17280
17281         unistd: fix typo
17282         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
17283
17284 2009-12-30  Bruno Haible  <bruno@clisp.org>
17285
17286         Fix compilation error with Solaris cc.
17287         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
17288         * lib/unicase/u16-is-invariant.c: Likewise.
17289         * lib/unicase/u32-is-invariant.c: Likewise.
17290         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
17291
17292 2009-12-30  Bruno Haible  <bruno@clisp.org>
17293
17294         Fix test crash.
17295         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
17296         locales.
17297         Reported by Simon Josefsson <simon@josefsson.org>.
17298
17299 2009-12-30  Bruno Haible  <bruno@clisp.org>
17300
17301         Fix compilation error on most platforms.
17302         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
17303         Reported by Simon Josefsson <simon@josefsson.org>
17304         and Nelson H. F. Beebe <beebe@math.utah.edu>.
17305
17306 2009-12-30  Eric Blake  <ebb9@byu.net>
17307
17308         futimens, utimensat: work around ntfs-3g bug
17309         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
17310         a ctime bug is present, and expand workaround to cover ntfs-3g.
17311         * lib/utimens.c (fdutimens, lutimens): Likewise.
17312         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
17313         (validate_timespec): Adjust return value.
17314         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
17315         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17316         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
17317
17318 2009-12-29  Eric Blake  <ebb9@byu.net>
17319
17320         link-warning: make usage consistent
17321         * modules/ctype (Depends-on): Add link-warning.
17322         (Makefile.am): Update rules accordingly.
17323         * modules/langinfo (Depends-on, Makefile.am): Likewise.
17324         * modules/locale (Depends-on, Makefile.am): Likewise.
17325         * modules/sys_file (Makefile.am): Likewise.
17326         * modules/getopt-posix (Makefile.am): Delete unused link warning
17327         efforts.
17328         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
17329         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
17330         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
17331         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
17332
17333         stdio: remove unused variables
17334         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
17335         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
17336         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
17337
17338         tests: test more substitute headers
17339         * modules/ctype-tests: New file.
17340         * modules/dirent-tests: Likewise.
17341         * modules/spawn-tests: Likewise.
17342         * modules/sys_file-tests: Likewise.
17343         * modules/sys_ioctl-tests: Likewise.
17344         * modules/sys_wait-tests: Likewise.
17345         * tests/test-ctype.c: Likewise.
17346         * tests/test-dirent.c: Likewise.
17347         * tests/test-spawn.c: Likewise.
17348         * tests/test-sys_file.c: Likewise.
17349         * tests/test-sys_ioctl.c: Likewise.
17350         * tests/test-sys_wait.c: Likewise.
17351         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
17352         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
17353         whether or not flock is in use.
17354
17355         tests: remove License section from module
17356         * modules/arpa_inet-tests: Remove unneeded section.
17357         * modules/byteswap-tests: Likewise.
17358         * modules/ceilf-tests: Likewise.
17359         * modules/ceill-tests: Likewise.
17360         * modules/crypto/des-tests: Likewise.
17361         * modules/crypto/gc-arcfour-tests: Likewise.
17362         * modules/crypto/gc-arctwo-tests: Likewise.
17363         * modules/crypto/gc-des-tests: Likewise.
17364         * modules/crypto/gc-hmac-md5-tests: Likewise.
17365         * modules/crypto/gc-hmac-sha1-tests: Likewise.
17366         * modules/crypto/gc-md2-tests: Likewise.
17367         * modules/crypto/gc-md4-tests: Likewise.
17368         * modules/crypto/gc-md5-tests: Likewise.
17369         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
17370         * modules/crypto/gc-rijndael-tests: Likewise.
17371         * modules/crypto/gc-sha1-tests: Likewise.
17372         * modules/crypto/gc-tests: Likewise.
17373         * modules/crypto/md2-tests: Likewise.
17374         * modules/crypto/md4-tests: Likewise.
17375         * modules/fcntl-h-tests: Likewise.
17376         * modules/floorf-tests: Likewise.
17377         * modules/floorl-tests: Likewise.
17378         * modules/frexp-nolibm-tests: Likewise.
17379         * modules/frexp-tests: Likewise.
17380         * modules/frexpl-nolibm-tests: Likewise.
17381         * modules/frexpl-tests: Likewise.
17382         * modules/getaddrinfo-tests: Likewise.
17383         * modules/inttypes-tests: Likewise.
17384         * modules/isfinite-tests: Likewise.
17385         * modules/isinf-tests: Likewise.
17386         * modules/ldexpl-tests: Likewise.
17387         * modules/locale-tests: Likewise.
17388         * modules/math-tests: Likewise.
17389         * modules/netdb-tests: Likewise.
17390         * modules/netinet_in-tests: Likewise.
17391         * modules/printf-frexp-tests: Likewise.
17392         * modules/printf-frexpl-tests: Likewise.
17393         * modules/priv-set-tests: Likewise.
17394         * modules/random_r-tests: Likewise.
17395         * modules/round-tests: Likewise.
17396         * modules/roundf-tests: Likewise.
17397         * modules/roundl-tests: Likewise.
17398         * modules/search-tests: Likewise.
17399         * modules/select-tests: Likewise.
17400         * modules/signal-tests: Likewise.
17401         * modules/stdbool-tests: Likewise.
17402         * modules/stddef-tests: Likewise.
17403         * modules/stdint-tests: Likewise.
17404         * modules/stdio-tests: Likewise.
17405         * modules/stdlib-tests: Likewise.
17406         * modules/string-tests: Likewise.
17407         * modules/strings-tests: Likewise.
17408         * modules/sys_select-tests: Likewise.
17409         * modules/sys_socket-tests: Likewise.
17410         * modules/sys_stat-tests: Likewise.
17411         * modules/sys_time-tests: Likewise.
17412         * modules/sys_utsname-tests: Likewise.
17413         * modules/sysexits-tests: Likewise.
17414         * modules/time-tests: Likewise.
17415         * modules/trunc-tests: Likewise.
17416         * modules/truncf-tests: Likewise.
17417         * modules/truncl-tests: Likewise.
17418         * modules/tsearch-tests: Likewise.
17419         * modules/unistd-tests: Likewise.
17420         * modules/wchar-tests: Likewise.
17421         * modules/wctype-tests: Likewise.
17422
17423         tests: fix license on several tests
17424         * tests/test-des.c: Update to GPLv3+.
17425         * tests/test-flock.c: Likewise.
17426         * tests/test-fsync.c: Likewise.
17427         * tests/test-futimens.h: Likewise.
17428         * tests/test-gc-arcfour.c: Likewise.
17429         * tests/test-gc-arctwo.c: Likewise.
17430         * tests/test-gc-des.c: Likewise.
17431         * tests/test-gc-hmac-md5.c: Likewise.
17432         * tests/test-gc-hmac-sha1.c: Likewise.
17433         * tests/test-gc-md2.c: Likewise.
17434         * tests/test-gc-md4.c: Likewise.
17435         * tests/test-gc-md5.c: Likewise.
17436         * tests/test-gc-pbkdf2-sha1.c: Likewise.
17437         * tests/test-gc-rijndael.c: Likewise.
17438         * tests/test-gc-sha1.c: Likewise.
17439         * tests/test-gc.c: Likewise.
17440         * tests/test-getcwd.c: Likewise.
17441         * tests/test-link.c: Likewise.
17442         * tests/test-link.h: Likewise.
17443         * tests/test-lutimens.h: Likewise.
17444         * tests/test-md2.c: Likewise.
17445         * tests/test-md4.c: Likewise.
17446         * tests/test-mkdir.h: Likewise.
17447         * tests/test-rename.c: Likewise.
17448         * tests/test-rename.h: Likewise.
17449         * tests/test-safe-alloc.c: Likewise.
17450         * tests/test-utimens-common.h: Likewise.
17451         * tests/test-utimens.h: Likewise.
17452
17453         maint: sync license texts
17454         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
17455         * doc/gpl-3.0.texi: Revert copyright year update.
17456         * doc/lgpl-3.0.texi: Likewise.
17457
17458 2009-12-29  Jim Meyering  <meyering@redhat.com>
17459
17460         update nearly all FSF copyright year lists to include 2009
17461         The files named by the following are exempted:
17462             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
17463               test -f "$dst" && { echo "$dst"; continue; }
17464               test -d "$dst" || continue
17465               echo "$dst"/$(basename "$src")
17466             done > exempt
17467             git ls-files tests/unictype >> exempt
17468         In the remaining files, convert to all-interval notation if
17469         - there is already at least one year interval like 2000-2003
17470         - the file is maintained by me
17471         - the file is in lib/uni*/, where that style already prevails
17472         Otherwise, use update-copyright's default.
17473
17474 2009-12-29  Simon Josefsson  <simon@josefsson.org>
17475         and Eric Blake  <ebb9@byu.net>
17476
17477         tests: don't require debug system() to pass
17478         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
17479         * tests/test-rmdir.h (test_rmdir_func): Likewise.
17480         * tests/test-unlink.h (test_unlink_func): Likewise.
17481         * tests/test-fstatat.c (main): ...into callers.
17482         * tests/test-lstat.c (main): Likewise.
17483         * tests/test-rmdir.c (main): Likewise.
17484         * tests/test-unlink.c (main): Likewise.
17485         * tests/test-unlinkat.c (main): Likewise.
17486         * tests/test-areadlink-with-size.c (main): Don't require a
17487         debug-only system call to pass, aiding cross-testing to mingw.
17488         * tests/test-areadlink.c (main): Likewise.
17489         * tests/test-areadlinkat-with-size.c (main): Likewise.
17490         * tests/test-areadlinkat.c (main): Likewise.
17491         * tests/test-canonicalize-lgpl.c (main): Likewise.
17492         * tests/test-canonicalize.c (main): Likewise.
17493         * tests/test-chown.c (main): Likewise.
17494         * tests/test-fchownat.c (main): Likewise.
17495         * tests/test-lchown.c (main): Likewise.
17496         * tests/test-fdutimensat.c (main): Likewise.
17497         * tests/test-futimens.c (main): Likewise.
17498         * tests/test-link.c (main): Likewise.
17499         * tests/test-linkat.c (main): Likewise.
17500         * tests/test-mkdir.c (main): Likewise.
17501         * tests/test-mkdirat.c (main): Likewise.
17502         * tests/test-mkfifo.c (main): Likewise.
17503         * tests/test-mkfifoat.c (main): Likewise.
17504         * tests/test-mknod.c (main): Likewise.
17505         * tests/test-readlink.c (main): Likewise.
17506         * tests/test-remove.c (main): Likewise.
17507         * tests/test-rename.c (main): Likewise.
17508         * tests/test-renameat.c (main): Likewise.
17509         * tests/test-symlink.c (main): Likewise.
17510         * tests/test-symlinkat.c (main): Likewise.
17511         * tests/test-utimens.c (main): Likewise.
17512         * tests/test-utimensat.c (main): Likewise.
17513
17514 2009-12-29  Simon Josefsson  <simon@josefsson.org>
17515
17516         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
17517         on $(UNUSED_PARAMETER_H) to avoid build failure.
17518
17519 2009-12-28  Jim Meyering  <meyering@redhat.com>
17520
17521         update-copyright: you may specify a max. line length other than 72
17522         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
17523
17524         maint: use consistent FSF copyright line syntax
17525         * lib/posixtm.c: Add missing comma in FSF copyright line.
17526         * lib/posixtm.h: Likewise.
17527         * lib/getugroups.c: Add missing ", Inc.".
17528
17529         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
17530         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
17531         FSF copyright line.  Remove trailing blanks.
17532
17533 2009-12-28  Eric Blake  <ebb9@byu.net>
17534
17535         test-dup2: reduce dependencies
17536         * modules/cloexec (Configure.ac): Set witness.
17537         * modules/dup2-tests (Depends-on): Drop cloexec.
17538         * tests/test-dup2.c (main): Skip portion of test if cloexec module
17539         not present.
17540         Suggested by Bruno Haible.
17541
17542 2009-12-26  Bruno Haible  <bruno@clisp.org>
17543
17544         Remove an unneeded dependency.
17545         * modules/fseterr (Depends-on): Remove dup2.
17546
17547 2009-12-26  Eric Blake  <ebb9@byu.net>
17548
17549         tests: use macros.h in more places
17550         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
17551         (ASSERT_STREAM): Provide default of stderr.
17552         * tests/test-dirent-safer.c: Include macros.h, using alternate
17553         stream for assertions.
17554         * tests/test-dup-safer.c: Likewise.
17555         * tests/test-freopen-safer.c: Likewise.
17556         * tests/test-getopt.c: Likewise.
17557         * tests/test-openat-safer.c: Likewise.
17558         * tests/test-pipe.c: Likewise.
17559         * tests/test-popen-safer.c: Likewise.
17560         * modules/dirent-safer-tests (Files): Include macros.h.
17561         * modules/unistd-safer-tests (Files): Likewise.
17562         * modules/freopen-safer-tests (Files): Likewise.
17563         * modules/getopt-posix-tests (Files): Likewise.
17564         * modules/openat-safer-tests (Files): Likewise.
17565         * modules/pipe-tests (Files): Likewise.
17566
17567 2009-12-26  Bruno Haible  <bruno@clisp.org>
17568
17569         javacomp: Portability fix.
17570         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
17571         that it also works on Solaris.
17572
17573 2009-12-26  Bruno Haible  <bruno@clisp.org>
17574
17575         localename: Fix storage allocation of gl_locale_name_thread's result.
17576         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
17577         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
17578         all platforms that have 'uselocale'.
17579         (gl_locale_name_thread_unsafe): New function, extracted from
17580         gl_locale_name_thread.
17581         (gl_locale_name_thread): Call struniq on all platforms that have
17582         'uselocale'.
17583         * tests/test-localename.c (test_locale_name_thread): Check that the
17584         resulting strings are permanently allocated.
17585         * modules/localename-tests (Depends-on): Add strdup.
17586
17587 2009-12-26  Bruno Haible  <bruno@clisp.org>
17588
17589         * tests/test-localename.c (categories): Fill in the strings.
17590
17591 2009-12-26  Jim Meyering  <meyering@redhat.com>
17592
17593         isdir: complete the removal of m4/isdir.m4
17594         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
17595
17596         isdir: clean up, since at least grep still uses it
17597         * lib/isdir.c: Include "isdir.h".
17598         (S_ISDIR): Remove now-unneeded definition.
17599         * modules/isdir (Files): Add lib/isdir.h.
17600         * lib/isdir.h: New file, with declaration.
17601         * m4/isdir.m4: Remove file -- unneeded.
17602
17603 2009-12-25  Bruno Haible  <bruno@clisp.org>
17604
17605         selinux-h: Make generated .h files standalone.
17606         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
17607         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
17608         * lib/se-selinux.in.h: Likewise.
17609         * modules/selinux-h (Depends-on): Add unused-parameter.
17610         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
17611         selinux/selinux.h and selinux/context.h.
17612         Suggested by Eric Blake.
17613
17614 2009-12-25  Bruno Haible  <bruno@clisp.org>
17615
17616         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
17617         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
17618         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
17619         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
17620         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
17621
17622 2009-12-24  Bruno Haible  <bruno@clisp.org>
17623
17624         openat: Fix warning.
17625         * lib/openat-proc.c: Include <unistd.h>.
17626
17627 2009-12-24  Bruno Haible  <bruno@clisp.org>
17628
17629         New module 'unused-parameter'.
17630         * build-aux/unused-parameter.h: New file, extracted from earlier
17631         gnulib-common.m4.
17632         * modules/unused-parameter: New file.
17633         * lib/unistr.h: Include unused-parameter.h.
17634         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
17635         _GL_UNUSED.
17636         * modules/unistr/base (Depends-on): Add unused-parameter.
17637
17638 2009-12-24  Bruno Haible  <bruno@clisp.org>
17639
17640         Add missing dependencies to 'extensions' module.
17641         * m4/extensions.m4: Add comment.
17642         * modules/accept4 (Depends-on): Add extensions.
17643         * modules/dup3 (Depends-on): Likewise.
17644         * modules/fcntl (Depends-on): Likewise.
17645         * modules/futimens (Depends-on): Likewise.
17646         * modules/mknod (Depends-on): Likewise.
17647         * modules/pipe2 (Depends-on): Likewise.
17648         * modules/stat-time (Depends-on): Likewise.
17649         * modules/strcasestr-simple (Depends-on): Likewise.
17650         * modules/strsignal (Depends-on): Likewise.
17651         * modules/utimensat (Depends-on): Likewise.
17652         * modules/localcharset (Depends-on): Likewise. Needed because of
17653         gl_FCNTL_O_FLAGS.
17654         * modules/wcrtomb (Depends-on): Likewise. Needed because of
17655         AC_TYPE_MBSTATE_T.
17656         * modules/wcsnrtombs (Depends-on): Likewise.
17657         * modules/wcsrtombs (Depends-on): Likewise.
17658
17659 2009-12-24  Bruno Haible  <bruno@clisp.org>
17660
17661         binary-io: Avoid gcc warning due to SET_BINARY.
17662         * lib/binary-io.h (SET_BINARY): Cast the result to void.
17663         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
17664
17665 2009-12-24  Bruno Haible  <bruno@clisp.org>
17666
17667         Avoid future namespace pollution on glibc systems.
17668         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
17669         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
17670         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
17671         glibc systems.
17672
17673 2009-12-24  Bruno Haible  <bruno@clisp.org>
17674
17675         Refactor common macros used in tests.
17676         * tests/macros.h: New file.
17677         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
17678         and/or <stdlib.h>, if appropriate.
17679         (ASSERT, SIZEOF): Remove macros.
17680         * tests/test-areadlink-with-size.c: Likewise.
17681         * tests/test-areadlinkat.c: Likewise.
17682         * tests/test-areadlinkat-with-size.c: Likewise.
17683         * tests/test-argmatch.c: Likewise.
17684         * tests/test-argv-iter.c: Likewise.
17685         * tests/test-array-mergesort.c: Likewise.
17686         * tests/test-array_list.c: Likewise.
17687         * tests/test-array_oset.c: Likewise.
17688         * tests/test-avltree_list.c: Likewise.
17689         * tests/test-avltree_oset.c: Likewise.
17690         * tests/test-avltreehash_list.c: Likewise.
17691         * tests/test-base64.c: Likewise.
17692         * tests/test-binary-io.c: Likewise.
17693         * tests/test-bitrotate.c: Likewise.
17694         * tests/test-btowc.c: Likewise.
17695         * tests/test-byteswap.c: Likewise.
17696         * tests/test-c-ctype.c: Likewise.
17697         * tests/test-c-stack.c: Likewise.
17698         * tests/test-c-strcasecmp.c: Likewise.
17699         * tests/test-c-strcasestr.c: Likewise.
17700         * tests/test-c-strncasecmp.c: Likewise.
17701         * tests/test-c-strstr.c: Likewise.
17702         * tests/test-canonicalize-lgpl.c: Likewise.
17703         * tests/test-canonicalize.c: Likewise.
17704         * tests/test-carray_list.c: Likewise.
17705         * tests/test-ceilf1.c: Likewise.
17706         * tests/test-ceilf2.c: Likewise.
17707         * tests/test-ceill.c: Likewise.
17708         * tests/test-chown.c: Likewise.
17709         * tests/test-cloexec.c: Likewise.
17710         * tests/test-copy-acl.c: Likewise.
17711         * tests/test-copy-file.c: Likewise.
17712         * tests/test-count-one-bits.c: Likewise.
17713         * tests/test-dprintf-posix.c: Likewise.
17714         * tests/test-dup2.c: Likewise.
17715         * tests/test-dup3.c: Likewise.
17716         * tests/test-duplocale.c: Likewise.
17717         * tests/test-fbufmode.c: Likewise.
17718         * tests/test-fchdir.c: Likewise.
17719         * tests/test-fchownat.c: Likewise.
17720         * tests/test-fcntl-safer.c: Likewise.
17721         * tests/test-fcntl.c: Likewise.
17722         * tests/test-fdopendir.c: Likewise.
17723         * tests/test-fdutimensat.c: Likewise.
17724         * tests/test-fflush2.c: Likewise.
17725         * tests/test-file-has-acl.c: Likewise.
17726         * tests/test-filevercmp.c: Likewise.
17727         * tests/test-flock.c: Likewise.
17728         * tests/test-floorf1.c: Likewise.
17729         * tests/test-floorf2.c: Likewise.
17730         * tests/test-floorl.c: Likewise.
17731         * tests/test-fnmatch.c: Likewise.
17732         * tests/test-fopen.h: Likewise.
17733         * tests/test-fpending.c: Likewise.
17734         * tests/test-fprintf-posix.c: Likewise.
17735         * tests/test-fpurge.c: Likewise.
17736         * tests/test-freadable.c: Likewise.
17737         * tests/test-freadahead.c: Likewise.
17738         * tests/test-freading.c: Likewise.
17739         * tests/test-freadptr.c: Likewise.
17740         * tests/test-freadptr2.c: Likewise.
17741         * tests/test-freadseek.c: Likewise.
17742         * tests/test-freopen.c: Likewise.
17743         * tests/test-frexp.c: Likewise.
17744         * tests/test-frexpl.c: Likewise.
17745         * tests/test-fseek.c: Likewise.
17746         * tests/test-fseeko.c: Likewise.
17747         * tests/test-fstatat.c: Likewise.
17748         * tests/test-fstrcmp.c: Likewise.
17749         * tests/test-fsync.c: Likewise.
17750         * tests/test-ftell.c: Likewise.
17751         * tests/test-ftello.c: Likewise.
17752         * tests/test-func.c: Likewise.
17753         * tests/test-futimens.c: Likewise.
17754         * tests/test-fwritable.c: Likewise.
17755         * tests/test-fwriting.c: Likewise.
17756         * tests/test-getcwd.c: Likewise.
17757         * tests/test-getdate.c: Likewise.
17758         * tests/test-getdelim.c: Likewise.
17759         * tests/test-getdtablesize.c: Likewise.
17760         * tests/test-getgroups.c: Likewise.
17761         * tests/test-getline.c: Likewise.
17762         * tests/test-getndelim2.c: Likewise.
17763         * tests/test-glob.c: Likewise.
17764         * tests/test-hash.c: Likewise.
17765         * tests/test-i-ring.c: Likewise.
17766         * tests/test-iconv-utf.c: Likewise.
17767         * tests/test-iconv.c: Likewise.
17768         * tests/test-idpriv-drop.c: Likewise.
17769         * tests/test-idpriv-droptemp.c: Likewise.
17770         * tests/test-inet_ntop.c: Likewise.
17771         * tests/test-inet_pton.c: Likewise.
17772         * tests/test-isblank.c: Likewise.
17773         * tests/test-isfinite.c: Likewise.
17774         * tests/test-isinf.c: Likewise.
17775         * tests/test-isnan.c: Likewise.
17776         * tests/test-isnand.h: Likewise.
17777         * tests/test-isnanf.h: Likewise.
17778         * tests/test-isnanl.h: Likewise.
17779         * tests/test-lchown.c: Likewise.
17780         * tests/test-ldexpl.c: Likewise.
17781         * tests/test-link.c: Likewise.
17782         * tests/test-linkat.c: Likewise.
17783         * tests/test-linked_list.c: Likewise.
17784         * tests/test-linkedhash_list.c: Likewise.
17785         * tests/test-localename.c: Likewise.
17786         * tests/test-lseek.c: Likewise.
17787         * tests/test-lstat.c: Likewise.
17788         * tests/test-mbmemcasecmp.c: Likewise.
17789         * tests/test-mbmemcasecoll.c: Likewise.
17790         * tests/test-mbrtowc.c: Likewise.
17791         * tests/test-mbscasecmp.c: Likewise.
17792         * tests/test-mbscasestr1.c: Likewise.
17793         * tests/test-mbscasestr2.c: Likewise.
17794         * tests/test-mbscasestr3.c: Likewise.
17795         * tests/test-mbscasestr4.c: Likewise.
17796         * tests/test-mbschr.c: Likewise.
17797         * tests/test-mbscspn.c: Likewise.
17798         * tests/test-mbsinit.c: Likewise.
17799         * tests/test-mbsncasecmp.c: Likewise.
17800         * tests/test-mbsnrtowcs.c: Likewise.
17801         * tests/test-mbspbrk.c: Likewise.
17802         * tests/test-mbspcasecmp.c: Likewise.
17803         * tests/test-mbsrchr.c: Likewise.
17804         * tests/test-mbsrtowcs.c: Likewise.
17805         * tests/test-mbsspn.c: Likewise.
17806         * tests/test-mbsstr1.c: Likewise.
17807         * tests/test-mbsstr2.c: Likewise.
17808         * tests/test-mbsstr3.c: Likewise.
17809         * tests/test-memchr.c: Likewise.
17810         * tests/test-memchr2.c: Likewise.
17811         * tests/test-memcmp.c: Likewise.
17812         * tests/test-memmem.c: Likewise.
17813         * tests/test-memrchr.c: Likewise.
17814         * tests/test-mkdir.c: Likewise.
17815         * tests/test-mkdirat.c: Likewise.
17816         * tests/test-mkfifo.c: Likewise.
17817         * tests/test-mkfifoat.c: Likewise.
17818         * tests/test-mknod.c: Likewise.
17819         * tests/test-nanosleep.c: Likewise.
17820         * tests/test-nl_langinfo.c: Likewise.
17821         * tests/test-obstack-printf.c: Likewise.
17822         * tests/test-open.c: Likewise.
17823         * tests/test-openat.c: Likewise.
17824         * tests/test-pipe-filter-gi1.c: Likewise.
17825         * tests/test-pipe-filter-gi2-main.c: Likewise.
17826         * tests/test-pipe-filter-ii1.c: Likewise.
17827         * tests/test-pipe-filter-ii2-main.c: Likewise.
17828         * tests/test-pipe2.c: Likewise.
17829         * tests/test-popen.h: Likewise.
17830         * tests/test-posixtm.c: Likewise.
17831         * tests/test-pread.c: Likewise.
17832         * tests/test-printf-frexp.c: Likewise.
17833         * tests/test-printf-frexpl.c: Likewise.
17834         * tests/test-printf-posix.c: Likewise.
17835         * tests/test-priv-set.c: Likewise.
17836         * tests/test-quotearg.c: Likewise.
17837         * tests/test-random_r.c: Likewise.
17838         * tests/test-rawmemchr.c: Likewise.
17839         * tests/test-rbtree_list.c: Likewise.
17840         * tests/test-rbtree_oset.c: Likewise.
17841         * tests/test-rbtreehash_list.c: Likewise.
17842         * tests/test-readlink.c: Likewise.
17843         * tests/test-remove.c: Likewise.
17844         * tests/test-rename.c: Likewise.
17845         * tests/test-renameat.c: Likewise.
17846         * tests/test-rmdir.c: Likewise.
17847         * tests/test-round1.c: Likewise.
17848         * tests/test-roundf1.c: Likewise.
17849         * tests/test-roundl.c: Likewise.
17850         * tests/test-safe-alloc.c: Likewise.
17851         * tests/test-sameacls.c: Likewise.
17852         * tests/test-set-mode-acl.c: Likewise.
17853         * tests/test-setenv.c: Likewise.
17854         * tests/test-sigaction.c: Likewise.
17855         * tests/test-signbit.c: Likewise.
17856         * tests/test-sleep.c: Likewise.
17857         * tests/test-snprintf-posix.c: Likewise.
17858         * tests/test-snprintf.c: Likewise.
17859         * tests/test-sprintf-posix.c: Likewise.
17860         * tests/test-stat-time.c: Likewise.
17861         * tests/test-stat.c: Likewise.
17862         * tests/test-strcasestr.c: Likewise.
17863         * tests/test-strchrnul.c: Likewise.
17864         * tests/test-strerror.c: Likewise.
17865         * tests/test-striconv.c: Likewise.
17866         * tests/test-striconveh.c: Likewise.
17867         * tests/test-striconveha.c: Likewise.
17868         * tests/test-strsignal.c: Likewise.
17869         * tests/test-strstr.c: Likewise.
17870         * tests/test-strtod.c: Likewise.
17871         * tests/test-strverscmp.c: Likewise.
17872         * tests/test-symlink.c: Likewise.
17873         * tests/test-symlinkat.c: Likewise.
17874         * tests/test-trunc1.c: Likewise.
17875         * tests/test-trunc2.c: Likewise.
17876         * tests/test-truncf1.c: Likewise.
17877         * tests/test-truncf2.c: Likewise.
17878         * tests/test-truncl.c: Likewise.
17879         * tests/test-uname.c: Likewise.
17880         * tests/test-unlink.c: Likewise.
17881         * tests/test-unlinkat.c: Likewise.
17882         * tests/test-unsetenv.c: Likewise.
17883         * tests/test-usleep.c: Likewise.
17884         * tests/test-utimens.c: Likewise.
17885         * tests/test-utimensat.c: Likewise.
17886         * tests/test-vasnprintf-posix.c: Likewise.
17887         * tests/test-vasnprintf-posix2.c: Likewise.
17888         * tests/test-vasnprintf.c: Likewise.
17889         * tests/test-vasprintf-posix.c: Likewise.
17890         * tests/test-vasprintf.c: Likewise.
17891         * tests/test-vdprintf-posix.c: Likewise.
17892         * tests/test-vfprintf-posix.c: Likewise.
17893         * tests/test-vprintf-posix.c: Likewise.
17894         * tests/test-vsnprintf-posix.c: Likewise.
17895         * tests/test-vsnprintf.c: Likewise.
17896         * tests/test-vsprintf-posix.c: Likewise.
17897         * tests/test-wcrtomb.c: Likewise.
17898         * tests/test-wcsnrtombs.c: Likewise.
17899         * tests/test-wcsrtombs.c: Likewise.
17900         * tests/test-wctype.c: Likewise.
17901         * tests/test-wcwidth.c: Likewise.
17902         * tests/test-xfprintf-posix.c: Likewise.
17903         * tests/test-xmemdup0.c: Likewise.
17904         * tests/test-xprintf-posix.c: Likewise.
17905         * tests/test-xvasprintf.c: Likewise.
17906         * tests/unicase/test-locale-language.c: Likewise.
17907         * tests/unicase/test-mapping-part1.h: Likewise.
17908         * tests/unicase/test-predicate-part1.h: Likewise.
17909         * tests/unicase/test-u8-casecmp.c: Likewise.
17910         * tests/unicase/test-u8-casecoll.c: Likewise.
17911         * tests/unicase/test-u8-casefold.c: Likewise.
17912         * tests/unicase/test-u8-is-cased.c: Likewise.
17913         * tests/unicase/test-u8-is-casefolded.c: Likewise.
17914         * tests/unicase/test-u8-is-lowercase.c: Likewise.
17915         * tests/unicase/test-u8-is-titlecase.c: Likewise.
17916         * tests/unicase/test-u8-is-uppercase.c: Likewise.
17917         * tests/unicase/test-u8-tolower.c: Likewise.
17918         * tests/unicase/test-u8-totitle.c: Likewise.
17919         * tests/unicase/test-u8-toupper.c: Likewise.
17920         * tests/unicase/test-u16-casecmp.c: Likewise.
17921         * tests/unicase/test-u16-casecoll.c: Likewise.
17922         * tests/unicase/test-u16-casefold.c: Likewise.
17923         * tests/unicase/test-u16-is-cased.c: Likewise.
17924         * tests/unicase/test-u16-is-casefolded.c: Likewise.
17925         * tests/unicase/test-u16-is-lowercase.c: Likewise.
17926         * tests/unicase/test-u16-is-titlecase.c: Likewise.
17927         * tests/unicase/test-u16-is-uppercase.c: Likewise.
17928         * tests/unicase/test-u16-tolower.c: Likewise.
17929         * tests/unicase/test-u16-totitle.c: Likewise.
17930         * tests/unicase/test-u16-toupper.c: Likewise.
17931         * tests/unicase/test-u32-casecmp.c: Likewise.
17932         * tests/unicase/test-u32-casecoll.c: Likewise.
17933         * tests/unicase/test-u32-casefold.c: Likewise.
17934         * tests/unicase/test-u32-is-cased.c: Likewise.
17935         * tests/unicase/test-u32-is-casefolded.c: Likewise.
17936         * tests/unicase/test-u32-is-lowercase.c: Likewise.
17937         * tests/unicase/test-u32-is-titlecase.c: Likewise.
17938         * tests/unicase/test-u32-is-uppercase.c: Likewise.
17939         * tests/unicase/test-u32-tolower.c: Likewise.
17940         * tests/unicase/test-u32-totitle.c: Likewise.
17941         * tests/unicase/test-u32-toupper.c: Likewise.
17942         * tests/unicase/test-ulc-casecmp.c: Likewise.
17943         * tests/unicase/test-ulc-casecoll.c: Likewise.
17944         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
17945         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
17946         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
17947         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
17948         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
17949         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
17950         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
17951         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
17952         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
17953         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
17954         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
17955         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
17956         * tests/unictype/test-bidi_byname.c: Likewise.
17957         * tests/unictype/test-bidi_name.c: Likewise.
17958         * tests/unictype/test-bidi_of.c: Likewise.
17959         * tests/unictype/test-bidi_test.c: Likewise.
17960         * tests/unictype/test-block_list.c: Likewise.
17961         * tests/unictype/test-block_of.c: Likewise.
17962         * tests/unictype/test-block_test.c: Likewise.
17963         * tests/unictype/test-categ_and.c: Likewise.
17964         * tests/unictype/test-categ_and_not.c: Likewise.
17965         * tests/unictype/test-categ_byname.c: Likewise.
17966         * tests/unictype/test-categ_name.c: Likewise.
17967         * tests/unictype/test-categ_none.c: Likewise.
17968         * tests/unictype/test-categ_of.c: Likewise.
17969         * tests/unictype/test-categ_or.c: Likewise.
17970         * tests/unictype/test-categ_test_withtable.c: Likewise.
17971         * tests/unictype/test-combining.c: Likewise.
17972         * tests/unictype/test-decdigit.c: Likewise.
17973         * tests/unictype/test-digit.c: Likewise.
17974         * tests/unictype/test-mirror.c: Likewise.
17975         * tests/unictype/test-numeric.c: Likewise.
17976         * tests/unictype/test-pr_byname.c: Likewise.
17977         * tests/unictype/test-pr_test.c: Likewise.
17978         * tests/unictype/test-predicate-part1.h: Likewise.
17979         * tests/unictype/test-scripts.c: Likewise.
17980         * tests/unictype/test-sy_c_ident.c: Likewise.
17981         * tests/unictype/test-sy_java_ident.c: Likewise.
17982         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
17983         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
17984         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
17985         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
17986         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
17987         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
17988         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
17989         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
17990         * tests/uninorm/test-canonical-decomposition.c: Likewise.
17991         * tests/uninorm/test-compat-decomposition.c: Likewise.
17992         * tests/uninorm/test-composition.c: Likewise.
17993         * tests/uninorm/test-decomposing-form.c: Likewise.
17994         * tests/uninorm/test-decomposition.c: Likewise.
17995         * tests/uninorm/test-u8-nfc.c: Likewise.
17996         * tests/uninorm/test-u8-nfd.c: Likewise.
17997         * tests/uninorm/test-u8-nfkc.c: Likewise.
17998         * tests/uninorm/test-u8-nfkd.c: Likewise.
17999         * tests/uninorm/test-u8-normcmp.c: Likewise.
18000         * tests/uninorm/test-u8-normcoll.c: Likewise.
18001         * tests/uninorm/test-u16-nfc.c: Likewise.
18002         * tests/uninorm/test-u16-nfd.c: Likewise.
18003         * tests/uninorm/test-u16-nfkc.c: Likewise.
18004         * tests/uninorm/test-u16-nfkd.c: Likewise.
18005         * tests/uninorm/test-u16-normcmp.c: Likewise.
18006         * tests/uninorm/test-u16-normcoll.c: Likewise.
18007         * tests/uninorm/test-u32-nfc.c: Likewise.
18008         * tests/uninorm/test-u32-nfd.c: Likewise.
18009         * tests/uninorm/test-u32-nfkc.c: Likewise.
18010         * tests/uninorm/test-u32-nfkd.c: Likewise.
18011         * tests/uninorm/test-u32-normalize-big.c: Likewise.
18012         * tests/uninorm/test-u32-normcmp.c: Likewise.
18013         * tests/uninorm/test-u32-normcoll.c: Likewise.
18014         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
18015         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
18016         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
18017         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
18018         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
18019         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
18020         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
18021         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
18022         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
18023         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
18024         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
18025         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
18026         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
18027         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
18028         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
18029         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
18030         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
18031         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
18032         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
18033         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
18034         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
18035         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
18036         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
18037         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
18038         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
18039         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
18040         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
18041         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
18042         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
18043         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
18044         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
18045         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
18046         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
18047         * tests/uniwidth/test-u8-strwidth.c: Likewise.
18048         * tests/uniwidth/test-u8-width.c: Likewise.
18049         * tests/uniwidth/test-u16-strwidth.c: Likewise.
18050         * tests/uniwidth/test-u16-width.c: Likewise.
18051         * tests/uniwidth/test-u32-strwidth.c: Likewise.
18052         * tests/uniwidth/test-u32-width.c: Likewise.
18053         * tests/uniwidth/test-uc_width.c: Likewise.
18054         * tests/uniwidth/test-uc_width2.c: Likewise.
18055         * modules/acl-tests (Files): Add tests/macros.h.
18056         * modules/areadlink-tests (Files): Likewise.
18057         * modules/areadlink-with-size-tests (Files): Likewise.
18058         * modules/areadlinkat-tests (Files): Likewise.
18059         * modules/areadlinkat-with-size-tests (Files): Likewise.
18060         * modules/argmatch-tests (Files): Likewise.
18061         * modules/argv-iter-tests (Files): Likewise.
18062         * modules/array-list-tests (Files): Likewise.
18063         * modules/array-mergesort-tests (Files): Likewise.
18064         * modules/array-oset-tests (Files): Likewise.
18065         * modules/avltree-list-tests (Files): Likewise.
18066         * modules/avltree-oset-tests (Files): Likewise.
18067         * modules/avltreehash-list-tests (Files): Likewise.
18068         * modules/base64-tests (Files): Likewise.
18069         * modules/binary-io-tests (Files): Likewise.
18070         * modules/bitrotate-tests (Files): Likewise.
18071         * modules/btowc-tests (Files): Likewise.
18072         * modules/byteswap-tests (Files): Likewise.
18073         * modules/c-ctype-tests (Files): Likewise.
18074         * modules/c-stack-tests (Files): Likewise.
18075         * modules/c-strcase-tests (Files): Likewise.
18076         * modules/c-strcasestr-tests (Files): Likewise.
18077         * modules/c-strstr-tests (Files): Likewise.
18078         * modules/canonicalize-lgpl-tests (Files): Likewise.
18079         * modules/canonicalize-tests (Files): Likewise.
18080         * modules/carray-list-tests (Files): Likewise.
18081         * modules/ceilf-tests (Files): Likewise.
18082         * modules/ceill-tests (Files): Likewise.
18083         * modules/chown-tests (Files): Likewise.
18084         * modules/cloexec-tests (Files): Likewise.
18085         * modules/copy-file-tests (Files): Likewise.
18086         * modules/count-one-bits-tests (Files): Likewise.
18087         * modules/dprintf-posix-tests (Files): Likewise.
18088         * modules/dup2-tests (Files): Likewise.
18089         * modules/dup3-tests (Files): Likewise.
18090         * modules/duplocale-tests (Files): Likewise.
18091         * modules/fbufmode-tests (Files): Likewise.
18092         * modules/fchdir-tests (Files): Likewise.
18093         * modules/fcntl-safer-tests (Files): Likewise.
18094         * modules/fcntl-tests (Files): Likewise.
18095         * modules/fdopendir-tests (Files): Likewise.
18096         * modules/fdutimensat-tests (Files): Likewise.
18097         * modules/fflush-tests (Files): Likewise.
18098         * modules/filevercmp-tests (Files): Likewise.
18099         * modules/flock-tests (Files): Likewise.
18100         * modules/floorf-tests (Files): Likewise.
18101         * modules/floorl-tests (Files): Likewise.
18102         * modules/fnmatch-tests (Files): Likewise.
18103         * modules/fopen-safer-tests (Files): Likewise.
18104         * modules/fopen-tests (Files): Likewise.
18105         * modules/fpending-tests (Files): Likewise.
18106         * modules/fprintf-posix-tests (Files): Likewise.
18107         * modules/fpurge-tests (Files): Likewise.
18108         * modules/freadable-tests (Files): Likewise.
18109         * modules/freadahead-tests (Files): Likewise.
18110         * modules/freading-tests (Files): Likewise.
18111         * modules/freadptr-tests (Files): Likewise.
18112         * modules/freadseek-tests (Files): Likewise.
18113         * modules/freopen-tests (Files): Likewise.
18114         * modules/frexp-nolibm-tests (Files): Likewise.
18115         * modules/frexp-tests (Files): Likewise.
18116         * modules/frexpl-nolibm-tests (Files): Likewise.
18117         * modules/frexpl-tests (Files): Likewise.
18118         * modules/fseek-tests (Files): Likewise.
18119         * modules/fseeko-tests (Files): Likewise.
18120         * modules/fstrcmp-tests (Files): Likewise.
18121         * modules/fsync-tests (Files): Likewise.
18122         * modules/ftell-tests (Files): Likewise.
18123         * modules/ftello-tests (Files): Likewise.
18124         * modules/func-tests (Files): Likewise.
18125         * modules/futimens-tests (Files): Likewise.
18126         * modules/fwritable-tests (Files): Likewise.
18127         * modules/fwriting-tests (Files): Likewise.
18128         * modules/getcwd-tests (Files): Likewise.
18129         * modules/getdate-tests (Files): Likewise.
18130         * modules/getdelim-tests (Files): Likewise.
18131         * modules/getdtablesize-tests (Files): Likewise.
18132         * modules/getgroups-tests (Files): Likewise.
18133         * modules/getline-tests (Files): Likewise.
18134         * modules/getndelim2-tests (Files): Likewise.
18135         * modules/glob-tests (Files): Likewise.
18136         * modules/hash-tests (Files): Likewise.
18137         * modules/i-ring-tests (Files): Likewise.
18138         * modules/iconv-tests (Files): Likewise.
18139         * modules/iconv_open-utf-tests (Files): Likewise.
18140         * modules/idpriv-drop-tests (Files): Likewise.
18141         * modules/idpriv-droptemp-tests (Files): Likewise.
18142         * modules/inet_ntop-tests (Files): Likewise.
18143         * modules/inet_pton-tests (Files): Likewise.
18144         * modules/isblank-tests (Files): Likewise.
18145         * modules/isfinite-tests (Files): Likewise.
18146         * modules/isinf-tests (Files): Likewise.
18147         * modules/isnan-tests (Files): Likewise.
18148         * modules/isnand-nolibm-tests (Files): Likewise.
18149         * modules/isnand-tests (Files): Likewise.
18150         * modules/isnanf-nolibm-tests (Files): Likewise.
18151         * modules/isnanf-tests (Files): Likewise.
18152         * modules/isnanl-nolibm-tests (Files): Likewise.
18153         * modules/isnanl-tests (Files): Likewise.
18154         * modules/lchown-tests (Files): Likewise.
18155         * modules/ldexpl-tests (Files): Likewise.
18156         * modules/link-tests (Files): Likewise.
18157         * modules/linkat-tests (Files): Likewise.
18158         * modules/linked-list-tests (Files): Likewise.
18159         * modules/linkedhash-list-tests (Files): Likewise.
18160         * modules/localename-tests (Files): Likewise.
18161         * modules/lseek-tests (Files): Likewise.
18162         * modules/lstat-tests (Files): Likewise.
18163         * modules/mbmemcasecmp-tests (Files): Likewise.
18164         * modules/mbmemcasecoll-tests (Files): Likewise.
18165         * modules/mbrtowc-tests (Files): Likewise.
18166         * modules/mbscasecmp-tests (Files): Likewise.
18167         * modules/mbscasestr-tests (Files): Likewise.
18168         * modules/mbschr-tests (Files): Likewise.
18169         * modules/mbscspn-tests (Files): Likewise.
18170         * modules/mbsinit-tests (Files): Likewise.
18171         * modules/mbsncasecmp-tests (Files): Likewise.
18172         * modules/mbsnrtowcs-tests (Files): Likewise.
18173         * modules/mbspbrk-tests (Files): Likewise.
18174         * modules/mbspcasecmp-tests (Files): Likewise.
18175         * modules/mbsrchr-tests (Files): Likewise.
18176         * modules/mbsrtowcs-tests (Files): Likewise.
18177         * modules/mbsspn-tests (Files): Likewise.
18178         * modules/mbsstr-tests (Files): Likewise.
18179         * modules/memchr-tests (Files): Likewise.
18180         * modules/memchr2-tests (Files): Likewise.
18181         * modules/memcmp-tests (Files): Likewise.
18182         * modules/memmem-tests (Files): Likewise.
18183         * modules/memrchr-tests (Files): Likewise.
18184         * modules/mkdir-tests (Files): Likewise.
18185         * modules/mkfifo-tests (Files): Likewise.
18186         * modules/mkfifoat-tests (Files): Likewise.
18187         * modules/mknod-tests (Files): Likewise.
18188         * modules/nanosleep-tests (Files): Likewise.
18189         * modules/nl_langinfo-tests (Files): Likewise.
18190         * modules/obstack-printf-tests (Files): Likewise.
18191         * modules/open-tests (Files): Likewise.
18192         * modules/openat-tests (Files): Likewise.
18193         * modules/pipe-filter-gi-tests (Files): Likewise.
18194         * modules/pipe-filter-ii-tests (Files): Likewise.
18195         * modules/pipe2-tests (Files): Likewise.
18196         * modules/popen-safer-tests (Files): Likewise.
18197         * modules/popen-tests (Files): Likewise.
18198         * modules/posixtm-tests (Files): Likewise.
18199         * modules/pread-tests (Files): Likewise.
18200         * modules/printf-frexp-tests (Files): Likewise.
18201         * modules/printf-frexpl-tests (Files): Likewise.
18202         * modules/printf-posix-tests (Files): Likewise.
18203         * modules/priv-set-tests (Files): Likewise.
18204         * modules/quotearg-tests (Files): Likewise.
18205         * modules/random_r-tests (Files): Likewise.
18206         * modules/rawmemchr-tests (Files): Likewise.
18207         * modules/rbtree-list-tests (Files): Likewise.
18208         * modules/rbtree-oset-tests (Files): Likewise.
18209         * modules/rbtreehash-list-tests (Files): Likewise.
18210         * modules/readlink-tests (Files): Likewise.
18211         * modules/remove-tests (Files): Likewise.
18212         * modules/rename-tests (Files): Likewise.
18213         * modules/renameat-tests (Files): Likewise.
18214         * modules/rmdir-tests (Files): Likewise.
18215         * modules/round-tests (Files): Likewise.
18216         * modules/roundf-tests (Files): Likewise.
18217         * modules/roundl-tests (Files): Likewise.
18218         * modules/safe-alloc-tests (Files): Likewise.
18219         * modules/setenv-tests (Files): Likewise.
18220         * modules/sigaction-tests (Files): Likewise.
18221         * modules/signbit-tests (Files): Likewise.
18222         * modules/sleep-tests (Files): Likewise.
18223         * modules/snprintf-posix-tests (Files): Likewise.
18224         * modules/snprintf-tests (Files): Likewise.
18225         * modules/sprintf-posix-tests (Files): Likewise.
18226         * modules/stat-tests (Files): Likewise.
18227         * modules/stat-time-tests (Files): Likewise.
18228         * modules/strcasestr-tests (Files): Likewise.
18229         * modules/strchrnul-tests (Files): Likewise.
18230         * modules/strerror-tests (Files): Likewise.
18231         * modules/striconv-tests (Files): Likewise.
18232         * modules/striconveh-tests (Files): Likewise.
18233         * modules/striconveha-tests (Files): Likewise.
18234         * modules/strsignal-tests (Files): Likewise.
18235         * modules/strstr-tests (Files): Likewise.
18236         * modules/strtod-tests (Files): Likewise.
18237         * modules/strverscmp-tests (Files): Likewise.
18238         * modules/symlink-tests (Files): Likewise.
18239         * modules/symlinkat-tests (Files): Likewise.
18240         * modules/trunc-tests (Files): Likewise.
18241         * modules/truncf-tests (Files): Likewise.
18242         * modules/truncl-tests (Files): Likewise.
18243         * modules/uname-tests (Files): Likewise.
18244         * modules/unicase/cased-tests (Files): Likewise.
18245         * modules/unicase/ignorable-tests (Files): Likewise.
18246         * modules/unicase/locale-language-tests (Files): Likewise.
18247         * modules/unicase/tolower-tests (Files): Likewise.
18248         * modules/unicase/totitle-tests (Files): Likewise.
18249         * modules/unicase/toupper-tests (Files): Likewise.
18250         * modules/unicase/u8-casecmp-tests (Files): Likewise.
18251         * modules/unicase/u8-casecoll-tests (Files): Likewise.
18252         * modules/unicase/u8-casefold-tests (Files): Likewise.
18253         * modules/unicase/u8-is-cased-tests (Files): Likewise.
18254         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
18255         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
18256         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
18257         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
18258         * modules/unicase/u8-tolower-tests (Files): Likewise.
18259         * modules/unicase/u8-totitle-tests (Files): Likewise.
18260         * modules/unicase/u8-toupper-tests (Files): Likewise.
18261         * modules/unicase/u16-casecmp-tests (Files): Likewise.
18262         * modules/unicase/u16-casecoll-tests (Files): Likewise.
18263         * modules/unicase/u16-casefold-tests (Files): Likewise.
18264         * modules/unicase/u16-is-cased-tests (Files): Likewise.
18265         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
18266         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
18267         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
18268         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
18269         * modules/unicase/u16-tolower-tests (Files): Likewise.
18270         * modules/unicase/u16-totitle-tests (Files): Likewise.
18271         * modules/unicase/u16-toupper-tests (Files): Likewise.
18272         * modules/unicase/u32-casecmp-tests (Files): Likewise.
18273         * modules/unicase/u32-casecoll-tests (Files): Likewise.
18274         * modules/unicase/u32-casefold-tests (Files): Likewise.
18275         * modules/unicase/u32-is-cased-tests (Files): Likewise.
18276         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
18277         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
18278         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
18279         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
18280         * modules/unicase/u32-tolower-tests (Files): Likewise.
18281         * modules/unicase/u32-totitle-tests (Files): Likewise.
18282         * modules/unicase/u32-toupper-tests (Files): Likewise.
18283         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
18284         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
18285         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
18286         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
18287         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
18288         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
18289         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
18290         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
18291         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
18292         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
18293         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
18294         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
18295         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
18296         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
18297         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
18298         * modules/unictype/bidicategory-name-tests (Files): Likewise.
18299         * modules/unictype/bidicategory-of-tests (Files): Likewise.
18300         * modules/unictype/bidicategory-test-tests (Files): Likewise.
18301         * modules/unictype/block-list-tests (Files): Likewise.
18302         * modules/unictype/block-of-tests (Files): Likewise.
18303         * modules/unictype/block-test-tests (Files): Likewise.
18304         * modules/unictype/category-C-tests (Files): Likewise.
18305         * modules/unictype/category-Cc-tests (Files): Likewise.
18306         * modules/unictype/category-Cf-tests (Files): Likewise.
18307         * modules/unictype/category-Cn-tests (Files): Likewise.
18308         * modules/unictype/category-Co-tests (Files): Likewise.
18309         * modules/unictype/category-Cs-tests (Files): Likewise.
18310         * modules/unictype/category-L-tests (Files): Likewise.
18311         * modules/unictype/category-Ll-tests (Files): Likewise.
18312         * modules/unictype/category-Lm-tests (Files): Likewise.
18313         * modules/unictype/category-Lo-tests (Files): Likewise.
18314         * modules/unictype/category-Lt-tests (Files): Likewise.
18315         * modules/unictype/category-Lu-tests (Files): Likewise.
18316         * modules/unictype/category-M-tests (Files): Likewise.
18317         * modules/unictype/category-Mc-tests (Files): Likewise.
18318         * modules/unictype/category-Me-tests (Files): Likewise.
18319         * modules/unictype/category-Mn-tests (Files): Likewise.
18320         * modules/unictype/category-N-tests (Files): Likewise.
18321         * modules/unictype/category-Nd-tests (Files): Likewise.
18322         * modules/unictype/category-Nl-tests (Files): Likewise.
18323         * modules/unictype/category-No-tests (Files): Likewise.
18324         * modules/unictype/category-P-tests (Files): Likewise.
18325         * modules/unictype/category-Pc-tests (Files): Likewise.
18326         * modules/unictype/category-Pd-tests (Files): Likewise.
18327         * modules/unictype/category-Pe-tests (Files): Likewise.
18328         * modules/unictype/category-Pf-tests (Files): Likewise.
18329         * modules/unictype/category-Pi-tests (Files): Likewise.
18330         * modules/unictype/category-Po-tests (Files): Likewise.
18331         * modules/unictype/category-Ps-tests (Files): Likewise.
18332         * modules/unictype/category-S-tests (Files): Likewise.
18333         * modules/unictype/category-Sc-tests (Files): Likewise.
18334         * modules/unictype/category-Sk-tests (Files): Likewise.
18335         * modules/unictype/category-Sm-tests (Files): Likewise.
18336         * modules/unictype/category-So-tests (Files): Likewise.
18337         * modules/unictype/category-Z-tests (Files): Likewise.
18338         * modules/unictype/category-Zl-tests (Files): Likewise.
18339         * modules/unictype/category-Zp-tests (Files): Likewise.
18340         * modules/unictype/category-Zs-tests (Files): Likewise.
18341         * modules/unictype/category-and-not-tests (Files): Likewise.
18342         * modules/unictype/category-and-tests (Files): Likewise.
18343         * modules/unictype/category-byname-tests (Files): Likewise.
18344         * modules/unictype/category-name-tests (Files): Likewise.
18345         * modules/unictype/category-none-tests (Files): Likewise.
18346         * modules/unictype/category-of-tests (Files): Likewise.
18347         * modules/unictype/category-or-tests (Files): Likewise.
18348         * modules/unictype/category-test-withtable-tests (Files): Likewise.
18349         * modules/unictype/combining-class-tests (Files): Likewise.
18350         * modules/unictype/ctype-alnum-tests (Files): Likewise.
18351         * modules/unictype/ctype-alpha-tests (Files): Likewise.
18352         * modules/unictype/ctype-blank-tests (Files): Likewise.
18353         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
18354         * modules/unictype/ctype-digit-tests (Files): Likewise.
18355         * modules/unictype/ctype-graph-tests (Files): Likewise.
18356         * modules/unictype/ctype-lower-tests (Files): Likewise.
18357         * modules/unictype/ctype-print-tests (Files): Likewise.
18358         * modules/unictype/ctype-punct-tests (Files): Likewise.
18359         * modules/unictype/ctype-space-tests (Files): Likewise.
18360         * modules/unictype/ctype-upper-tests (Files): Likewise.
18361         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
18362         * modules/unictype/decimal-digit-tests (Files): Likewise.
18363         * modules/unictype/digit-tests (Files): Likewise.
18364         * modules/unictype/mirror-tests (Files): Likewise.
18365         * modules/unictype/numeric-tests (Files): Likewise.
18366         * modules/unictype/property-alphabetic-tests (Files): Likewise.
18367         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
18368         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
18369         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
18370         Likewise.
18371         * modules/unictype/property-bidi-block-separator-tests (Files):
18372         Likewise.
18373         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
18374         Likewise.
18375         * modules/unictype/property-bidi-common-separator-tests (Files):
18376         Likewise.
18377         * modules/unictype/property-bidi-control-tests (Files): Likewise.
18378         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
18379         Likewise.
18380         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
18381         Likewise.
18382         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
18383         Likewise.
18384         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
18385         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
18386         Likewise.
18387         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
18388         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
18389         Likewise.
18390         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
18391         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
18392         * modules/unictype/property-bidi-segment-separator-tests (Files):
18393         Likewise.
18394         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
18395         * modules/unictype/property-byname-tests (Files): Likewise.
18396         * modules/unictype/property-combining-tests (Files): Likewise.
18397         * modules/unictype/property-composite-tests (Files): Likewise.
18398         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
18399         * modules/unictype/property-dash-tests (Files): Likewise.
18400         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
18401         * modules/unictype/property-default-ignorable-code-point-tests (Files):
18402         Likewise.
18403         * modules/unictype/property-deprecated-tests (Files): Likewise.
18404         * modules/unictype/property-diacritic-tests (Files): Likewise.
18405         * modules/unictype/property-extender-tests (Files): Likewise.
18406         * modules/unictype/property-format-control-tests (Files): Likewise.
18407         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
18408         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
18409         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
18410         * modules/unictype/property-hex-digit-tests (Files): Likewise.
18411         * modules/unictype/property-hyphen-tests (Files): Likewise.
18412         * modules/unictype/property-id-continue-tests (Files): Likewise.
18413         * modules/unictype/property-id-start-tests (Files): Likewise.
18414         * modules/unictype/property-ideographic-tests (Files): Likewise.
18415         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
18416         * modules/unictype/property-ids-trinary-operator-tests (Files):
18417         Likewise.
18418         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
18419         * modules/unictype/property-iso-control-tests (Files): Likewise.
18420         * modules/unictype/property-join-control-tests (Files): Likewise.
18421         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
18422         * modules/unictype/property-line-separator-tests (Files): Likewise.
18423         * modules/unictype/property-logical-order-exception-tests (Files):
18424         Likewise.
18425         * modules/unictype/property-lowercase-tests (Files): Likewise.
18426         * modules/unictype/property-math-tests (Files): Likewise.
18427         * modules/unictype/property-non-break-tests (Files): Likewise.
18428         * modules/unictype/property-not-a-character-tests (Files): Likewise.
18429         * modules/unictype/property-numeric-tests (Files): Likewise.
18430         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
18431         * modules/unictype/property-other-default-ignorable-code-point-tests
18432         (Files): Likewise.
18433         * modules/unictype/property-other-grapheme-extend-tests (Files):
18434         Likewise.
18435         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
18436         * modules/unictype/property-other-id-start-tests (Files): Likewise.
18437         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
18438         * modules/unictype/property-other-math-tests (Files): Likewise.
18439         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
18440         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
18441         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
18442         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
18443         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
18444         * modules/unictype/property-private-use-tests (Files): Likewise.
18445         * modules/unictype/property-punctuation-tests (Files): Likewise.
18446         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
18447         * modules/unictype/property-radical-tests (Files): Likewise.
18448         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
18449         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
18450         * modules/unictype/property-space-tests (Files): Likewise.
18451         * modules/unictype/property-terminal-punctuation-tests (Files):
18452         Likewise.
18453         * modules/unictype/property-test-tests (Files): Likewise.
18454         * modules/unictype/property-titlecase-tests (Files): Likewise.
18455         * modules/unictype/property-unassigned-code-value-tests (Files):
18456         Likewise.
18457         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
18458         * modules/unictype/property-uppercase-tests (Files): Likewise.
18459         * modules/unictype/property-variation-selector-tests (Files): Likewise.
18460         * modules/unictype/property-white-space-tests (Files): Likewise.
18461         * modules/unictype/property-xid-continue-tests (Files): Likewise.
18462         * modules/unictype/property-xid-start-tests (Files): Likewise.
18463         * modules/unictype/property-zero-width-tests (Files): Likewise.
18464         * modules/unictype/scripts-tests (Files): Likewise.
18465         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
18466         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
18467         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
18468         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
18469         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
18470         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
18471         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
18472         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
18473         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
18474         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
18475         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
18476         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
18477         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
18478         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
18479         * modules/uninorm/composition-tests (Files): Likewise.
18480         * modules/uninorm/decomposing-form-tests (Files): Likewise.
18481         * modules/uninorm/decomposition-tests (Files): Likewise.
18482         * modules/uninorm/filter-tests (Files): Likewise.
18483         * modules/uninorm/nfc-tests (Files): Likewise.
18484         * modules/uninorm/nfd-tests (Files): Likewise.
18485         * modules/uninorm/nfkc-tests (Files): Likewise.
18486         * modules/uninorm/nfkd-tests (Files): Likewise.
18487         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
18488         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
18489         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
18490         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
18491         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
18492         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
18493         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
18494         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
18495         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
18496         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
18497         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
18498         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
18499         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
18500         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
18501         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
18502         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
18503         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
18504         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
18505         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
18506         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
18507         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
18508         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
18509         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
18510         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
18511         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
18512         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
18513         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
18514         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
18515         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
18516         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
18517         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
18518         * modules/uniwidth/u8-width-tests (Files): Likewise.
18519         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
18520         * modules/uniwidth/u16-width-tests (Files): Likewise.
18521         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
18522         * modules/uniwidth/u32-width-tests (Files): Likewise.
18523         * modules/uniwidth/width-tests (Files): Likewise.
18524         * modules/unlink-tests (Files): Likewise.
18525         * modules/unsetenv-tests (Files): Likewise.
18526         * modules/usleep-tests (Files): Likewise.
18527         * modules/utimens-tests (Files): Likewise.
18528         * modules/utimensat-tests (Files): Likewise.
18529         * modules/vasnprintf-posix-tests (Files): Likewise.
18530         * modules/vasnprintf-tests (Files): Likewise.
18531         * modules/vasprintf-posix-tests (Files): Likewise.
18532         * modules/vasprintf-tests (Files): Likewise.
18533         * modules/vdprintf-posix-tests (Files): Likewise.
18534         * modules/vfprintf-posix-tests (Files): Likewise.
18535         * modules/vprintf-posix-tests (Files): Likewise.
18536         * modules/vsnprintf-posix-tests (Files): Likewise.
18537         * modules/vsnprintf-tests (Files): Likewise.
18538         * modules/vsprintf-posix-tests (Files): Likewise.
18539         * modules/wcrtomb-tests (Files): Likewise.
18540         * modules/wcsnrtombs-tests (Files): Likewise.
18541         * modules/wcsrtombs-tests (Files): Likewise.
18542         * modules/wctype-tests (Files): Likewise.
18543         * modules/wcwidth-tests (Files): Likewise.
18544         * modules/xmemdup0-tests (Files): Likewise.
18545         * modules/xprintf-posix-tests (Files): Likewise.
18546         * modules/xvasprintf-tests (Files): Likewise.
18547
18548 2009-12-24  Eric Blake  <ebb9@byu.net>
18549
18550         test-nanosleep: fix typo
18551         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
18552         patch.
18553         Reported by Bruno Haible.
18554
18555 2009-12-24  Bruno Haible  <bruno@clisp.org>
18556
18557         Reduce namespace pollution on glibc systems.
18558         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
18559         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
18560         systems.
18561         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
18562         <getopt.h> on glibc systems.
18563         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
18564         systems.
18565         * lib/fcntl.c: Include <unistd.h> here instead.
18566
18567 2009-12-24  Bruno Haible  <bruno@clisp.org>
18568
18569         * lib/stdlib.in.h (includes): Fix typo in today's commit.
18570
18571 2009-12-24  Eric Blake  <ebb9@byu.net>
18572
18573         tests: add signature checks
18574         * tests/signature.h (SIGNATURE_CHECK): New file.
18575         * modules/atexit-tests (Files): Use it.
18576         * modules/btowc-tests (Files): Likewise.
18577         * modules/canonicalize-lgpl-tests (Files): Likewise.
18578         * modules/ceilf-tests (Files): Likewise.
18579         * modules/ceill-tests (Files): Likewise.
18580         * modules/chown-tests (Files): Likewise.
18581         * modules/dprintf-posix-tests (Files): Likewise.
18582         * modules/dup2-tests (Files): Likewise.
18583         * modules/dup3-tests (Files): Likewise.
18584         * modules/duplocale-tests (Files): Likewise.
18585         * modules/fchdir-tests (Files): Likewise.
18586         * modules/fcntl-tests (Files): Likewise.
18587         * modules/fdopendir-tests (Files): Likewise.
18588         * modules/fflush-tests (Files): Likewise.
18589         * modules/flock-tests (Files): Likewise.
18590         * modules/floorf-tests (Files): Likewise.
18591         * modules/floorl-tests (Files): Likewise.
18592         * modules/fnmatch-tests (Files): Likewise.
18593         * modules/fopen-tests (Files): Likewise.
18594         * modules/fprintf-posix-tests (Files): Likewise.
18595         * modules/freopen-tests (Files): Likewise.
18596         * modules/frexp-nolibm-tests (Files): Likewise.
18597         * modules/frexp-tests (Files): Likewise.
18598         * modules/frexpl-nolibm-tests (Files): Likewise.
18599         * modules/frexpl-tests (Files): Likewise.
18600         * modules/fseek-tests (Files): Likewise.
18601         * modules/fseeko-tests (Files): Likewise.
18602         * modules/fsync-tests (Files): Likewise.
18603         * modules/ftell-tests (Files): Likewise.
18604         * modules/ftello-tests (Files): Likewise.
18605         * modules/futimens-tests (Files): Likewise.
18606         * modules/getaddrinfo-tests (Files): Likewise.
18607         * modules/getcwd-tests (Files): Likewise.
18608         * modules/getdelim-tests (Files): Likewise.
18609         * modules/getdtablesize-tests (Files): Likewise.
18610         * modules/getgroups-tests (Files): Likewise.
18611         * modules/gethostname-tests (Files): Likewise.
18612         * modules/getline-tests (Files): Likewise.
18613         * modules/getopt-posix-tests (Files): Likewise.
18614         * modules/gettimeofday-tests (Files): Likewise.
18615         * modules/glob-tests (Files): Likewise.
18616         * modules/iconv-tests (Files): Likewise.
18617         * modules/inet_ntop-tests (Files): Likewise.
18618         * modules/inet_pton-tests (Files): Likewise.
18619         * modules/isblank-tests (Files): Likewise.
18620         * modules/lchown-tests (Files): Likewise.
18621         * modules/ldexpl-tests (Files): Likewise.
18622         * modules/link-tests (Files): Likewise.
18623         * modules/linkat-tests (Files): Likewise.
18624         * modules/lseek-tests (Files): Likewise.
18625         * modules/lstat-tests (Files): Likewise.
18626         * modules/mbrtowc-tests (Files): Likewise.
18627         * modules/mbsinit-tests (Files): Likewise.
18628         * modules/mbsnrtowcs-tests (Files): Likewise.
18629         * modules/mbsrtowcs-tests (Files): Likewise.
18630         * modules/memchr-tests (Files): Likewise.
18631         * modules/memcmp-tests (Files): Likewise.
18632         * modules/memmem-tests (Files): Likewise.
18633         * modules/memrchr-tests (Files): Likewise.
18634         * modules/mkdir-tests (Files): Likewise.
18635         * modules/mkfifo-tests (Files): Likewise.
18636         * modules/mkfifoat-tests (Files): Likewise.
18637         * modules/mknod-tests (Files): Likewise.
18638         * modules/nanosleep-tests (Files): Likewise.
18639         * modules/nl_langinfo-tests (Files): Likewise.
18640         * modules/obstack-printf-tests (Files): Likewise.
18641         * modules/open-tests (Files): Likewise.
18642         * modules/openat-tests (Files): Likewise.
18643         * modules/perror-tests (Files): Likewise.
18644         * modules/pipe2-tests (Files): Likewise.
18645         * modules/poll-tests (Files): Likewise.
18646         * modules/popen-tests (Files): Likewise.
18647         * modules/posix_spawn-tests (Files): Likewise.
18648         * modules/posix_spawnp-tests (Files): Likewise.
18649         * modules/pread-tests (Files): Likewise.
18650         * modules/printf-posix-tests (Files): Likewise.
18651         * modules/pty-tests (Files): Likewise.
18652         * modules/random_r-tests (Files): Likewise.
18653         * modules/rawmemchr-tests (Files): Likewise.
18654         * modules/readlink-tests (Files): Likewise.
18655         * modules/remove-tests (Files): Likewise.
18656         * modules/rename-tests (Files): Likewise.
18657         * modules/renameat-tests (Files): Likewise.
18658         * modules/rmdir-tests (Files): Likewise.
18659         * modules/round-tests (Files): Likewise.
18660         * modules/roundf-tests (Files): Likewise.
18661         * modules/roundl-tests (Files): Likewise.
18662         * modules/select-tests (Files): Likewise.
18663         * modules/setenv-tests (Files): Likewise.
18664         * modules/sigaction-tests (Files): Likewise.
18665         * modules/sleep-tests (Files): Likewise.
18666         * modules/snprintf-posix-tests (Files): Likewise.
18667         * modules/snprintf-tests (Files): Likewise.
18668         * modules/sprintf-posix-tests (Files): Likewise.
18669         * modules/stat-tests (Files): Likewise.
18670         * modules/strcasestr-tests (Files): Likewise.
18671         * modules/strchrnul-tests (Files): Likewise.
18672         * modules/strerror-tests (Files): Likewise.
18673         * modules/strsignal-tests (Files): Likewise.
18674         * modules/strstr-tests (Files): Likewise.
18675         * modules/strtod-tests (Files): Likewise.
18676         * modules/strverscmp-tests (Files): Likewise.
18677         * modules/symlink-tests (Files): Likewise.
18678         * modules/symlinkat-tests (Files): Likewise.
18679         * modules/times-tests (Files): Likewise.
18680         * modules/trunc-tests (Files): Likewise.
18681         * modules/truncf-tests (Files): Likewise.
18682         * modules/truncl-tests (Files): Likewise.
18683         * modules/tsearch-tests (Files): Likewise.
18684         * modules/uname-tests (Files): Likewise.
18685         * modules/unlink-tests (Files): Likewise.
18686         * modules/unsetenv-tests (Files): Likewise.
18687         * modules/usleep-tests (Files): Likewise.
18688         * modules/utimensat-tests (Files): Likewise.
18689         * modules/vasprintf-tests (Files): Likewise.
18690         * modules/vdprintf-posix-tests (Files): Likewise.
18691         * modules/vfprintf-posix-tests (Files): Likewise.
18692         * modules/vprintf-posix-tests (Files): Likewise.
18693         * modules/vsnprintf-posix-tests (Files): Likewise.
18694         * modules/vsnprintf-tests (Files): Likewise.
18695         * modules/vsprintf-posix-tests (Files): Likewise.
18696         * modules/wcrtomb-tests (Files): Likewise.
18697         * modules/wcsnrtombs-tests (Files): Likewise.
18698         * modules/wcsrtombs-tests (Files): Likewise.
18699         * modules/wcwidth-tests (Files): Likewise.
18700         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
18701         * tests/test-isinf.c (isinf): Likewise.
18702         * tests/test-isnan.c (isnan): Likewise.
18703         * tests/test-signbit.c (signbit): Likewise.
18704         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
18705         declaration, either as macro or with correct signature.
18706         (select): Ensure function under test is declared with correct
18707         signature in correct header.
18708         * tests/test-atexit.c (atexit): Likewise.
18709         * tests/test-btowc.c (btowc): Likewise.
18710         * tests/test-canonicalize-lgpl.c (realpath)
18711         (canonicalize_file_name): Likewise.
18712         * tests/test-ceilf1.c (ceilf): Likewise.
18713         * tests/test-ceill.c (ceill): Likewise.
18714         * tests/test-chown.c (chown): Likewise.
18715         * tests/test-dprintf-posix.c (dprintf): Likewise.
18716         * tests/test-dup2.c (dup2): Likewise.
18717         * tests/test-dup3.c (dup3): Likewise.
18718         * tests/test-duplocale.c (duplocale): Likewise.
18719         * tests/test-fchdir.c (fchdir): Likewise.
18720         * tests/test-fchownat.c (fchownat): Likewise.
18721         * tests/test-fcntl.c (fcntl): Likewise.
18722         * tests/test-fdopendir.c (fdopendir): Likewise.
18723         * tests/test-fflush.c (fflush): Likewise.
18724         * tests/test-flock.c (flock): Likewise.
18725         * tests/test-floorf1.c (floorf): Likewise.
18726         * tests/test-floorl.c (floorl): Likewise.
18727         * tests/test-fnmatch.c (fnmatch): Likewise.
18728         * tests/test-fopen.c (fopen): Likewise.
18729         * tests/test-fprintf-posix.c (fprintf): Likewise.
18730         * tests/test-freopen.c (freopen): Likewise.
18731         * tests/test-frexp.c (frexp): Likewise.
18732         * tests/test-frexpl.c (frexpl): Likewise.
18733         * tests/test-fseek.c (fseek): Likewise.
18734         * tests/test-fseeko.c (fseeko): Likewise.
18735         * tests/test-fstatat.c (fstatat): Likewise.
18736         * tests/test-fsync.c (fsync): Likewise.
18737         * tests/test-ftell.c (ftell): Likewise.
18738         * tests/test-ftello.c (ftello): Likewise.
18739         * tests/test-futimens.c (futimens): Likewise.
18740         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
18741         (gai_strerror): Likewise.
18742         * tests/test-getcwd.c (getcwd): Likewise.
18743         * tests/test-getdelim.c (getdelim): Likewise.
18744         * tests/test-getdtablesize.c (getdtablesize): Likewise.
18745         * tests/test-getgroups.c (getgroups): Likewise.
18746         * tests/test-gethostname.c (gethostname): Likewise.
18747         * tests/test-getline.c (getline): Likewise.
18748         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
18749         Likewise.
18750         * tests/test-gettimeofday.c (gettimeofday): Likewise.
18751         * tests/test-glob.c (glob, globfree): Likewise.
18752         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
18753         * tests/test-inet_ntop.c (inet_ntop): Likewise.
18754         * tests/test-inet_pton.c (inet_pton): Likewise.
18755         * tests/test-isblank.c (isblank): Likewise.
18756         * tests/test-lchown.c (lchown): Likewise.
18757         * tests/test-ldexpl.c (ldexpl): Likewise.
18758         * tests/test-link.c (link): Likewise.
18759         * tests/test-linkat.c (linkat): Likewise.
18760         * tests/test-lseek.c (lseek): Likewise.
18761         * tests/test-lstat.c (lstat): Likewise.
18762         * tests/test-mbrtowc.c (mbrtowc): Likewise.
18763         * tests/test-mbsinit.c (mbsinit): Likewise.
18764         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
18765         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
18766         * tests/test-memchr.c (memchr): Likewise.
18767         * tests/test-memcmp.c (memcmp): Likewise.
18768         * tests/test-memmem.c (memmem): Likewise.
18769         * tests/test-memrchr.c (memrchr): Likewise.
18770         * tests/test-mkdir.c (mkdir): Likewise.
18771         * tests/test-mkdirat.c (mkdirat): Likewise.
18772         * tests/test-mkfifo.c (mkfifo): Likewise.
18773         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
18774         * tests/test-mknod.c (mknod): Likewise.
18775         * tests/test-nanosleep.c (nanosleep): Likewise.
18776         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
18777         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
18778         Likewise.
18779         * tests/test-open.c (open): Likewise.
18780         * tests/test-openat.c (openat): Likewise.
18781         * tests/test-perror.c (perror): Likewise.
18782         * tests/test-pipe2.c (pipe2): Likewise.
18783         * tests/test-poll.c (poll): Likewise.
18784         * tests/test-popen.c (popen, pclose): Likewise.
18785         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
18786         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
18787         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
18788         (posix_spawn_file_actions_destroy)
18789         (posix_spawn_file_actions_addclose)
18790         (posix_spawn_file_actions_addopen)
18791         (posix_spawn_file_actions_adddup2): Likewise.
18792         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
18793         * tests/test-pread.c (pread): Likewise.
18794         * tests/test-printf-posix.c (printf): Likewise.
18795         * tests/test-pty.c (openpty, forkpty): Likewise.
18796         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
18797         (random_r): Likewise.
18798         * tests/test-rawmemchr.c (rawmemchr): Likewise.
18799         * tests/test-readlink.c (readlink): Likewise.
18800         * tests/test-remove.c (remove): Likewise.
18801         * tests/test-rename.c (rename): Likewise.
18802         * tests/test-renameat.c (renameat): Likewise.
18803         * tests/test-rmdir.c (rmdir): Likewise.
18804         * tests/test-round1.c (round): Likewise.
18805         * tests/test-roundf1.c (roundf): Likewise.
18806         * tests/test-roundl.c (roundl): Likewise.
18807         * tests/test-setenv.c (setenv): Likewise.
18808         * tests/test-sigaction.c (sigaction): Likewise.
18809         * tests/test-sleep.c (sleep): Likewise.
18810         * tests/test-snprintf.c (snprintf): Likewise.
18811         * tests/test-sprintf-posix.c (sprintf): Likewise.
18812         * tests/test-stat.c (stat): Likewise.
18813         * tests/test-stpncpy.c (stpncpy): Likewise.
18814         * tests/test-strcasestr.c (strcasestr): Likewise.
18815         * tests/test-strchrnul.c (strchrnul): Likewise.
18816         * tests/test-strerror.c (strerror): Likewise.
18817         * tests/test-strsignal.c (strsignal): Likewise.
18818         * tests/test-strstr.c (strstr): Likewise.
18819         * tests/test-strtod.c (strtod): Likewise.
18820         * tests/test-strverscmp.c (strverscmp): Likewise.
18821         * tests/test-symlink.c (symlink): Likewise.
18822         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
18823         * tests/test-times.c (times): Likewise.
18824         * tests/test-trunc1.c (trunc): Likewise.
18825         * tests/test-truncf1.c (truncf): Likewise.
18826         * tests/test-truncl.c (truncl): Likewise.
18827         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
18828         Likewise.
18829         * tests/test-uname.c (uname): Likewise.
18830         * tests/test-unlink.c (unlink): Likewise.
18831         * tests/test-unlinkat.c (unlinkat): Likewise.
18832         * tests/test-unsetenv.c (unsetenv): Likewise.
18833         * tests/test-usleep.c (usleep): Likewise.
18834         * tests/test-utimensat.c (utimensat): Likewise.
18835         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
18836         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
18837         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
18838         * tests/test-vprintf-posix.c (vprintf): Likewise.
18839         * tests/test-vsnprintf.c (vsnprintf): Likewise.
18840         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
18841         * tests/test-wcrtomb.c (wcrtomb): Likewise.
18842         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
18843         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
18844         * tests/test-wcwidth.c (wcwidth): Likewise.
18845
18846         build: pull in conditional headers during GNULIB_POSIXCHECK
18847         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
18848         definitions from any conditionally-included headers.
18849         * lib/stdlib.in.h (includes): Likewise.
18850         * lib/unistd.in.h (includes): Likewise.
18851
18852 2009-12-24  Bruno Haible  <bruno@clisp.org>
18853
18854         * tests/test-argv-iter.c: Include header file being tested immediately
18855         after config.h.
18856         * tests/test-base64.c: Likewise.
18857         * tests/test-flock.c: Likewise.
18858         * tests/test-fsync.c: Likewise.
18859         * tests/test-getdate.c: Likewise.
18860         * tests/test-getndelim2.c: Likewise.
18861         * tests/test-isfinite.c: Likewise.
18862         * tests/test-isinf.c: Likewise.
18863         * tests/test-strerror.c: Likewise.
18864         * tests/test-strsignal.c: Likewise.
18865
18866 2009-12-23  Eric Blake  <ebb9@byu.net>
18867
18868         unistd: work around cygwin bug
18869         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
18870         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
18871         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
18872
18873 2009-12-23  Bruno Haible  <bruno@clisp.org>
18874
18875         localename: More tests.
18876         * tests/test-localename.c (SIZEOF): New macro.
18877         (categories): New variable.
18878         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
18879         test_locale_name_default): Add test w.r.t. thread locale.
18880         (test_locale_name_thread): New function.
18881         (main): Invoke it.
18882
18883         localename: Make aware of thread locale.
18884         * lib/localename.h (gl_locale_name_thread): New declaration.
18885         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
18886         behaviour with respect to thread locale.
18887         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
18888         <langinfo.h>, glthread/lock.h.
18889         (SIZE_BITS): New macro.
18890         (string_hash): New function.
18891         (struct hash_node): New type.
18892         (HASH_TABLE_SIZE): New macro.
18893         (struniq_hash_table, struniq_lock): New variables.
18894         (struniq): New function.
18895         (gl_locale_name_thread): New function.
18896         (gl_locale_name): Invoke it.
18897         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
18898         * modules/localename (Depends-on): Add lock.
18899         Reported by Mike Gran <spk121@yahoo.com>.
18900
18901 2009-12-23  Eric Blake  <ebb9@byu.net>
18902
18903         va-args: new module
18904         * modules/va-args: New file.
18905         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
18906         * MODULES.html.sh (Core language properties): Mention it.
18907
18908         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
18909         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
18910         named alias for __attribute__((__unused__)).
18911         * lib/chown.c: Update client.
18912         * lib/fchmodat.c: Likewise.
18913         * lib/fts.c: Likewise.
18914         * lib/getdate.y: Likewise.
18915         * lib/getgroups.c: Likewise.
18916         * lib/getopt.c: Likewise.
18917         * lib/getugroups.c: Likewise.
18918         * lib/mkdir.c: Likewise.
18919         * lib/mkfifo.c: Likewise.
18920         * lib/mkfifoat.c: Likewise.
18921         * lib/mknod.c: Likewise.
18922         * lib/mknodat.c: Likewise.
18923         * lib/readlink.c: Likewise.
18924         * lib/se-context.in.h: Likewise.
18925         * lib/se-selinux.in.h: Likewise.
18926         * lib/sockets.c: Likewise.
18927         * lib/symlink.c: Likewise.
18928         * lib/symlinkat.c: Likewise.
18929         * lib/unicodeio.c: Likewise.
18930         * lib/unistr.h: Likewise.
18931         * tests/test-areadlink.c: Likewise.
18932         * tests/test-areadlinkat.c: Likewise.
18933         * tests/test-filenamecat.c: Likewise.
18934         * tests/test-fseeko.c: Likewise.
18935         * tests/test-ftello.c: Likewise.
18936         * tests/test-getdate.c: Likewise.
18937         * tests/test-getgroups.c: Likewise.
18938         * tests/test-gethostname.c: Likewise.
18939         * tests/test-quotearg.c: Likewise.
18940         * tests/test-version-etc.c: Likewise.
18941         * tests/test-xalloc-die.c: Likewise.
18942         * tests/test-xfprintf-posix.c: Likewise.
18943         * tests/test-xprintf-posix.c: Likewise.
18944         * tests/test-xvasprintf.c: Likewise.
18945
18946         tests: avoid compiler warnings
18947         * tests/test-fcntl.c (main): Delete unused parameters.
18948         * tests/test-freopen-safer.c (main): Likewise.
18949         * tests/test-xalloc-die.c (main): Mark unused parameters.
18950         * tests/test-fseeko.c (main): Likewise.
18951         * tests/test-ftello.c (main): Likewise.
18952         * tests/test-nanosleep.c (main): Avoid declaration warning.
18953         * tests/test-sleep.c (main): Likewise.
18954         * tests/test-unsetenv.c (main): Silence warning about string
18955         literal.
18956         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
18957
18958 2009-12-23  Bruno Haible  <bruno@clisp.org>
18959
18960         * tests/test-localename.c (test_locale_name): New function, extracted
18961         from main. Also test mixed situations.
18962         (test_locale_name_posix, test_locale_name_environ,
18963         test_locale_name_default): New functions.
18964         (main): Invoke them all.
18965         * modules/localename-tests (configure.ac): Test for newlocale.
18966
18967 2009-12-23  Bruno Haible  <bruno@clisp.org>
18968
18969         unistd: Ensure getcwd gets declared before being overridden.
18970         * lib/unistd.in.h: Conditionally include <io.h>.
18971
18972 2009-12-22  Bruno Haible  <bruno@clisp.org>
18973
18974         wchar: Diagnose broken combination of glibc and gcc versions and flags.
18975         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
18976         (gl_WCHAR_H): Invoke it.
18977         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
18978         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
18979         Reported by Karl Berry <karl@freefriends.org>.
18980
18981 2009-12-22  Eric Blake  <ebb9@byu.net>
18982
18983         math, unistd: avoid redundant includes
18984         * lib/math.in.h (isnan): No need to re-include <math.h>.
18985         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
18986
18987         getsubopt: work around cygwin bug
18988         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
18989         avoid conflicting with system getsubopt.
18990         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
18991         bug.
18992
18993         getopt: synchronize from glibc
18994         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
18995         parameter order.  Adjust all callers.
18996         (_getopt_internal_r, main): Adjust quoting in error messages.
18997         Drop considerations for outdated POSIX 1003.2 error message.
18998         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
18999         callers.
19000         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
19001
19002         test-getopt: test stderr behavior
19003         * modules/getopt-posix-tests (Depends-on): Add dup2.
19004         * tests/test-getopt.c (ASSERT): Avoid stderr.
19005         (main): Move stderr to a temporary file.
19006         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
19007         Instead, add parameter to inform caller if output occurred.
19008         (test_getopt): Adjust all existing tests to expect silence, and
19009         add new tests of leading ":".
19010         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
19011         glibc shortcomings with leading "-:" or "+:" in optstring.
19012         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19013         Likewise.
19014         * doc/posix-functions/getopt.texi (getopt): Likewise.
19015
19016         test-getopt: enhance test
19017         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
19018         supports optind=0.
19019         * tests/test-getopt.c (OPTIND_MIN): Move...
19020         * tests/test-getopt.h (OPTIND_MIN): ...here.
19021         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
19022         Require that optind=0 works, since modern BSD supports it in
19023         addition to optreset, and since coreutils expects it.
19024         (test_getopt_long_only): New test.
19025         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
19026         glibc shortcomings with 'W;', and enforcement of optind=0.
19027         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19028         Likewise.
19029
19030 2009-12-21  Bruno Haible  <bruno@clisp.org>
19031
19032         localename: Improvements for MacOS X and Cygwin.
19033         * lib/localename.h (gl_locale_name_environ): New declaration.
19034         * lib/localename.c (gl_locale_name_environ): New function, extracted from
19035         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
19036         (gl_locale_name_posix): Invoke it.
19037         (gl_locale_name_default): Add comments. Use Windows native API also on
19038         Cygwin.
19039
19040 2009-12-21  Bruno Haible  <bruno@clisp.org>
19041
19042         Update list of Win32 locale ids.
19043         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
19044         (LANG_SAMI): Renamed from LANG_SAAMI.
19045         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
19046         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
19047         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
19048         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
19049         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
19050         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
19051         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
19052         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
19053         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
19054         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
19055         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
19056         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
19057         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
19058         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
19059         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
19060         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
19061         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
19062         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
19063         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
19064         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
19065         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
19066         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
19067         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
19068         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
19069         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
19070         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
19071         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
19072         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
19073         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
19074         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
19075         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
19076         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
19077         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
19078         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
19079         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
19080         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
19081         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
19082         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
19083         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
19084         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
19085         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
19086         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
19087         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
19088         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
19089         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
19090         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
19091         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
19092         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
19093         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
19094         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
19095         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
19096         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
19097         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
19098         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
19099         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
19100         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
19101         Add more languages and countries for Sami, Sorbian. Add more countries
19102         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
19103         for Pashto. Change country for Syriac, Tswana.
19104
19105 2009-12-21  Eric Blake  <ebb9@byu.net>
19106
19107         test-utimens: avoid spurious failure
19108         * tests/test-chown.h (nap): Factor...
19109         * tests/nap.h: ...into new file.
19110         * tests/test-lchown.h (nap): Avoid duplication.
19111         * tests/test-utimens-common.h (nap): Use shared implementation,
19112         necessary on file systems with 1-second resolution.
19113         * modules/chown-tests (Files): Include new file.
19114         * modules/fdutimensat-tests (Files): Likewise.
19115         * modules/futimens-tests (Files): Likewise.
19116         * modules/lchown-tests (Files): Likewise.
19117         * modules/openat-tests (Files): Likewise.
19118         * modules/utimens-tests (Files): Likewise.
19119         * modules/utimensat-tests (Files): Likewise.
19120
19121 2009-12-19  Eric Blake  <ebb9@byu.net>
19122
19123         futimens, utimensat: work around Linux bug
19124         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
19125         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
19126         * lib/utimensat.c (rpl_utimensat): Work around it.
19127         * lib/futimens.c (rpl_futimens): Adjust comment.
19128
19129         utimens: work around Linux ctime bug
19130         * lib/utimens.c (detect_ctime_bug): New helper function.
19131         (update_timespec): Differentiate between workaround needed for
19132         this bug vs. what is needed for systems that lack utimensat.
19133         (fdutimens, lutimens): Work around bug.
19134
19135         utimens: check for ctime update
19136         * tests/test-utimens-common.h (check_ctime): Define.
19137         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
19138         * tests/test-futimens.h (test_futimens): Likewise.
19139         * tests/test-lutimens.h (test_lutimens): Likewise.
19140         * doc/posix-functions/futimens.texi (futimens): Document the bug.
19141         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
19142
19143 2009-12-19  Bruno Haible  <bruno@clisp.org>
19144
19145         dprintf-posix: Check against memory leak fixed on 2009-12-15.
19146         * tests/test-dprintf-posix2.sh: New file.
19147         * tests/test-dprintf-posix2.c: New file.
19148         * modules/dprintf-posix-tests (Files): Add them.
19149         (configure.ac): Check for getrlimit and setrlimit.
19150         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
19151
19152 2009-12-19  Bruno Haible  <bruno@clisp.org>
19153
19154         fprintf-posix: Check against memory leak fixed on 2009-12-15.
19155         * tests/test-fprintf-posix3.sh: New file.
19156         * tests/test-fprintf-posix3.c: New file.
19157         * modules/fprintf-posix-tests (Files): Add them.
19158         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
19159
19160 2009-12-19  Eric Blake  <ebb9@byu.net>
19161
19162         dirfd: fix prototype
19163         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
19164         * lib/dirfd.c (dirfd): Likewise.
19165
19166         canonicalize: reduce memory usage
19167         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
19168         allocation to size.
19169         Reported by Solar Designer <solar@openwall.com>.
19170
19171 2009-12-19  Bruno Haible  <bruno@clisp.org>
19172
19173         New module attribute 'Applicability'.
19174         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
19175         * gnulib-tool: New option --extract-applicability.
19176         (func_usage): Document it.
19177         (sed_extract_prog): Recognize it.
19178         (func_get_applicability): New function.
19179         (func_import): Generalize handling of 'link-warning' module.
19180         * modules/link-warning (Applicability): New section.
19181         * modules/arg-nonnull (Applicability): New section.
19182         Repoted by Simon Josefsson <simon@josefsson.org>.
19183
19184 2009-12-19  Bruno Haible  <bruno@clisp.org>
19185
19186         fflush: tweak
19187         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
19188         * lib/fseeko.c (rpl_fseeko): Likewise.
19189
19190 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
19191
19192         * lib/gl_list.h: Fix typo in comment.
19193
19194 2009-12-16  Eric Blake  <ebb9@byu.net>
19195
19196         fcntl: use to simplify other modules
19197         * modules/cloexec (Depends-on): Add fcntl.
19198         * modules/fchdir (Depends-on): Likewise.
19199         * modules/fd-safer-flag (Depends-on): Likewise.
19200         * modules/unistd-safer (Depends-on): Likewise.
19201         * modules/dup3 (configure.ac): Set module indicator.
19202         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
19203         missing.
19204         * lib/fchdir.c (_gl_register_dup): Fix comment.
19205         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
19206         * lib/dup-safer.c (dup_safer): Likewise.
19207         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
19208         * lib/dup3.c (dup3): Likewise.
19209         * tests/test-fchdir.c (main): Enhance test.
19210         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
19211
19212         fcntl: port portions of fcntl to mingw
19213         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
19214         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
19215         replacement for mingw.
19216         * modules/fcntl (Description): Update.
19217         (Depends-on): Add dup2.
19218         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
19219         * modules/fcntl-h (Makefile.am): Substitute it.
19220         * lib/fcntl.in.h (fcntl): Update declaration.
19221         (F_DUPFD, F_GETFD): New macros, when needed.
19222         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
19223         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
19224         * tests/test-fcntl.c (check_flags, main): Enhance test for items
19225         we now guarantee.
19226
19227         fcntl: work around cygwin bug in F_DUPFD
19228         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
19229         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
19230         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
19231         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
19232         * doc/posix-functions/fcntl.texi (fcntl): Document it.
19233
19234         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
19235         * modules/fcntl (Files): List new files.
19236         (configure.ac): Run a test.
19237         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
19238         * lib/fcntl.c (rpl_fcntl): Likewise.
19239         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
19240         (gl_FCNTL_H): Always replace fcntl.h.
19241         * modules/fcntl-h (Makefile.am): Substitute witnesses.
19242         * lib/fcntl.in.h (fcntl): Declare replacement.
19243         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
19244         needed, plus a witness.
19245         * doc/posix-functions/fcntl.texi (fcntl): Document this.
19246         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
19247         * tests/test-fcntl.c: New file.
19248         * modules/fcntl-tests: Likewise.
19249
19250         binary-io: avoid potential compilation warning
19251         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
19252         directives.
19253
19254         fflush: avoid compilation error on NetBSD
19255         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
19256         between off_t and fpos_t, since the latter is sometimes a struct.
19257         * lib/fseeko.c (rpl_fseeko): Likewise.
19258         Reported by Alexander Nasonov <alnsn@yandex.ru>.
19259
19260 2009-12-15  Eric Blake  <ebb9@byu.net>
19261
19262         fcntl-h, stdio, sys_ioctl: fix declarations
19263         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
19264         function must not take arguments.
19265         * lib/sys_ioctl.in.h (ioctl): Likewise.
19266         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
19267         (open): Add a link warning.
19268
19269 2009-12-15  Jim Meyering  <meyering@redhat.com>
19270
19271         areadlink, areadlink-with-size: relax license to LGPLv2+
19272         * modules/areadlink (License): Relax to LGPLv2+.
19273         * modules/areadlink-with-size (License): Likewise.
19274
19275 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
19276             Bruno Haible  <bruno@clisp.org>
19277
19278         *printf: Fix memory leak.
19279         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
19280         * lib/vfprintf.c (vfprintf): Likewise.
19281         * lib/dprintf.c (dprintf): Likewise.
19282         * lib/vdprintf.c (vdprintf): Likewise.
19283
19284 2009-12-14  Eric Blake  <ebb9@byu.net>
19285
19286         accept4: adjust module dependencies
19287         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
19288
19289         utimens: one more try at avoiding compiler warning
19290         * lib/utimens.c (lutimens): Lower scope of result.
19291
19292 2009-12-13  Bruno Haible  <bruno@clisp.org>
19293
19294         Move the malloc checking from module 'list' to new module 'xlist'.
19295         * modules/xlist: New file.
19296         * lib/gl_xlist.h: New file.
19297         * lib/gl_xlist.c: New file.
19298         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
19299         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
19300         gl_list_add_last, gl_list_add_before, gl_list_add_after,
19301         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
19302         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
19303         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
19304         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
19305         gl_sortedlist_nx_add): New declarations.
19306         (struct gl_list_implementation): Rename and change methods accordingly.
19307         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
19308         (gl_list_nx_create): Renamed from gl_list_create.
19309         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
19310         (gl_list_nx_set_at): Renamed from gl_list_set_at.
19311         (gl_list_nx_add_first): Renamed from gl_list_add_first.
19312         (gl_list_nx_add_last): Renamed from gl_list_add_last.
19313         (gl_list_nx_add_before): Renamed from gl_list_add_before.
19314         (gl_list_nx_add_after): Renamed from gl_list_add_after.
19315         (gl_list_nx_add_at): Renamed from gl_list_add_at.
19316         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
19317         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
19318         gl_list_create_empty.
19319         (gl_list_nx_create): Renamed from gl_list_create.
19320         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
19321         (gl_list_nx_set_at): Renamed from gl_list_set_at.
19322         (gl_list_nx_add_first): Renamed from gl_list_add_first.
19323         (gl_list_nx_add_last): Renamed from gl_list_add_last.
19324         (gl_list_nx_add_before): Renamed from gl_list_add_before.
19325         (gl_list_nx_add_after): Renamed from gl_list_add_after.
19326         (gl_list_nx_add_at): Renamed from gl_list_add_at.
19327         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
19328         * lib/gl_array_list.c: Don't include xalloc.h.
19329         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
19330         NULL upon out-of-memory.
19331         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
19332         out-of-memory.
19333         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
19334         Change return type to 'int'.
19335         (gl_array_nx_set_at): Renamed from gl_array_set_at.
19336         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
19337         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
19338         upon out-of-memory.
19339         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
19340         upon out-of-memory.
19341         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
19342         upon out-of-memory.
19343         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
19344         upon out-of-memory.
19345         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
19346         out-of-memory.
19347         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
19348         Update.
19349         (gl_array_list_implementation): Update.
19350         * lib/gl_carray_list.c: Don't include xalloc.h.
19351         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
19352         Return NULL upon out-of-memory.
19353         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
19354         out-of-memory.
19355         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
19356         Change return type to 'int'.
19357         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
19358         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
19359         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
19360         upon out-of-memory.
19361         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
19362         upon out-of-memory.
19363         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
19364         out-of-memory.
19365         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
19366         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
19367         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
19368         Update.
19369         (gl_carray_list_implementation): Update.
19370         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
19371         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
19372         gl_linked_create_empty. Return NULL upon out-of-memory.
19373         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
19374         out-of-memory.
19375         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
19376         Change return type to 'int'. Return -1 upon out-of-memory.
19377         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
19378         out-of-memory.
19379         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
19380         upon out-of-memory.
19381         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
19382         upon out-of-memory.
19383         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
19384         NULL upon out-of-memory.
19385         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
19386         upon out-of-memory.
19387         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
19388         out-of-memory.
19389         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
19390         Update.
19391         * lib/gl_linked_list.c: Don't include xalloc.h.
19392         (gl_linked_list_implementation): Update.
19393         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
19394         (add_to_bucket): Change return type to 'int'.
19395         (gl_linkedhash_list_implementation): Update.
19396         * lib/gl_anytree_list1.h (free_subtree): New function.
19397         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
19398         gl_tree_create_empty. Return NULL upon out-of-memory.
19399         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
19400         Change return type to 'int'. Return -1 upon out-of-memory.
19401         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
19402         out-of-memory.
19403         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
19404         (gl_tree_remove_node): New function, moved here from
19405         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
19406         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
19407         Update.
19408         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
19409         malloc, not xmalloc. Return NULL upon out-of-memory.
19410         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
19411         out-of-memory.
19412         (gl_tree_remove_node_from_tree): New function, extracted from
19413         gl_tree_remove_node.
19414         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
19415         upon out-of-memory.
19416         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
19417         out-of-memory.
19418         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
19419         upon out-of-memory.
19420         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
19421         upon out-of-memory.
19422         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
19423         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
19424         not xmalloc. Return NULL upon out-of-memory.
19425         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
19426         out-of-memory.
19427         (gl_tree_remove_node_from_tree): New function, extracted from
19428         gl_tree_remove_node.
19429         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
19430         upon out-of-memory.
19431         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
19432         out-of-memory.
19433         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
19434         upon out-of-memory.
19435         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
19436         upon out-of-memory.
19437         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
19438         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
19439         gl_anytree_list1.h before gl_anyavltree_list2.h.
19440         (gl_avltree_list_implementation): Update.
19441         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
19442         gl_anytree_list1.h before gl_anyavltree_list2.h.
19443         (gl_rbtree_list_implementation): Update.
19444         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
19445         Change return type to 'int'. Return -1 upon out-of-memory. Use
19446         __builtin_expect.
19447         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
19448         (gl_avltreehash_list_implementation): Update.
19449         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
19450         (gl_rbtreehash_list_implementation): Update.
19451         * modules/array-list (Depends-on): Remove xalloc.
19452         * modules/carray-list (Depends-on): Likewise.
19453         * modules/linked-list (Depends-on): Likewise.
19454         * modules/linkedhash-list (Depends-on): Likewise.
19455         * modules/avltree-list (Depends-on): Likewise.
19456         * modules/rbtree-list (Depends-on): Likewise.
19457         * modules/avltreehash-list (Depends-on): Likewise.
19458         * modules/rbtreehash-list (Depends-on): Likewise.
19459
19460         * modules/xsublist: New file.
19461         * lib/gl_xsublist.h: New file.
19462         * lib/gl_xsublist.c: New file.
19463         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
19464         (gl_sublist_nx_create): New declaration.
19465         * lib/gl_sublist.c: Don't include xalloc.h.
19466         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
19467         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
19468         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
19469         Change return type to 'int'. Return -1 upon out-of-memory.
19470         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
19471         upon out-of-memory.
19472         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
19473         NULL upon out-of-memory.
19474         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
19475         upon out-of-memory.
19476         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
19477         NULL upon out-of-memory.
19478         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
19479         NULL upon out-of-memory.
19480         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
19481         upon out-of-memory.
19482         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
19483         (gl_sublist_list_implementation): Update.
19484         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
19485         upon out-of-memory.
19486         * modules/sublist (Depends-on): Remove xalloc.
19487
19488         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
19489         * tests/test-carray_list.c: Likewise.
19490         * tests/test-linked_list.c: Likewise.
19491         * tests/test-linkedhash_list.c: Likewise.
19492         * tests/test-avltree_list.c: Likewise.
19493         * tests/test-rbtree_list.c: Likewise.
19494         * tests/test-avltreehash_list.c: Likewise.
19495         * tests/test-rbtreehash_list.c: Likewise.
19496         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
19497         * modules/carray-list-tests (Makefile.am): Likewise.
19498         * modules/linked-list-tests (Makefile.am): Likewise.
19499         * modules/linkedhash-list-tests (Makefile.am): Likewise.
19500         * modules/avltree-list-tests (Makefile.am): Likewise.
19501         * modules/rbtree-list-tests (Makefile.am): Likewise.
19502         * modules/avltreehash-list-tests (Makefile.am): Likewise.
19503         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
19504
19505         * NEWS: Mention the changes.
19506
19507         * lib/clean-temp.c: Include gl_xlist.h.
19508         * modules/clean-temp (Depends-on): Add xlist.
19509
19510         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
19511         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
19512
19513         * tests/test-array_oset.c: Include gl_xlist.h.
19514         * modules/array-oset-tests (Depends-on): Add xlist.
19515
19516         Reported by José E. Marchesi <jemarch@gnu.org>.
19517
19518 2009-12-13  Bruno Haible  <bruno@clisp.org>
19519
19520         Move the malloc checking from module 'oset' to new module 'xoset'.
19521         * modules/xoset: New file.
19522         * lib/gl_xoset.h: New file.
19523         * lib/gl_xoset.c: New file.
19524         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
19525         declarations.
19526         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
19527         (struct gl_oset_implementation): Rename and change methods accordingly.
19528         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
19529         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
19530         'int'. Mark as __warn_unused_result__.
19531         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
19532         gl_oset_create_empty.
19533         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
19534         'int'.
19535         * lib/gl_array_oset.c: Don't include xalloc.h.
19536         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
19537         malloc, not xmalloc.
19538         (grow): Change return type to 'int'. Don't call xalloc_die.
19539         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
19540         to 'int'.
19541         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
19542         'int'.
19543         (gl_array_oset_implementation): Update.
19544         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
19545         gl_tree_create_empty.
19546         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
19547         'int'.
19548         * lib/gl_avltree_oset.c: Don't include xalloc.h.
19549         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
19550         xmalloc.
19551         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
19552         not xmalloc.
19553         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
19554         xmalloc.
19555         (gl_avltree_oset_implementation): Update.
19556         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
19557         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
19558         xmalloc.
19559         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
19560         not xmalloc.
19561         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
19562         xmalloc.
19563         (gl_rbtree_oset_implementation): Update.
19564         * modules/array-oset (Depends-on): Remove xalloc.
19565         * modules/avltree-oset (Depends-on): Likewise.
19566         * modules/rbtree-oset (Depends-on): Likewise.
19567         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
19568         * tests/test-avltree_oset.c: Likewise.
19569         * tests/test-rbtree_oset.c: Likewise.
19570         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
19571         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
19572         * modules/rbtree-oset-tests (Makefile.am): Likewise.
19573         * NEWS: Mention the change.
19574
19575 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
19576
19577         maint.mk: allow a project to override release-prep commands
19578         * top/maint.mk (alpha, beta, stable): Move release-preparatory
19579         commands into a new rule.
19580         (release-prep): New rule.
19581         (release-prep-hook): New overridable variable.
19582
19583 2009-12-13  Bruno Haible  <bruno@clisp.org>
19584
19585         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
19586
19587 2009-12-13  Jim Meyering  <meyering@redhat.com>
19588
19589         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
19590         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
19591
19592 2009-12-12  Bruno Haible  <bruno@clisp.org>
19593
19594         duplocale: Tweak.
19595         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
19596
19597 2009-12-12  Karl Berry  <karl@gnu.org>
19598
19599         * config/srclist.txt (strtoll.c): tab changes, no more sync.
19600
19601 2009-12-12  Bruno Haible  <bruno@clisp.org>
19602
19603         * m4/po.m4: Undo incorrect untabification.
19604
19605 2009-12-12  Bruno Haible  <bruno@clisp.org>
19606
19607         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
19608         * modules/c-strtod (Depends-on): Add locale.
19609         * modules/c-strtold (Depends-on): Likewise.
19610
19611 2009-12-12  Bruno Haible  <bruno@clisp.org>
19612
19613         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
19614
19615 2009-12-11  Eric Blake  <ebb9@byu.net>
19616
19617         setenv: relax requirement in light of POSIX ruling
19618         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
19619         not NULL.
19620         * tests/test-setenv.c (main): Relax test.
19621         * tests/test-unsetenv.c (main): Likewise.
19622         * doc/posix-functions/setenv.texi (setenv): Document this.
19623         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
19624
19625 2009-12-11  Bruno Haible  <bruno@clisp.org>
19626
19627         New module 'fd-safer-flag'.
19628         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
19629         * lib/dup-safer.c (dup_safer_flag): Remove function.
19630         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
19631         * lib/fd-safer.c (fd_safer_flag): Remove function.
19632         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
19633         * modules/cloexec (configure.ac): Drop indicator macro.
19634         * modules/fd-safer-flag: New file.
19635         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
19636         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
19637         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
19638
19639 2009-12-11  Bruno Haible  <bruno@clisp.org>
19640
19641         Tests for module 'nl_langinfo'.
19642         * modules/nl_langinfo-tests: New file.
19643         * tests/test-nl_langinfo.sh: New file.
19644         * tests/test-nl_langinfo.c: New file.
19645
19646         New module 'nl_langinfo'.
19647         * lib/nl_langinfo.c: New file.
19648         * m4/nl_langinfo.m4: New file.
19649         * modules/nl_langinfo: New file.
19650         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
19651
19652 2009-12-11  Bruno Haible  <bruno@clisp.org>
19653
19654         Tests for module 'langinfo'.
19655         * modules/langinfo-tests: New file.
19656         * tests/test-langinfo.c: New file.
19657
19658         New module 'langinfo'.
19659         * lib/langinfo.in.h: New file.
19660         * m4/langinfo_h.m4: New file.
19661         * modules/langinfo: New file.
19662         * doc/posix-headers/langinfo.texi: Mention the new module.
19663
19664 2009-12-11  Bruno Haible  <bruno@clisp.org>
19665
19666         * lib/config.charset: Untabify.
19667
19668 2009-12-11  Bruno Haible  <bruno@clisp.org>
19669
19670         * modules/unistd-safer (configure.ac): Drop indicator macro.
19671
19672 2009-12-11  Bruno Haible  <bruno@clisp.org>
19673
19674         Move pipe2-safer code to its own file.
19675         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
19676         * lib/pipe-safer.c (pipe2_safer): Remove function.
19677         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
19678         (Makefile.am): Add it to lib_SOURCES.
19679
19680 2009-12-10  Bruno Haible  <bruno@clisp.org>
19681
19682         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
19683
19684 2009-12-10  Bruno Haible  <bruno@clisp.org>
19685
19686         Declare which arguments expect non-NULL values, for GCC and clang.
19687         * build-aux/arg-nonnull.h: New file.
19688         * modules/arg-nonnull: New file.
19689         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
19690         (inet_ntop, inet_pton): Use it.
19691         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
19692         (closedir, dirfd, opendir, scandir, alphasort): Use it.
19693         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
19694         (open, openat): Use it.
19695         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
19696         (fnmatch): Use it.
19697         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
19698         (getopt, getopt_long, getopt_long_only): Use it.
19699         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
19700         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
19701         Use it.
19702         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
19703         (iconv_open): Use it.
19704         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
19705         (strtoimax, strtoumax): Use it.
19706         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
19707         (duplocale): Use it.
19708         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
19709         (frexp, frexpl): Use it.
19710         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
19711         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
19712         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
19713         (tsearch, tfind, tdelete, twalk): Use it.
19714         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
19715         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
19716         sigpending): Use it.
19717         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
19718         (posix_spawn, posix_spawnp, posix_spawnattr_init,
19719         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
19720         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
19721         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
19722         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
19723         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
19724         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
19725         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
19726         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
19727         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
19728         Use it.
19729         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
19730         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
19731         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
19732         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
19733         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
19734         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
19735         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
19736         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
19737         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
19738         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
19739         strtoull, unsetenv): Use it.
19740         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
19741         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
19742         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
19743         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
19744         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
19745         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
19746         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
19747         (strcasecmp, strncasecmp): Use it.
19748         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
19749         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
19750         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
19751         rpl_setsockopt): Use it.
19752         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
19753         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
19754         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
19755         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
19756         (gettimeofday): Use it.
19757         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
19758         (times): Use it.
19759         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
19760         (uname): Use it.
19761         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
19762         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
19763         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
19764         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
19765         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
19766         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
19767         unlinkat, write): Use it.
19768         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
19769         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
19770         * lib/argv-iter.h: Include arg-nonnull.h.
19771         (_ATTRIBUTE_NONNULL_): Remove macro.
19772         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
19773         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
19774         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
19775         optimization.
19776         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
19777         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
19778         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
19779         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
19780         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
19781         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
19782         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
19783         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
19784         * modules/arpa_inet (Depends-on): Add arg-nonnull.
19785         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
19786         * modules/dirent (Depends-on): Add arg-nonnull.
19787         (Makefile.am): Insert arg-nonnull.h into dirent.h.
19788         * modules/fcntl-h (Depends-on): Add arg-nonnull.
19789         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
19790         * modules/fnmatch (Depends-on): Add arg-nonnull.
19791         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
19792         * modules/getopt-posix (Depends-on): Add arg-nonnull.
19793         (Makefile.am): Insert arg-nonnull.h into getopt.h.
19794         * modules/glob (Depends-on): Add arg-nonnull.
19795         (Makefile.am): Insert arg-nonnull.h into glob.h.
19796         * modules/iconv_open (Depends-on): Add arg-nonnull.
19797         (Makefile.am): Insert arg-nonnull.h into iconv.h.
19798         * modules/inttypes (Depends-on): Add arg-nonnull.
19799         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
19800         * modules/locale (Depends-on): Add arg-nonnull.
19801         (Makefile.am): Insert arg-nonnull.h into locale.h.
19802         * modules/math (Depends-on): Add arg-nonnull.
19803         (Makefile.am): Insert arg-nonnull.h into math.h.
19804         * modules/netdb (Depends-on): Add arg-nonnull.
19805         (Makefile.am): Insert arg-nonnull.h into netdb.h.
19806         * modules/search (Depends-on): Add arg-nonnull.
19807         (Makefile.am): Insert arg-nonnull.h into search.h.
19808         * modules/signal (Depends-on): Add arg-nonnull.
19809         (Makefile.am): Insert arg-nonnull.h into signal.h.
19810         * modules/spawn (Depends-on): Add arg-nonnull.
19811         (Makefile.am): Insert arg-nonnull.h into spawn.h.
19812         * modules/stdio (Depends-on): Add arg-nonnull.
19813         (Makefile.am): Insert arg-nonnull.h into stdio.h.
19814         * modules/stdlib (Depends-on): Add arg-nonnull.
19815         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
19816         * modules/string (Depends-on): Add arg-nonnull.
19817         (Makefile.am): Insert arg-nonnull.h into string.h.
19818         * modules/strings (Depends-on): Add arg-nonnull.
19819         (Makefile.am): Insert arg-nonnull.h into strings.h.
19820         * modules/sys_socket (Depends-on): Add arg-nonnull.
19821         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
19822         * modules/sys_stat (Depends-on): Add arg-nonnull.
19823         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
19824         * modules/sys_time (Depends-on): Add arg-nonnull.
19825         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
19826         * modules/sys_times (Depends-on): Add arg-nonnull.
19827         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
19828         * modules/sys_utsname (Depends-on): Add arg-nonnull.
19829         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
19830         * modules/time (Depends-on): Add arg-nonnull.
19831         (Makefile.am): Insert arg-nonnull.h into time.h.
19832         * modules/unistd (Depends-on): Add arg-nonnull.
19833         (Makefile.am): Insert arg-nonnull.h into unistd.h.
19834         * modules/wchar (Depends-on): Add arg-nonnull.
19835         (Makefile.am): Insert arg-nonnull.h into wchar.h.
19836         * modules/argv-iter (Depends-on): Add arg-nonnull.
19837         * tests/test-canonicalize.c (null_ptr): New function.
19838         (main): Use it.
19839         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
19840         (main): Use it.
19841         * tests/test-memmem.c (null_ptr): New function.
19842         (main): Use it.
19843         Reported by Jim Meyering.
19844
19845 2009-12-10  Bruno Haible  <bruno@clisp.org>
19846
19847         Use spaces for indentation, not tabs.
19848         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
19849         * m4/*.m4: Untabify.
19850         * build-aux/*.h: Untabify.
19851         * tests/**/*.[hc]: Untabify.
19852         * README: New section "Indent with spaces, not TABs", based on
19853         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
19854         * NEWS: Mention the change.
19855
19856 2009-12-10  Bruno Haible  <bruno@clisp.org>
19857
19858         pty test: Fix link error.
19859         * modules/pty-tests (Makefile.am): Add the default LDADD value to
19860         test_pty_LDADD.
19861
19862 2009-12-07  Simon Josefsson  <simon@josefsson.org>
19863
19864         * modules/pty: New file.
19865         * modules/pty-tests: New file.
19866         * m4/pty.m4: New file.
19867         * tests/test-pty.c: New file.
19868         * doc/glibc-headers/pty.texi: Modified.
19869         * doc/glibc-functions/forkpty.texi: Modified.
19870         * doc/glibc-functions/openpty.texi: Modified.
19871
19872 2009-12-10  Bruno Haible  <bruno@clisp.org>
19873
19874         Avoid syntax error in C++ mode.
19875         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
19876
19877 2009-12-10  Bruno Haible  <bruno@clisp.org>
19878
19879         Use sed with option -e.
19880         * gnulib-tool (func_version, func_emit_copyright_notice,
19881         func_emit_initmacro_end, func_import, func_create_testdir): Pass
19882         option -e to sed.
19883         * modules/link-warning (Makefile.am): Likewise.
19884
19885 2009-12-10  Jim Meyering  <meyering@redhat.com>
19886
19887         mgetgroups: do not write bytes beyond end of malloc'd buffer
19888         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
19889         username, we call getgroups with a one-element-shorter buffer,
19890         but still told it the length was original, max_n_groups.
19891
19892 2009-12-09  Eric Blake  <ebb9@byu.net>
19893
19894         cloexec: relax license
19895         * modules/cloexec (Maintainer): Add myself.
19896         (License): Use LGPL, not GPL.
19897
19898         link-warning: optimize generation
19899         * modules/link-warning (Makefile.am): Reduce process usage.
19900
19901 2009-12-09  Bruno Haible  <bruno@clisp.org>
19902
19903         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
19904         workaround was added on 2009-11-17.
19905
19906 2009-12-09  Jim Meyering  <meyering@redhat.com>
19907             Bruno Haible  <bruno@clisp.org>
19908
19909         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
19910         * modules/link-warning (Makefile.am): Make the comment-removing sed
19911         command more robust in the face of bootstrap-prepended comment lines.
19912
19913 2009-12-09  Bruno Haible  <bruno@clisp.org>
19914
19915         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
19916         most one group.
19917
19918 2009-12-09  Simon Josefsson <simon@josefsson.org>
19919             Bruno Haible  <bruno@clisp.org>
19920
19921         * build-aux/link-warning.h: Add copyright notice.
19922         * modules/link-warning (Makefile.am): Generate link-warning.h from
19923         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
19924         * NEWS: Mention change in link-warning module.
19925         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
19926         * modules/dirent (Makefile.am): Add dependency to dirent.h.
19927         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
19928         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
19929         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
19930         * modules/math (Makefile.am): Add dependency to math.h.
19931         * modules/search (Makefile.am): Add dependency to search.h.
19932         * modules/signal (Makefile.am): Add dependency to signal.h.
19933         * modules/spawn (Makefile.am): Add dependency to spawn.h.
19934         * modules/stdio (Makefile.am): Add dependency to stdio.h.
19935         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
19936         * modules/string (Makefile.am): Add dependency to string.h.
19937         * modules/strings (Makefile.am): Add dependency to strings.h.
19938         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
19939         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
19940         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
19941         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
19942         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
19943         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
19944         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
19945         * modules/unistd (Makefile.am): Add dependency to unistd.h.
19946         * modules/wchar (Makefile.am): Add dependency to wchar.h.
19947
19948 2009-12-09  Bruno Haible  <bruno@clisp.org>
19949
19950         fchdir: Optimize away rpl_fstat when possible.
19951         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
19952         REPLACE_OPEN_DIRECTORY.
19953         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
19954
19955 2009-12-09  Bruno Haible  <bruno@clisp.org>
19956
19957         * lib/fchdir.c: Update comment.
19958
19959 2009-12-09  Bruno Haible  <bruno@clisp.org>
19960
19961         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
19962
19963 2009-12-08  Eric Blake  <ebb9@byu.net>
19964
19965         fchdir: avoid memory leak on re-registration.
19966         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
19967
19968 2009-12-08  Jim Meyering  <meyering@redhat.com>
19969
19970         init.sh: avoid Solaris 10 /bin/sh portability problem
19971         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
19972         sourced script:
19973           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
19974           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
19975           bar
19976         tests/init.sh relied on that, accepting a --set-path=DIR argument,
19977         and two tests used that idiom.
19978         * tests/init.sh: Update suggested usage comments.
19979         (path_prepend_): New function, to be used in place
19980         of the --src-path=DIR option.
19981         (setup_): Move PATH-prepending code into path_prepend_.
19982         * tests/test-pread.sh: Adapt to new usage.
19983         * tests/test-xalloc-die.sh: Likewise.
19984
19985 2009-12-08  Simon Josefsson  <simon@josefsson.org>
19986
19987         * doc/gnulib.texi (Glibc pty.h): Add.
19988         * doc/glibc-functions/forkpty.texi: Add.
19989         * doc/glibc-functions/openpty.texi: Add.
19990         Suggested by Bruno Haible.
19991
19992 2009-12-08  Eric Blake  <ebb9@byu.net>
19993
19994         fchdir: fix logic bugs
19995         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
19996         * tests/test-fchdir.c (main): Enhance test.
19997         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
19998         is in use.
19999
20000         dup2: fix logic bugs
20001         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
20002         REPLACE_DUP2 to decide when rpl_dup2 is needed.
20003         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
20004         exists.
20005         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
20006
20007 2009-12-07  Eric Blake  <ebb9@byu.net>
20008
20009         unlink: fix m4 detection
20010         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
20011
20012         unistd-safer: add unit test
20013         * modules/unistd-safer-tests: New file.
20014         * tests/test-dup-safer.c: Likewise.
20015         * tests/test-cloexec.c (setmode): Avoid compiler warning.
20016         * tests/test-dup2.c (setmode): Likewise.
20017         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
20018
20019         cloexec: preserve text vs. binary across dup_cloexec
20020         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
20021         mode.
20022         * modules/dup2-tests (Depends-on): Add binary-io.
20023         * modules/cloexec-tests (Depends-on): Likewise.
20024         * tests/test-dup2.c (setmode, is_mode): New helpers.
20025         (main): Add tests that translation mode is preserved.
20026         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
20027         Reported by Bruno Haible.
20028
20029         mgetgroups: reduce duplicate listings
20030         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
20031         resulting array.
20032         * tests/test-chown.h (test_chown): Simplify client.
20033         * tests/test-lchown.h (test_lchown): Likewise.
20034
20035 2009-12-06  Bruno Haible  <bruno@clisp.org>
20036
20037         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
20038         value.
20039
20040 2009-12-06  Bruno Haible  <bruno@clisp.org>
20041
20042         * lib/progname.c: Include stdio.h, stdlib.h.
20043         (set_program_name): Reject a NULL argument.
20044
20045 2009-12-05  Eric Blake  <ebb9@byu.net>
20046
20047         pipe2-safer: new module
20048         * modules/pipe2-safer: New file.
20049         * lib/unistd-safer.h (pipe2_safer): New prototype.
20050         * lib/unistd--.h (pipe2): New wrapper.
20051         * lib/pipe-safer.c (pipe2_safer): New function.
20052         * modules/pipe (Depends-on): Add pipe2-safer.
20053         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
20054
20055         stdlib-safer: preserve cloexec flag for mkostemp[s]
20056         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
20057         fd_safer_flag.
20058
20059         unistd-safer: allow preservation of cloexec status via flag
20060         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
20061         prototypes.
20062         * lib/dup-safer.c (dup_safer_flag): New function.
20063         * lib/fd-safer.c (fd_safer_flag): Likewise.
20064         * modules/cloexec (configure.ac): Set witness.
20065
20066         test-dup2: enhance test
20067         * modules/dup2-tests (Depends-on): Add cloexec.
20068         * tests/test-dup2.c (main): Enhance test.
20069
20070         cloexec: add dup_cloexec
20071         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
20072         header and comments.
20073         * lib/cloexec.c (set_cloexec_flag): Add comments.
20074         (dup_cloexec): New function, with mingw implementation borrowed
20075         from...
20076         * lib/w32spawn.h (dup_noinherit): ...here.
20077         * modules/execute (Depends-on): Add cloexec.
20078         * modules/pipe (Depends-on): Likewise.
20079         * modules/cloexec (Depends-on): Add dup2.
20080         * modules/cloexec-tests (Files): New file.
20081         * tests/test-cloexec.c: Likewise.
20082
20083         test-xalloc-die: fix test for mingw
20084         * modules/xalloc-die-tests (Files): Add tests/init.sh.
20085         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
20086         directory and .exe suffix off argv[0] output.
20087
20088         test-fseeko: fix test for mingw
20089         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
20090         than undefining fseek, so test will pass on mingw.
20091
20092 2009-12-05  Bruno Haible  <bruno@clisp.org>
20093
20094         * lib/progname.h (set_program_name): Clarify specification.
20095         * lib/progname.c (set_program_name): Likewise.
20096         Reported by Jim Meyering.
20097
20098 2009-12-05  Jim Meyering  <meyering@redhat.com>
20099
20100         maint.mk: backslash-escape parens in default regexp
20101         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
20102         backslash-escape the literal parentheses.
20103
20104         maint.mk: news-date-check: use grep -E
20105         * top/maint.mk (today): Define a Make variable, not a...
20106         (news-date-check): ...shell variable.
20107         (news-date-regexp): Use the Make variable.
20108         Use grep's -E option.  Change the failing diagnostic to mention
20109         the variable, $(news-date-regexp).
20110
20111 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
20112
20113         maintainer-makefile: allow customization of NEWS entry format
20114         * top/maint.mk (news-date-regexp): New overridable variable.
20115         (news-date-check): Use it.
20116
20117 2009-12-04  Eric Blake  <ebb9@byu.net>
20118
20119         mgetgroups: add xgetgroups, and avoid ENOSYS failures
20120         * lib/mgetgroups.h (xgetgroups): New prototype.
20121         * lib/mgetgroups.c (xgetgroups): New wrapper.
20122         (mgetgroups): Handle ENOSYS.
20123         * modules/mgetgroups (Depends-on): Add realloc.
20124         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
20125
20126         mgetgroups: avoid argument promotion issues with -1
20127         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
20128         for invalid gid_t.
20129         * tests/test-chown.h (getegid, test_chown): Likewise.
20130         * tests/test-lchown.h (getegid, test_lchown): Likewise.
20131
20132 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
20133
20134         exclude: Fix header file problems.
20135         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
20136
20137 2009-12-01  Jim Meyering  <meyering@redhat.com>
20138
20139         fts: fts_open: do not let an empty string cause immediate failure
20140         This is required in support of GNU rm, for which the command
20141         "rm A '' B" must process and remove both A and B, in spite of
20142         the empty string argument.
20143         * lib/fts.c (fts_open): Do not let the presence of an empty string
20144         cause fts_open to fail immediately.  Most fts-using tools must be
20145         able to process all arguments, in order, and can be expected to
20146         diagnose such arguments themselves.
20147
20148 2009-11-30  Eric Blake  <ebb9@byu.net>
20149
20150         utimens: fix compilation error
20151         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
20152         Declare variable at right scope.
20153
20154 2009-11-29  Jim Meyering  <meyering@redhat.com>
20155
20156         bootstrap: handle perl-5.11's changed --version output
20157         * build-aux/bootstrap (get_version): Handle perl separately,
20158         since perl-5.11's --version output is different.
20159
20160 2009-11-28  Jim Meyering  <meyering@redhat.com>
20161
20162         userspec: depend on the inttostr module, too
20163         * modules/userspec (Depends-on): Add inttostr.
20164
20165         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
20166         * lib/userspec.c (parse_with_separator): Do not accept a user ID
20167         number of MAXUID when it evaluates to (uid_t) -1.
20168         Likewise for group ID.  Reported by Matt McCutchen in
20169         <http://savannah.gnu.org/bugs/?28113>
20170
20171         userspec: reformat to use spaces, not TABs
20172         * lib/userspec.c: Expand TABs to spaces.
20173         Add Emacs' "indent-tabs-mode: nil" hint.
20174
20175 2009-11-27  Eric Blake  <ebb9@byu.net>
20176
20177         getopt-gnu: flush out another BSD bug
20178         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
20179         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
20180         flush out BSD bug.
20181         * tests/test-getopt.h (test_getopt): End lists with NULL.
20182         * tests/test-getopt_long.h (test_getopt_long): Likewise.
20183         (test_getopt_long_posix): Enhance test.
20184         * modules/getopt-posix-tests (Depends-on): Add stdbool.
20185         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
20186         getopt-gnu.
20187         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20188         Likewise.
20189
20190 2009-11-27  Simon Josefsson  <simon@josefsson.org>
20191
20192         * modules/idpriv-droptemp-tests (Notice): Fix text.
20193
20194 2009-11-27  Jim Meyering  <meyering@redhat.com>
20195
20196         test-xalloc-die: avoid spurious failure due to libtool argv difference
20197         In a libtool-enabled project, this test would fail due to a difference
20198         in the emitted program name, e.g.,
20199         -test-xalloc-die: memory exhausted
20200         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
20201         Use program to avoid that.
20202         * modules/xalloc-die-tests (Depends-on): Add progname.
20203         * tests/test-xalloc-die.c: Include progname.h".
20204         (program_name): Remove decl.
20205         (main): Call set_program_name.
20206         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
20207
20208 2009-11-26  Richard Jones  <rjones@redhat.com>
20209
20210         w32sock: leave win32 error in place.
20211         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
20212
20213 2009-11-26  Eric Blake  <ebb9@byu.net>
20214
20215         init.sh: suggest to use skip_ and fail_ functions in comments
20216         * tests/init.sh: Add a sentence.
20217
20218 2009-11-25  Bruno Haible  <bruno@clisp.org>
20219
20220         init.sh: add documentation in comments
20221         * tests/init.sh: Add some developer and user documentation.
20222
20223 2009-11-26  Jim Meyering  <meyering@redhat.com>
20224
20225         init.sh: accommodate even those who specify bogus srcdir manually
20226         * tests/init.sh: Normally, srcdir is guaranteed by automake and
20227         configure-time tests to be sanitized, so that there is no need to
20228         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
20229         (with no double quotes) suffices.  However, since tests may be
20230         invoked manually, and since you may explicitly set srcdir to the
20231         name of a directory containing spaces, do quote its uses here.
20232         * tests/test-pread.sh: Likewise.
20233         Suggested by Bruno Haible.
20234
20235         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
20236         * tests/test-pread.sh: Write no data into the pipe, because
20237         test-pread actually reads none.  This avoids a diagnostic,
20238         "bash: echo: write error: Broken pipe", that arises in the unusual
20239         event something is ignoring SIGPIPE, and might be interpreted
20240         as some sort of failure.  Reported by Bruno Haible.
20241
20242 2009-11-25  Jim Meyering  <meyering@redhat.com>
20243
20244         test-pread: cover failure with ESPIPE and EINVAL
20245         * tests/test-pread.c (main): Test for failure, too.
20246         * tests/test-pread.sh: Invoke with stdin on a pipe.
20247         Suggested by Eric Blake.
20248
20249         pread: improvement and fix
20250         * modules/pread (Depends-on): Depend on lseek, for portability to
20251         e.g., mingw.  Suggested by Eric Blake.
20252         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
20253
20254         unistd.in.h: correct declaration of pread
20255         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
20256         Reported by Richard W.M. Jones.
20257
20258         test-pread.sh: distribute the test script
20259         * modules/pread-tests (Files): Include test-pread.sh.
20260
20261         test-pread.sh: clean up
20262         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
20263         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
20264         That is unnecessary, since it's always ".".
20265         Suggestion from Eric Blake.
20266
20267         test-pread.sh: make executable
20268         * tests/test-pread.sh: Set executable bit.
20269         Reported by Eric Blake.
20270
20271         correct typo in test-pread.sh
20272         * tests/test-pread.sh: Add #! line.
20273
20274         test pread
20275         * tests/test-pread.c: New file.
20276         * tests/test-pread.sh: Likewise.
20277         * modules/pread-tests: Likewise.
20278
20279         pread: new module
20280         * modules/pread: New file.
20281         * lib/unistd.in.h (pread): Define/declare.
20282         * lib/pread.c (pread): New file.
20283         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
20284         * modules/unistd (Makefile.am): Substitute witnesses.
20285         * doc/posix-functions/pread.texi (pread): Update.
20286         * MODULES.html.sh: Add pread.
20287
20288 2009-11-25  Jim Meyering  <meyering@redhat.com>
20289
20290         tests/init.sh: new file to be used via most *.sh tests
20291         * tests/init.sh: New file.
20292
20293 2009-11-25  Eric Blake  <ebb9@byu.net>
20294
20295         utimens: work around older Linux failure with symlinks
20296         * lib/utimens.c (lutimensat_works_really): New variable.
20297         (fdutimens, lutimens): Use it to manage kernels that support
20298         nanosecond times on files, but not on symlinks.
20299         Reported by OndÅ™ej Vašík.
20300
20301         utimes: fix configure grammar
20302         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
20303
20304 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
20305
20306         regex: Fix fastmap for multibyte character ranges.
20307         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
20308         characters when a multibyte character range is included.
20309
20310 2009-11-22  Andy Wingo  <wingo@pobox.com>
20311
20312         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
20313         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
20314
20315 2009-11-24  Bruno Haible  <bruno@clisp.org>
20316
20317         doc: Most *_l functions exist in MacOS X 10.5.
20318         * doc/posix-functions/duplocale.texi: Update platforms list.
20319         * doc/posix-functions/freelocale.texi: Likewise.
20320         * doc/posix-functions/newlocale.texi: Likewise.
20321         * doc/posix-functions/uselocale.texi: Likewise.
20322         * doc/posix-functions/isalnum_l.texi: Likewise.
20323         * doc/posix-functions/isalpha_l.texi: Likewise.
20324         * doc/posix-functions/isblank_l.texi: Likewise.
20325         * doc/posix-functions/iscntrl_l.texi: Likewise.
20326         * doc/posix-functions/isdigit_l.texi: Likewise.
20327         * doc/posix-functions/isgraph_l.texi: Likewise.
20328         * doc/posix-functions/islower_l.texi: Likewise.
20329         * doc/posix-functions/isprint_l.texi: Likewise.
20330         * doc/posix-functions/ispunct_l.texi: Likewise.
20331         * doc/posix-functions/isspace_l.texi: Likewise.
20332         * doc/posix-functions/isupper_l.texi: Likewise.
20333         * doc/posix-functions/iswalnum_l.texi: Likewise.
20334         * doc/posix-functions/iswalpha_l.texi: Likewise.
20335         * doc/posix-functions/iswblank_l.texi: Likewise.
20336         * doc/posix-functions/iswcntrl_l.texi: Likewise.
20337         * doc/posix-functions/iswctype_l.texi: Likewise.
20338         * doc/posix-functions/iswdigit_l.texi: Likewise.
20339         * doc/posix-functions/iswgraph_l.texi: Likewise.
20340         * doc/posix-functions/iswlower_l.texi: Likewise.
20341         * doc/posix-functions/iswprint_l.texi: Likewise.
20342         * doc/posix-functions/iswpunct_l.texi: Likewise.
20343         * doc/posix-functions/iswspace_l.texi: Likewise.
20344         * doc/posix-functions/iswupper_l.texi: Likewise.
20345         * doc/posix-functions/iswxdigit_l.texi: Likewise.
20346         * doc/posix-functions/isxdigit_l.texi: Likewise.
20347         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
20348         * doc/posix-functions/strcasecmp_l.texi: Likewise.
20349         * doc/posix-functions/strcoll_l.texi: Likewise.
20350         * doc/posix-functions/strfmon_l.texi: Likewise.
20351         * doc/posix-functions/strftime_l.texi: Likewise.
20352         * doc/posix-functions/strncasecmp_l.texi: Likewise.
20353         * doc/posix-functions/strxfrm_l.texi: Likewise.
20354         * doc/posix-functions/tolower_l.texi: Likewise.
20355         * doc/posix-functions/toupper_l.texi: Likewise.
20356         * doc/posix-functions/towctrans_l.texi: Likewise.
20357         * doc/posix-functions/towlower_l.texi: Likewise.
20358         * doc/posix-functions/towupper_l.texi: Likewise.
20359         * doc/posix-functions/wcscoll_l.texi: Likewise.
20360         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
20361         * doc/posix-functions/wctrans_l.texi: Likewise.
20362         * doc/posix-functions/wctype_l.texi: Likewise.
20363         * doc/glibc-functions/strptime_l.texi: Likewise.
20364         * doc/glibc-functions/strtod_l.texi: Likewise.
20365         * doc/glibc-functions/strtof_l.texi: Likewise.
20366         * doc/glibc-functions/strtol_l.texi: Likewise.
20367         * doc/glibc-functions/strtold_l.texi: Likewise.
20368         * doc/glibc-functions/strtoll_l.texi: Likewise.
20369         * doc/glibc-functions/strtoul_l.texi: Likewise.
20370         * doc/glibc-functions/strtoull_l.texi: Likewise.
20371         * doc/glibc-functions/wcsftime_l.texi: Likewise.
20372         * doc/glibc-functions/wcstod_l.texi: Likewise.
20373         * doc/glibc-functions/wcstof_l.texi: Likewise.
20374         * doc/glibc-functions/wcstol_l.texi: Likewise.
20375         * doc/glibc-functions/wcstold_l.texi: Likewise.
20376         * doc/glibc-functions/wcstoll_l.texi: Likewise.
20377         * doc/glibc-functions/wcstoul_l.texi: Likewise.
20378         * doc/glibc-functions/wcstoull_l.texi: Likewise.
20379
20380 2009-11-24  Bruno Haible  <bruno@clisp.org>
20381
20382         duplocale: Fix logic bug.
20383         * lib/duplocale.c: Don't include <langinfo.h>.
20384         (_NL_LOCALE_NAME): Remove macro.
20385         (rpl_duplocale): Use setlocale instead of nl_langinfo.
20386         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
20387
20388 2009-11-23  Jim Meyering  <meyering@redhat.com>
20389
20390         test-update-copyright: don't hard-code /usr/bin/perl
20391         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
20392         perl to print the current year.  Gilles Espinasse reported that
20393         the replaced use of perl was hard-coded as /usr/bin/perl.
20394
20395 2009-11-23  Bruno Haible  <bruno@clisp.org>
20396
20397         duplocale: Add support for glibc 2.3.x.
20398         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
20399
20400 2009-11-22  Bruno Haible  <bruno@clisp.org>
20401
20402         vasnprintf: Tiny optimization.
20403         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
20404         MacOS X.
20405
20406 2009-11-22  Bruno Haible  <bruno@clisp.org>
20407
20408         Tests for module 'duplocale'.
20409         * modules/duplocale-tests: New file.
20410         * tests/test-duplocale.c: New file.
20411
20412         New module 'duplocale'.
20413         * m4/duplocale.m4: New file.
20414         * lib/locale.in.h (duplocale): New declaration.
20415         * lib/duplocale.c: New file.
20416         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
20417         gl_LOCALE_H_DEFAULTS): New macros.
20418         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
20419         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
20420         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
20421         REPLACE_DUPLOCALE.
20422         * modules/duplocale: New file.
20423         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
20424
20425 2009-11-22  Bruno Haible  <bruno@clisp.org>
20426
20427         * modules/locale-tests (configure.ac): Test for newlocale function.
20428         * tests/test-locale.c: When the system has extended locale functions,
20429         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
20430
20431         locale: Make locale_t available when possible.
20432         * lib/locale.in.h: Include <xlocale.h> when it exists.
20433         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
20434         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
20435         * modules/locale (Depends-on): Add extensions.
20436         (Makefile.am): Also substitute HAVE_XLOCALE_H.
20437         * doc/posix-headers/locale.texi: Document the problem with locale_t.
20438
20439 2009-11-22  Bruno Haible  <bruno@clisp.org>
20440
20441         Add comments.
20442         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
20443         invocation.
20444         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
20445         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
20446         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
20447
20448 2009-11-22  Bruno Haible  <bruno@clisp.org>
20449
20450         error: account for the possibility of freopen (stdout).
20451         * lib/error.c: Include <unistd.h>.
20452         (flush_stdout): New function, extracted from error and error_at_line.
20453         Determine stdout's fd dynamically.
20454         (error, error_at_line): Invoke flush_stdout.
20455         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
20456         * modules/error (Depends-on): Add unistd.
20457
20458 2009-11-22  Bruno Haible  <bruno@clisp.org>
20459
20460         diffseq: Add comment.
20461         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
20462
20463 2009-11-22  Jim Meyering  <meyering@redhat.com>
20464
20465         c-stack: avoid defining an unused static function
20466         * lib/c-stack.c (find_stack_direction): Do not define this function
20467         when it will not be used.
20468
20469         diffseq: avoid spurious gcc warnings
20470         * lib/diffseq.h (IF_LINT2): Define.
20471         (compareseq): Use it to initialize two members of "part".
20472         This avoids two used-uninitialized warnings.
20473
20474 2009-11-21  Jim Meyering  <meyering@redhat.com>
20475
20476         c-stack: avoid "ignoring return value of `write'" warning
20477         * lib/c-stack.c: Include "ignore-value.h".
20478         (die): Explicitly ignore each write return value.
20479         * modules/c-stack (Depends-on): Add ignore-value.
20480
20481 2009-11-21  Bruno Haible  <bruno@clisp.org>
20482
20483         diffseq: reduce scope of variable 'best'.
20484         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
20485         variable, earlier used for two different purposes.
20486
20487 2009-11-21  Jim Meyering  <meyering@redhat.com>
20488
20489         diffseq: remove useless assignment to "best"
20490         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
20491         assignment.  At that point "best" is already guaranteed to be zero.
20492
20493 2009-11-20  Eric Blake  <ebb9@byu.net>
20494
20495         build: mention ftp redirector in release announcements
20496         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
20497         values that used to come from cfg.mk; mention FTP redirect URL.
20498         * build-aux/announce-gen: Mention the mirror list.
20499         Suggested by Karl Berry.
20500
20501         nanosleep: improve port to mingw
20502         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
20503         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
20504         LIB_NANOSLEEP, but only when needed.
20505         * modules/select (Link): Document LIBSOCKET.
20506         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
20507         enough.
20508
20509         nanosleep: work around cygwin bug
20510         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
20511         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
20512         bug.
20513         (getnow): Delete, not needed.
20514         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
20515         LIB_CLOCK_GETTIME.
20516         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
20517         clock-time, gettime.
20518         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
20519         bug.
20520         * modules/nanosleep-tests: New test.
20521         * tests/test-nanosleep.c: New file.
20522
20523         sleep: work around cygwin bug
20524         * lib/sleep.c (rpl_sleep): Work around the bug.
20525         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
20526         (gl_PREREQ_SLEEP): Delete unused macro.
20527         * modules/sleep (Depends-on): Add verify.
20528         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
20529         * modules/unistd (Makefile.am): Substitute witness.
20530         * lib/unistd.in.h (sleep): Update prototype.
20531         * doc/posix-functions/sleep.texi (sleep): Document the bug.
20532         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
20533         * modules/sleep-tests (Depends-on): Check for alarm.
20534
20535 2009-11-20  Jim Meyering  <meyering@redhat.com>
20536
20537         maint.mk: improve sc_prohibit_magic_number_exit
20538         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
20539         so it does not match uses like System.exit(1).
20540         Add comments showing how to correct all offenders.
20541
20542 2009-11-19  Eric Blake  <ebb9@byu.net>
20543
20544         xalloc-die-tests: add missing library
20545         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
20546
20547         test-xvasprintf: silence compiler warnings
20548         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
20549         empty string from gcc.
20550
20551 2009-11-19  Jim Meyering  <meyering@redhat.com>
20552
20553         xfreopen: new module, from coreutils
20554         * modules/xfreopen: New module.
20555         * lib/xfreopen.c: New file.
20556         * lib/xfreopen.h: New file.
20557         * MODULES.html.sh (File stream based Input/Output"): Add it.
20558
20559 2009-11-19  Eric Blake  <ebb9@byu.net>
20560
20561         manywarnings: depend on warnings
20562         * modules/manywarnings (Depends-on): Add warnings.
20563
20564         build: avoid compiler warnings
20565         * lib/select.c (rpl_select): Delete unused variable.
20566         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
20567
20568 2009-11-18  Eric Blake  <ebb9@byu.net>
20569
20570         tests: avoid false negative with --with-packager
20571         * tests/test-version-etc.sh: Discard packager information.
20572         * tests/test-argp-version-etc-1.sh: Likewise.
20573         Reported by Mike Frysinger.
20574
20575         utimens: fix regression on Solaris
20576         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
20577         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
20578         can only change fd timestamps via futimesat.  Instead, use an
20579         additional witness macro to avoid BSD bug.
20580         Reported by Jim Meyering.
20581
20582 2009-11-17  Eric Blake  <ebb9@byu.net>
20583
20584         usleep: use it to simplify tests
20585         * modules/stat-time-tests (Depends-on): Add usleep.
20586         (configure.ac): Drop usleep check.
20587         * modules/chown-tests (Depends-on, configure.ac): Likewise.
20588         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
20589         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
20590         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
20591         * modules/openat-tests (Depends-on, configure.ac): Likewise.
20592         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
20593         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
20594         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
20595         Likewise.
20596         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
20597         * tests/test-lchown.h (nap): Likewise.
20598         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
20599         * tests/test-stat-time.c (nap): Likewise.
20600         * tests/test-utimens-common.h (nap): Update comments.
20601
20602         usleep: new module
20603         * modules/usleep: New file.
20604         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
20605         * lib/usleep.c (usleep): Likewise.
20606         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
20607         * modules/unistd (Makefile.am): Substitute witnesses.
20608         * lib/unistd.in.h (usleep): Add declaration.
20609         * doc/pastposix-functions/usleep.texi (usleep): Document this.
20610         * MODULES.html.sh (Date and time): Likewise.
20611         * modules/usleep-tests (Depends-on): New test.
20612         * tests/test-usleep.c: New file.
20613
20614         chown: work around OpenBSD bug
20615         * lib/chown.c (rpl_chown): Work around the bug.
20616         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
20617         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
20618         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
20619         * modules/chown (Depends-on): Add stdbool.
20620         * modules/lchown (Depends-on): Likewise.
20621         * doc/posix-functions/chown.texi (chown): Document the bug.
20622         * doc/posix-functions/lchown.texi (lchown): Likewise.
20623         * tests/test-lchown.h (test_chown): Relax test.
20624
20625         mkstemp: avoid conflict with C++ keyword template
20626         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
20627         * lib/mkostemp.c (mkostemp): Likewise.
20628         * lib/mkostemps.c (mkostemps): Likewise.
20629         * lib/mkstemp.c (mkstemp): Likewise.
20630         * lib/mkstemps.c (mkstemps): Likewise.
20631
20632         xalloc-die-tests: optimize
20633         * tests/test-xalloc-die.sh: Reduce number of processes.
20634
20635 2009-11-17  Simon Josefsson  <simon@josefsson.org>
20636
20637         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
20638         patch from ludo@gnu.org (Ludovic Courtès).
20639
20640 2009-11-17  Jim Meyering  <meyering@redhat.com>
20641
20642         version-etc: use proper license string
20643         * modules/version-etc (License): Use LGPL, not LGPLv3+.
20644         * modules/version-etc-fsf: Likewise.
20645
20646 2009-11-17  Simon Josefsson  <simon@josefsson.org>
20647
20648         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
20649         printed to stdout.  Deal with EOL differences.
20650
20651 2009-11-17  Eric Blake  <ebb9@byu.net>
20652
20653         unsetenv: work around Solaris bug
20654         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
20655         * lib/unsetenv.c (rpl_unsetenv): Work around it.
20656         Reported by Jim Meyering.
20657
20658         vasnprintf: avoid compiler warnings
20659         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
20660         variables.
20661         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
20662
20663 2009-11-17  Simon Josefsson  <simon@josefsson.org>
20664
20665         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
20666         settings since xalloc-die is no longer the self test,
20667         xalloc-die.sh is.
20668
20669 2009-11-17  Jim Meyering  <meyering@redhat.com>
20670
20671         test-xalloc-die.sh: make the code agree with the commit log
20672         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
20673         at the end, just in case you happen to have a test-xalloc-die
20674         program in some other PATH directory.
20675
20676         test-xalloc-die.sh: fix a portability bug
20677         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
20678         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
20679         Otherwise, argv[0] (as often seen in diagnostics) would be too
20680         system-dependent, sometimes with, and sometimes without the leading "./".
20681
20682         version-etc-fsf: relax license to LGPLv3+
20683         * modules/version-etc-fsf (License): Relax license.
20684
20685 2009-11-16  Eric Blake  <ebb9@byu.net>
20686
20687         xalloc-die-tests: avoid printing null pointer
20688         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
20689         shell script.
20690         * tests/test-xalloc-die.c (program_name): Declare.
20691         * tests/test-xalloc-die.sh (tmpfiles): New file.
20692
20693         setenv, unsetenv: work around various bugs
20694         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
20695         (setenv) [HAVE_SETENV]: Work around bugs.
20696         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
20697         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
20698         for bugs.
20699         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
20700         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
20701         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
20702         * modules/stdlib (Makefile.am): Update substitutions.
20703         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
20704         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
20705         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
20706         * modules/setenv-tests: New test.
20707         * modules/unsetenv-tests: Likewise.
20708         * tests/test-setenv.c: New file.
20709         * tests/test-unsetenv.c: Likewise.
20710
20711 2009-11-16  Jim Meyering  <meyering@redhat.com>
20712
20713         version-etc: relax license to LGPLv3+
20714         * modules/version-etc (License): Relax license.
20715
20716         better AC_REQUIRE expanded-before-required-warning avoidance
20717         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
20718         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
20719         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
20720         which is no longer needed.
20721
20722 2009-11-16  Eric Blake  <ebb9@byu.net>
20723
20724         test-freading: clean up temporary file
20725         * tests/test-freading.c (main): Remove file on success, and use
20726         ASSERT more liberally.
20727         Reported by Jim Meyering.
20728
20729 2009-11-16  Jim Meyering  <meyering@redhat.com>
20730
20731         avoid new AC_REQUIRE expanded-before-required warnings
20732         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
20733         merely using it.
20734         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
20735         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
20736
20737 2009-11-15  Simon Josefsson  <simon@josefsson.org>
20738
20739         * tests/test-xalloc-die.c: New file.
20740         * modules/xalloc-die-tests: New file.
20741         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
20742         XFAIL_TESTS so it can be appended by modules.
20743
20744 2009-11-15  Simon Josefsson  <simon@josefsson.org>
20745
20746         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
20747         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
20748
20749 2009-11-14  Eric Blake  <ebb9@byu.net>
20750
20751         fnmatch: avoid compiler warning
20752         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
20753         to silence compiler warning about mismatch signedness in ?:.
20754         Reported by Robert Millan.
20755
20756         intprops: add double-inclusion guard
20757         * lib/intprops.h: Allow idempotent includes.
20758         Suggested by Bruce Korb.
20759
20760         openat: detect Solaris fchownat bug
20761         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
20762         penalizing glibc chownat when only lchownat is broken.
20763         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
20764         trailing slash bugs.
20765         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
20766         * modules/openat-tests (Files): Include more files.
20767         (Depends-on): Add mgetgroups, sleep, stat-time.
20768         (configure.ac): Add additional checks.
20769         (Makefile.am): Build new test.
20770         * tests/test-fchownat.c: New file.
20771
20772         lchown: detect Solaris and FreeBSD bug
20773         * lib/lchown.c (rpl_lchown): Work around bug.
20774         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
20775         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
20776         * modules/unistd (Makefile.am): Populate it.
20777         * lib/unistd.in.h (lchown): Update declaration.
20778         * doc/posix-functions/lchown.texi (lchown): Document the bug.
20779         * modules/lchown-tests: New file.
20780         * tests/test-lchown.h (test_lchown): Likewise.
20781         * tests/test-lchown.c (main): Likewise.
20782
20783         chown: detect Solaris and FreeBSD bug
20784         * lib/chown.c (rpl_chown): Work around bug.
20785         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
20786         (gl_PREREQ_CHOWN): Delete.
20787         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
20788         * modules/unistd (Makefile.am): Populate it.
20789         * lib/unistd.in.h (chown): Update declaration.
20790         * lib/lchown.c (chown): Update client.
20791         * modules/lchown (Depends-on): Add lstat.
20792         * doc/posix-functions/chown.texi (chown): Document the bug.
20793         * doc/posix-functions/getgroups.texi (getgroups): Document
20794         getgroups pitfall.
20795         * modules/chown-tests: New file.
20796         * tests/test-chown.h (test_chown): Likewise.
20797         * tests/test-chown.c (main): Likewise.
20798
20799 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
20800
20801         gnulib-tool: correctly detect absence of m4 directories
20802         * gnulib-tool: Avoid extra newline on data passed to wc -l.
20803
20804 2009-11-14  Jim Meyering  <meyering@redhat.com>
20805
20806         maint.mk: Prohibit inclusion of "xalloc.h" without use.
20807         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
20808
20809 2009-11-14  John W. Eaton  <jwe@gnu.org>
20810
20811         strftime.h: wrap funtion declaration in extern "C" block
20812         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
20813
20814 2009-11-13  Eric Blake  <ebb9@byu.net>
20815
20816         getgroups: avoid compiler warning
20817         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
20818
20819         getgroups: work around FreeBSD bug
20820         * lib/getgroups.c (rpl_getgroups): Work around the bug.
20821         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
20822         * doc/posix-functions/getgroups.texi (getgroups): Document it.
20823         * tests/test-getgroups.c (main): Fix buffer overrun.
20824
20825         getgroups: avoid compilation failure
20826         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
20827         * modules/getgroups (Depends-on): Add stdint.
20828
20829 2009-11-13  Jim Meyering  <meyering@redhat.com>
20830
20831         test-getgroups: avoid compilation failure
20832         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
20833
20834 2009-11-13  Eric Blake  <ebb9@byu.net>
20835
20836         mgetgroups: new module, taken from coreutils
20837         * modules/mgetgroups: New file.
20838         * lib/mgetgroups.h: Likewise.
20839         * lib/mgetgroups.c (mgetgroups): Likewise.
20840         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
20841         * MODULES.html.sh (Users and groups): Mention it.
20842
20843         getgroups: don't expose GETGROUPS_T to user
20844         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
20845         an element at a time if GETGROUPS_T is wrong size.
20846         * lib/getugroups.h (getugroups): Change signature.
20847         * lib/unistd.in.h (getgroups): Likewise.
20848         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
20849         signature needs fixing.
20850         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
20851         AC_TYPE_GETGROUPS.
20852         * modules/group-member (Depends-on): Add getgroups.
20853         * lib/group-member.c (group_info, get_group_info): Use gid_t.
20854         (group_member): Rely on getgroups replacement.
20855         * lib/getugroups.c (getugroups): Use gid_t.
20856         * tests/test-getgroups.c (main): Likewise.
20857         * NEWS: Mention the signature change.
20858         * doc/posix-functions/getgroups.texi (getgroups): Mention the
20859         problem with signature.
20860         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
20861         GETGROUPS_T is still useful for setgroups.
20862
20863         getgroups, getugroups: provide stubs for mingw
20864         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
20865         * lib/getugroups.c (getugroups): Likewise.
20866         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
20867         function.  Modernize replacement scheme.
20868         (gl_PREREQ_GETGROUPS): Delete.
20869         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
20870         * modules/getgroups (configure.ac): Declare witness.
20871         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
20872         * modules/unistd (Depends-on): Substitute witness.
20873         * lib/unistd.in.h (getgroups): Declare replacement.
20874
20875         getgroups: avoid calling exit
20876         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
20877         drop xalloc.
20878         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
20879         dependencies.
20880         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
20881         exiting, in the rare case of malloc failure.
20882
20883         getgroups: fix logic error
20884         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
20885         has more than 20 groups.
20886         * modules/getgroups-tests: New test.
20887         * tests/test-getgroups.c: New file.
20888
20889 2009-11-13  Simon Josefsson  <simon@josefsson.org>
20890
20891         * tests/test-base64.c: Improve.
20892
20893 2009-11-13  Simon Josefsson  <simon@josefsson.org>
20894
20895         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
20896         Blake <ebb9@byu.net>.
20897
20898 2009-11-13  Simon Josefsson  <simon@josefsson.org>
20899
20900         * tests/test-xvasprintf.c: Add %s%s related checks.
20901
20902 2009-11-12  Eric Blake  <ebb9@byu.net>
20903
20904         version-etc: match standards.texi style
20905         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
20906         and use <> only for URLs.
20907
20908 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
20909
20910         fts: do not fail on a submount during traversal
20911         * lib/fts.c (fts_build): Read the stat info again after opening
20912         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
20913         Original report at http://bugzilla.redhat.com/501848.
20914
20915 2009-11-12  Jim Meyering  <meyering@redhat.com>
20916
20917         bootstrap: sync from coreutils
20918         * build-aux/bootstrap (bootstrap_epilogue): New function.
20919         Use git_modules_config in one more place.  This make bootstrap's
20920         --gnulib-srcdir option more useful for testing.
20921
20922         bootstrap: generalize autoheader check
20923         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
20924         AC_CONFIG_HEADERS.
20925
20926 2009-11-11  Eric Blake  <ebb9@byu.net>
20927
20928         mkfifoat: use new modules for Solaris and BSD bugs
20929         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
20930         * lib/mkfifoat.c (mknodat): Split...
20931         * lib/mknodat.c (mknodat): ...into new file.
20932         * modules/mkfifoat (Files): Ship new file.
20933         (Depends-on): Add mkfifo, mknod.
20934         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
20935         (Depends-on): Add symlink.
20936         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
20937         redundant with test_mkfifo.h.
20938         (do_mkfifoat, do_mknodat): New helpers.
20939
20940         mknod: new module
20941         * modules/mknod: New file.
20942         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
20943         * lib/mknod.c (mknod): Likewise.
20944         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
20945         defaults.
20946         * modules/sys_stat (Makefile.am): Substitute them.
20947         * lib/sys_stat.in.h (mknod): Declare replacement.
20948         * MODULES.html.sh (Support for systems lacking POSIX:2008):
20949         Document it.
20950         * doc/posix-functions/mknod.texi (mknod): Likewise.
20951         * modules/mknod-tests: New test.
20952         * tests/test-mknod.c: Likewise.
20953
20954         mkfifo: new module
20955         * modules/mkfifo: New file.
20956         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
20957         * lib/mkfifo.c (mkfifo): Likewise.
20958         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
20959         defaults.
20960         * modules/sys_stat (Makefile.am): Substitute them.
20961         * lib/sys_stat.in.h (mkfifo): Declare replacement.
20962         * MODULES.html.sh (Support for systems lacking POSIX:2008):
20963         Document it.
20964         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
20965         * modules/mkfifo-tests: New test.
20966         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
20967         from test-mkfifoat.c.
20968         * tests/test-mkfifo.c: New file.
20969
20970         readlink: detect FreeBSD bug
20971         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
20972         slash on symlink.
20973         * doc/posix-functions/readlink.texi (readlink): Document the bug.
20974         * tests/test-readlink.h (test_readlink): Enhance test.
20975
20976         symlink: detect FreeBSD bug
20977         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
20978         slash on symlink.
20979         * doc/posix-functions/symlink.texi (symlink): Document the bug.
20980         * tests/test-symlink.h (test_symlink): Enhance test.
20981
20982 2009-11-10  Eric Blake  <ebb9@byu.net>
20983
20984         link: detect FreeBSD bug
20985         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
20986         symlink.
20987         * doc/posix-functions/link.texi (link): Document the bug.
20988         * tests/test-link.h (test_link): Enhance test.
20989         * tests/test-linkat.c (main): Update caller.
20990
20991         unlink, remove: detect FreeBSD bug
20992         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
20993         slash on symlink.
20994         * doc/posix-functions/unlink.texi (unlink): Document the bug.
20995         * doc/posix-functions/remove.texi (remove): Likewise.
20996         * tests/test-unlink.h (test_unlink): Enhance test.
20997         * tests/test-remove.c (main): Likewise.
20998
20999 2009-11-09  Eric Blake  <ebb9@byu.net>
21000
21001         rename: detect FreeBSD bug
21002         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
21003         slash on symlink.
21004         * modules/renameat-tests (Depends-on): Add filenamecat.
21005         * tests/test-rename.h (test_rename): Allow one more errno.
21006         * tests/test-renameat.c (main): Likewise.
21007         * doc/posix-functions/rename.texi (rename): Document the bug.
21008
21009         open: detect FreeBSD bug
21010         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
21011         symlink.
21012         * doc/posix-functions/open.texi (open): Document the bug.
21013         * doc/posix-functions/utimes.texi (utimes): Likewise.
21014         * tests/test-open.h (test_open): Add parameters, and test symlink
21015         handling.
21016         * tests/test-open.c (main): Adjust caller.
21017         * tests/test-fcntl-safer.c (main): Likewise.
21018         * modules/open-tests (Depends-on): Add stdbool, symlink.
21019         * modules/fcntl-safer-tests (Depends-on): Likewise.
21020         * tests/test-openat.c (main): Add test-open tests.
21021
21022         stat: detect FreeBSD bug
21023         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
21024         symlink.
21025         * doc/posix-functions/stat.texi (stat): Document the bug.
21026         * tests/test-stat.h (test_stat_func): Add argument.
21027         * tests/test-stat.c (main): Adjust caller.
21028         * tests/test-fstatat.c (main): Likewise.
21029         * modules/stat-tests (Depends-on): Add stdbool, symlink.
21030         Reported by Jim Meyering.
21031
21032 2009-11-09  James Youngman  <jay@gnu.org>
21033
21034         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
21035         * lib/strftime.c: Correct placement of #include "ignore-value.h".
21036
21037 2009-11-08  Jim Meyering  <meyering@redhat.com>
21038
21039         utimens: remove invalid futimesat call
21040         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
21041         It used the file descriptor of the target file as the DIR_FD
21042         parameter and NULL as the file name.  That caused failure with
21043         errno == EFAULT on FreeBSD-8.0-rc2
21044
21045 2009-11-07  Eric Blake  <ebb9@byu.net>
21046
21047         fflush, freadseek: use fseeko, not fseek
21048         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
21049         (clear_ungetc_buffer): Avoid potential problems on large files.
21050         * lib/freadseek.c (freadseek): Likewise.
21051         * modules/freadseek (Depends-on): Add fseeko.
21052         * modules/fseek (configure.ac): Set a witness.
21053         * tests/test-fflush.c (main): Use fseeko.
21054         * tests/test-fpurge.c (fseek): Disable link warning.
21055         * tests/test-freadable.c (fseek): Likewise.
21056         * tests/test-freading.c (fseek): Likewise.
21057         * tests/test-fseeko.c (fseek): Likewise.
21058         * tests/test-ftell.c (fseek): Likewise.
21059         * tests/test-ftello.c (fseek): Likewise.
21060         * tests/test-fwritable.c (fseek): Likewise.
21061         * tests/test-fwriting.c (fseek): Likewise.
21062
21063 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21064
21065         * modules/memchr (Depends-on): Drop getpagesize dependency.
21066
21067 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21068
21069         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
21070         Reported by Ludovic Courtès.
21071         * build-aux/pmccabe2html: Improve example usage.
21072         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
21073
21074 2009-11-06  Jim Meyering  <meyering@redhat.com>
21075
21076         do-release-commit-and-tag: New module.
21077         Automate the release-commit and tag process.
21078         * build-aux/do-release-commit-and-tag: New script, from coreutils.
21079         * modules/do-release-commit-and-tag: New file.
21080         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21081
21082 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21083
21084         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
21085         because test-select.c uses inet_pton.
21086
21087 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21088
21089         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
21090         GETADDRINFO_LIB.  Bump serial number.
21091         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
21092         Suggested by Eric Blake <ebb9@byu.net>.
21093
21094 2009-11-05  Eric Blake  <ebb9@byu.net>
21095
21096         strtod: detect darwin bug
21097         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
21098         Reported by Leo Davis.
21099
21100         freopen-safer: new module
21101         * modules/freopen-safer: New module.
21102         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
21103         * lib/freopen-safer.c (freopen_safer): New file.
21104         * lib/stdio-safer.h (freopen_safer): New declaration.
21105         * lib/stdio--.h (freopen): New override.
21106         * MODULES.html.sh (File stream based Input/Output): Mention it.
21107         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
21108         freopen-safer module.
21109         * doc/posix-functions/stderr.texi (stderr): Likewise.
21110         * doc/posix-functions/stdin.texi (stdin): Likewise.
21111         * doc/posix-functions/stdout.texi (stdout): Likewise.
21112         * modules/freopen-safer-tests: New test.
21113         * tests/test-reopen-safer.c: New file.
21114
21115 2009-11-05  Jim Meyering  <meyering@redhat.com>
21116
21117         maint.mk: Prohibit inclusion of "close-stream.h" without use.
21118         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
21119
21120 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21121
21122         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
21123
21124 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21125
21126         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
21127
21128 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21129
21130         Fix link error.
21131         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
21132         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21133
21134 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21135
21136         * tests/test-func.c: Also test value of __func__.
21137
21138 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21139
21140         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
21141         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
21142
21143 2009-11-05  Bruno Haible  <bruno@clisp.org>
21144
21145         Fix link error.
21146         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
21147         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21148         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
21149
21150 2009-11-05  Bruno Haible  <bruno@clisp.org>
21151
21152         Tests for module 'inet_pton'.
21153         * modules/inet_pton-tests: New file.
21154         * tests/test-inet_pton.c: New file.
21155
21156 2009-11-05  Bruno Haible  <bruno@clisp.org>
21157
21158         Tests for module 'inet_ntop'.
21159         * modules/inet_ntop-tests: New file.
21160         * tests/test-inet_ntop.c: New file.
21161
21162 2009-11-04  Eric Blake  <ebb9@byu.net>
21163
21164         stdlib-safer: wrap all mkstemp variants
21165         * modules/mkostemp (configure.ac): Set witness.
21166         * modules/mkostemps (configure.ac): Likewise.
21167         * modules/mkstemps (configure.ac): Likewise.
21168         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
21169         (mkstemps_safer): Wrap more functions.
21170         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
21171         wrapping.
21172         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
21173         (mkstemps_safer): Implement the wrappers.
21174
21175         mkstemps, mkostemps: new modules
21176         * modules/mkostemps: New module.
21177         * modules/mkstemps: Likewise.
21178         * lib/mkostemps.c (mkostemps): New file.
21179         * lib/mkstemps.c (mkstemps): Likewise.
21180         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
21181         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
21182         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
21183         * modules/stdlib (Makefile.am): Substitute them.
21184         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
21185         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
21186         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
21187         * doc/gnulib.texi (Glibc stdlib.h): Include them.
21188         * MODULES.html.sh (File system functions): Mention them.
21189
21190         tempname: resync from glibc
21191         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
21192         same values for __GT_FILE as glibc.  Abort even when assertions
21193         are disabled.
21194         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
21195         match its value otherwise.  Allow idempotent inclusion.
21196         * lib/mkdtemp.c (mkdtemp): Adjust caller.
21197         * lib/mkostemp.c (mkostemp): Likewise.
21198         * lib/mkstemp.c (mkstemp): Likewise.
21199         * lib/tmpfile.c (tmpfile): Likewise.
21200         * NEWS: Document this.
21201
21202         utimens: fix use of futimens on older Linux
21203         * lib/utimens.c (fdutimens): Use updated, rather than original,
21204         timespec to avoid bug in older Linux kernel.
21205         Reported by Simon Josefsson.
21206
21207 2009-11-04  Bruno Haible  <bruno@clisp.org>
21208
21209         Make num_processors more flexible and consistent.
21210         * lib/nproc.h (enum nproc_query): New type.
21211         (num_processors): Add a 'query' argument.
21212         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
21213         (num_processors): Add a 'query' argument. Test the value of the
21214         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
21215         mingw, count the number of CPUs available for the current process.
21216         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
21217         Check for sched_getaffinity and sched_getaffinity_np.
21218         * modules/nproc (Depends-on): Add c-ctype, extensions.
21219         * NEWS: Mention the change.
21220
21221 2009-11-03  Bruno Haible  <bruno@clisp.org>
21222
21223         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
21224
21225 2009-11-03  Jim Meyering  <meyering@redhat.com>
21226
21227         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
21228         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
21229         if it is defined.
21230
21231 2009-11-02  Eric Blake  <ebb9@byu.net>
21232
21233         mktime, timegm: share common declaration
21234         * lib/mktime-internal.h: New file.
21235         * lib/mktime.c: Use it rather than open-coding a declaration.
21236         * lib/timegm.c: Likewise.
21237         * modules/mktime (Files): Ship it.
21238         * modules/timegm (Files): Likewise.
21239         Suggested by Bruno Haible.
21240
21241         test-update-copyright: update test to match script changes
21242         * tests/test-update-copyright.sh: Avoid hard-coding perl
21243         location.  Don't update *.bak created by earlier runs.
21244
21245 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
21246             Simon Josefsson  <simon@josefsson.org>
21247             Bruno Haible  <bruno@clisp.org>
21248
21249         Fix link error on Solaris 8.
21250         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
21251         also in libnsl. Define also INET_PTON_LIB.
21252         * modules/inet_pton (Link): New section.
21253
21254 2009-11-02  Simon Josefsson  <simon@josefsson.org>
21255             Bruno Haible  <bruno@clisp.org>
21256
21257         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
21258         * modules/inet_ntop (Link): New section.
21259         Reported by Boyan Kasarov <bkasarov@gmail.com>.
21260
21261 2009-11-02  Eric Blake  <ebb9@byu.net>
21262
21263         maint: avoid compiler warnings in m4 macros
21264         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
21265         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
21266
21267 2009-11-02  Simon Josefsson  <simon@josefsson.org>
21268
21269         * m4/pmccabe2html.m4: Remove file.
21270         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
21271         function.  Change maintainer.
21272         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
21273         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
21274         Courtès).
21275
21276 2009-10-31  Eric Blake  <ebb9@byu.net>
21277
21278         fseeko: fix m4 regression
21279         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
21280         regression from 2009-10-27.
21281         Reported by Ralf Wildenhues.
21282
21283 2009-10-31  Jim Meyering  <meyering@redhat.com>
21284
21285         inttostr: aesthetics and improved (compile-time) safety
21286         Define inttype_is_signed rather than inttype_is_unsigned,
21287         since the sole use is via "#if inttype_is_signed".
21288         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
21289         inttype_is_unsigned.
21290         * lib/offtostr.c (inttype_is_signed): Likewise.
21291         * lib/uinttostr.c (inttype_is_signed): Likewise.
21292         * lib/umaxtostr.c (inttype_is_signed): Likewise.
21293         * lib/inttostr.c (inttostr): Use verify to cross-check the
21294         inttype_is_signed value and the signedness of the actual type.
21295         * modules/inttostr (Depends-on): Add verify.
21296
21297 2009-10-30  Eric Blake  <ebb9@byu.net>
21298
21299         build: avoid compiler warnings
21300         * lib/fchmodat.c (lchmod): Mark unused variables.
21301         * lib/getopt.c (_getopt_initialize): Likewise.
21302         * lib/mktime.c (__mktime_internal): Provide prototype.
21303         * lib/inttostr.c (inttostr): Avoid compiler warning even with
21304         older gcc that do not understand #pragma GCC diagnostic.
21305         * lib/uinttostr.c (inttype_is_unsigned): Define.
21306         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
21307
21308 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
21309
21310         stat: fix compilation on AIX
21311         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
21312         only see struct stat64.
21313
21314 2009-10-30  Eric Blake  <ebb9@byu.net>
21315
21316         exclude: make more robust
21317         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
21318         rather than masking a coding bug.
21319         Suggested by Bruno Haible.
21320
21321 2009-10-30  Jim Meyering  <meyering@redhat.com>
21322
21323         perl scripts: remove #!/usr/bin/perl in favor of more portable...
21324         Rather than putting #!/usr/bin/perl on the first line,
21325         start with a variant of what's recommended by "man perlrun" that
21326         invokes the first "perl" program from your shell's search path.
21327         * build-aux/gitlog-to-changelog: Replace #!... as above.
21328         Add a "Local Variables" perl mode setting.
21329         Prompted by a patch from Ludovic Courtès.
21330         Improved by Eric Blake.
21331         * build-aux/useless-if-before-free: Likewise.
21332         * build-aux/announce-gen: Likewise.
21333         * build-aux/update-copyright: Likewise.
21334
21335 2009-10-29  Eric Blake  <ebb9@byu.net>
21336
21337         filenamecat-lgpl: adjust clients
21338         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
21339         filenamecat.
21340         * modules/renameat (Depends-on): Likewise.
21341
21342         filenamecat: split into filenamecat-lgpl
21343         * modules/filenamecat-lgpl: New module.
21344         * modules/filenamecat (Files): Move library-safe files into
21345         filenamecat-lgpl.
21346         (Depends-on): Add filenamecat-lgpl.
21347         (configure.ac): Declare witness.
21348         * lib/filenamecat.h (file_name_concat): Only declare when using
21349         GPL module.
21350         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
21351         Move...
21352         * lib/filenamecat-lgpl.c: ...into new file.
21353         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
21354         (gl_FILE_NAME_CONCAT): Use it.
21355         * MODULES.html.sh (File system functions): Mention new module.
21356
21357         argp: avoid memory leak
21358         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
21359         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
21360         base_name, since the latter malloc()s and can call exit().
21361         Leak introduced 2006-07-03.
21362
21363         dirname-lgpl: adjust clients that don't need full dirname
21364         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
21365         * modules/filenamecat (Depends-on): Likewise.
21366         * modules/linkat (Depends-on): Likewise.
21367         * modules/mkancesdirs (Depends-on): Likewise.
21368         * modules/mkdir (Depends-on): Likewise.
21369         * modules/openat (Depends-on): Likewise.
21370         * modules/savewd (Depends-on): Likewise.
21371         * modules/rename (Depends-on): Likewise.
21372         (License): Relax license.
21373         * modules/mkdir-tests (Depends-on): Drop progname.
21374         (Makefile.am): Delete unneeded LDADD.
21375         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
21376
21377         dirname: split into dirname-lgpl
21378         * modules/dirname-lgpl: New module.
21379         * modules/dirname (Files): Move library-safe files into
21380         dirname-lgpl.
21381         (Depends-on): Add dirname-lgpl.
21382         (configure.ac): Declare witness.
21383         * modules/double-slash-root (License): Relax license.
21384         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
21385         module.
21386         * lib/dirname.c (dir_len, mdir_name): Move...
21387         * lib/dirname-lgpl.c: ...into new file.
21388         * lib/basename.c (last_component, base_len): Move...
21389         * lib/basename-lgpl.c: ...into new file.
21390         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
21391         (gl_DIRNAME): Use it.
21392         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
21393         Mention new module.
21394         * modules/dirname-tests (Depends-on): Add progname.
21395         * tests/test-dirname.c (program_name): Delete.
21396
21397         mkdir: make safe for libraries
21398         * modules/mkdir (Depends-on): Drop xalloc.
21399         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
21400         exit.
21401
21402         tests: avoid some compiler warnings
21403         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
21404         literals.
21405         * tests/test-memchr.c (main): Avoid type mismatch.
21406         * tests/test-arpa_inet.c (main): Avoid unused parameters.
21407         * tests/test-base64.c (main): Likewise.
21408         * tests/test-getdelim.c (main): Likewise.
21409         * tests/test-gethostname.c (main): Likewise.
21410         * tests/test-getline.c (main): Likewise.
21411         * tests/test-netinet_in.c (main): Likewise.
21412         * tests/test-select.c (open_server_socket, main): Likewise.
21413         * tests/test-select-stdin.c (main): Likewise.
21414         * tests/test-sockets.c (main): Likewise.
21415         * tests/test-strsignal.c (main): Likewise.
21416         * tests/test-sys_select.c (main): Likewise.
21417         * tests/test-sys_socket.c (main): Likewise.
21418         * tests/test-u64.c (main): Likewise.
21419         * tests/test-xfprintf-posix.c (main): Likewise.
21420         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
21421
21422         sockets: avoid compiler warning
21423         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
21424
21425         maint: detect usage(1) and other suspicious exits
21426         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
21427
21428 2009-10-29  Jim Meyering  <meyering@redhat.com>
21429
21430         timespec: long-to-int truncation could make timespec_cmp malfunction
21431         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
21432         a multiple of 2^32 nanoseconds as no difference.
21433
21434 2009-10-28  Jim Meyering  <meyering@redhat.com>
21435
21436         fprintftime: wrap macro code argument in "do {...} while(0)"
21437         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
21438         cpy macro must be a statement that can be followed by a semicolon.
21439         Now that the else clause contains a comment and is hence longer
21440         than one line, I require curly braces.  That in turn requires
21441         that we wrap this code block in the standard do...while(0).
21442
21443         fprintftime: remove stray semicolon from previous change
21444         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
21445
21446         fprintftime: avoid a warning about ignored fwrite return value
21447         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
21448         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
21449         that is unsafe.
21450         * modules/fprintftime (Depends-on): Add ignore-value.
21451
21452         exclude: avoid an unwarranted warning
21453         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
21454
21455 2009-10-27  Eric Blake  <ebb9@byu.net>
21456
21457         fseek: avoid compilation failure when fflush is replaced
21458         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
21459         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
21460         module is in use.
21461         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
21462         module is not in use; since REPLACE_FSEEK worked otherwise.
21463         (GNULIB_FTELLO): Likewise for ftell.
21464         Reported by Ian Beckwith and others.
21465
21466 2009-10-27  Bruno Haible  <bruno@clisp.org>
21467
21468         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
21469         Reported by Jim Meyering.
21470
21471 2009-10-27  Jim Meyering  <jim@meyering.net>
21472             Bruno Haible  <bruno@clisp.org>
21473
21474         Avoid warning despite dropping the return value of fwrite.
21475         * lib/unicodeio.c: Include ignore-value.h.
21476         (fwrite_success_callback): Explicitly ignore fwrite's return value.
21477         * modules/unicodeio (Depends-on): Add ignore-value.
21478
21479 2009-10-26  Eric Blake  <ebb9@byu.net>
21480
21481         areadlinkat: fix fallback path
21482         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
21483         pointer and zero.
21484
21485 2009-10-22  Pádraig Brady  <P@draigBrady.com>
21486
21487         Use a better IO block size for modern systems
21488         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
21489         * lib/md2.c: Likewise.
21490         * lib/md4.c: Likewise.
21491         * lib/md5.c: Likewise.
21492         * lib/sha1.c: Likewise.
21493         * lib/sha256.c: Likewise.
21494         * lib/sha512.c: Likewise.
21495
21496 2009-10-22  Eric Blake  <ebb9@byu.net>
21497
21498         tests: avoid several compiler warnings
21499         * tests/test-getcwd.c (main): Avoid buffer underflow.
21500         * tests/test-getdate.c (main): String literals are not safe with
21501         putenv, so use setenv.  Declare unused argument.
21502         * modules/getdate-tests (Depends-on): Add setenv.
21503         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
21504         problems with string literals in char *.
21505         * tests/test-hash.c (main): Avoid shadowing declaration.
21506         (insert_new): Treat string literals as char const *.
21507         * tests/test-getopt.h (test_getopt): Likewise.
21508         (getopt_loop): Alter types to minimize casting elsewhere.
21509         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
21510         (test_getopt_long_posix): Likewise.
21511         (do_getopt_long): Add wrapper to minimize casting.
21512         * tests/test-atexit.c (clear_temp_file): Use void.
21513         * tests/test-areadlink-with-size.c (main): Declare unused
21514         arguments.
21515         * tests/test-areadlink.c (main): Likewise.
21516         * tests/test-areadlinkat-with-size.c (main): Likewise.
21517         * tests/test-areadlinkat.c (main): Likewise.
21518         * tests/test-canonicalize-lgpl.c (main): Likewise.
21519         * tests/test-canonicalize.c (main): Likewise.
21520         * tests/test-dirent-safer.c (main): Likewise.
21521         * tests/test-dirname.c (main): Likewise.
21522         * tests/test-dup2.c (main): Likewise.
21523         * tests/test-fchdir.c (main): Likewise.
21524         * tests/test-fcntl-h.c (main): Likewise.
21525         * tests/test-fcntl-safer.c (main): Likewise.
21526         * tests/test-fdopendir.c (main): Likewise.
21527         * tests/test-fdutimensat.c (main): Likewise.
21528         * tests/test-fflush.c (main): Likewise.
21529         * tests/test-filenamecat.c (main): Likewise.
21530         * tests/test-filevercmp.c (main): Likewise.
21531         * tests/test-fopen-safer.c (main): Likewise.
21532         * tests/test-fopen.c (main): Likewise.
21533         * tests/test-fpending.c (main): Likewise.
21534         * tests/test-fpurge.c (main): Likewise.
21535         * tests/test-freading.c (main): Likewise.
21536         * tests/test-fstatat.c (main): Likewise.
21537         * tests/test-fsync.c (main): Likewise.
21538         * tests/test-futimens.c (main): Likewise.
21539         * tests/test-getndelim2.c (main): Likewise.
21540         * tests/test-gettimeofday.c (main): Likewise.
21541         * tests/test-getopt.c (main): Likewise.
21542         * tests/test-i-ring.c (main): Likewise.
21543         * tests/test-inttypes.c (main): Likewise.
21544         * tests/test-link.c (main): Likewise.
21545         * tests/test-lstat.c (main): Likewise.
21546         * tests/test-math.c (main): Likewise.
21547         * tests/test-md5.c (main): Likewise.
21548         * tests/test-memchr2.c (main): Likewise.
21549         * tests/test-memrchr.c (main): Likewise.
21550         * tests/test-mkdir.c (main): Likewise.
21551         * tests/test-mkdirat.c (main): Likewise.
21552         * tests/test-mkfifoat.c (main): Likewise.
21553         * tests/test-open.c (main): Likewise.
21554         * tests/test-openat-safer.c (main): Likewise.
21555         * tests/test-openat.c (main): Likewise.
21556         * tests/test-quotearg.c (main): Likewise.
21557         * tests/test-rawmemchr.c (main): Likewise.
21558         * tests/test-readlink.c (main): Likewise.
21559         * tests/test-remove.c (main): Likewise.
21560         * tests/test-rename.c (main): Likewise.
21561         * tests/test-renameat.c (main): Likewise.
21562         * tests/test-rmdir.c (main): Likewise.
21563         * tests/test-sha1.c (main): Likewise.
21564         * tests/test-signal.c (main): Likewise.
21565         * tests/test-sigaction.c (main): Likewise.
21566         * tests/test-stat.c (main): Likewise.
21567         * tests/test-stat-time.c (main): Likewise.
21568         * tests/test-stddef.c (main): Likewise.
21569         * tests/test-stdint.c (main): Likewise.
21570         * tests/test-stdio.c (main): Likewise.
21571         * tests/test-stdlib.c (main): Likewise.
21572         * tests/test-strchrnul.c (main): Likewise.
21573         * tests/test-strerror.c (main): Likewise.
21574         * tests/test-string.c (main): Likewise.
21575         * tests/test-strtod.c (main): Likewise.
21576         * tests/test-strverscmp.c (main): Likewise.
21577         * tests/test-symlink.c (main): Likewise.
21578         * tests/test-symlinkat.c (main): Likewise.
21579         * tests/test-sys_stat.c (main): Likewise.
21580         * tests/test-sys_time.c (main): Likewise.
21581         * tests/test-time.c (main): Likewise.
21582         * tests/test-unistd.c (main): Likewise.
21583         * tests/test-unlink.c (main): Likewise.
21584         * tests/test-unlinkat.c (main): Likewise.
21585         * tests/test-utimens.c (main): Likewise.
21586         * tests/test-utimensat.c (main): Likewise.
21587         * tests/test-version-etc.c (main): Likewise.
21588         * tests/test-wchar.c (main): Likewise.
21589         * tests/test-wctype.c (main): Likewise.
21590         * tests/test-xprintf-posix.c (main): Likewise.
21591         * tests/test-posixtm.c (main): Likewise.
21592         (STREQ): Delete unused macro.
21593         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
21594         shadowed variables.
21595         * tests/test-memchr.c (main): Likewise.
21596
21597 2009-10-21  Eric Blake  <ebb9@byu.net>
21598
21599         areadlinkat: avoid failure on older glibc
21600         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
21601         rather than mis-comparing 0 against FUNC_RESULT of char*.
21602
21603 2009-10-21  Bruno Haible  <bruno@clisp.org>
21604
21605         * modules/stpncpy (License): Relicense under LGPLv2+.
21606         Reported by David Lutterkort <lutter@redhat.com>.
21607
21608 2009-10-20  Eric Blake  <ebb9@byu.net>
21609
21610         utimensat: work around Solaris 9 bug
21611         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
21612         has trailing slash bugs.
21613         * tests/test-lutimens.h (test_lutimens): Enhance test.
21614         * tests/test-utimens.h (test_utimens): Likewise.
21615         * doc/posix-functions/utime.texi (utime): Enhance documentation.
21616         * doc/posix-functions/utimes.texi (utimes): Likewise.
21617         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
21618         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
21619         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
21620         * doc/posix-functions/futimens.texi (futimens): Likewise.
21621
21622         fdutimensat: new module
21623         * modules/fdutimensat: New file.
21624         * lib/fdutimensat.c (fdutimensat): Likewise.
21625         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
21626         * MODULES.html.sh (File system functions): Mention module.
21627         * modules/fdutimensat-tests: New test.
21628         * tests/test-fdutimensat.c: Likewise.
21629
21630         doc: regenerate INSTALL
21631         * doc/INSTALL: Reflect recent autoconf update.
21632         * doc/INSTALL.ISO: Likewise.
21633         * doc/INSTALL.UTF-8: Likewise.
21634
21635 2009-10-20  Pádraig Brady  <P@draigBrady.com>
21636
21637         acl: warn if ACL support is not detected
21638         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
21639
21640 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
21641
21642         * lib/nproc.h: Add extern "C" block for C++.
21643
21644 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
21645             Bruno Haible  <bruno@clisp.org>
21646
21647         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
21648         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
21649         * doc/posix-functions/isalpha.texi: Likewise.
21650         * doc/posix-functions/isblank.texi: Likewise.
21651         * doc/posix-functions/iscntrl.texi: Likewise.
21652         * doc/posix-functions/isdigit.texi: Likewise.
21653         * doc/posix-functions/isgraph.texi: Likewise.
21654         * doc/posix-functions/islower.texi: Likewise.
21655         * doc/posix-functions/isprint.texi: Likewise.
21656         * doc/posix-functions/ispunct.texi: Likewise.
21657         * doc/posix-functions/isspace.texi: Likewise.
21658         * doc/posix-functions/isupper.texi: Likewise.
21659         * doc/posix-functions/isxdigit.texi: Likewise.
21660
21661 2009-10-18  Bruno Haible  <bruno@clisp.org>
21662
21663         Tests for module 'isblank'.
21664         * modules/isblank-tests: New file.
21665         * tests/test-isblank.c: New file.
21666
21667         New module 'isblank'.
21668         * lib/isblank.c: New file.
21669         * m4/isblank.m4: New file.
21670         * modules/isblank: New file.
21671         * doc/posix-functions/isblank.texi: Mention the new module.
21672
21673 2009-10-18  Bruno Haible  <bruno@clisp.org>
21674
21675         New module 'ctype'.
21676         * lib/ctype.in.h: New file.
21677         * m4/ctype.m4: New file.
21678         * modules/ctype: New file.
21679         * doc/posix-headers/ctype.texi: Mention the new module.
21680
21681 2009-10-18  Jim Meyering  <meyering@redhat.com>
21682
21683         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
21684         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
21685         right after its initialization, rather than farther down.
21686         Keeping these in close proximity makes it easier to ensure
21687         that each such variable is initialized.  E.g.,
21688
21689             LIB_CLOCK_GETTIME=
21690             AC_SUBST([LIB_CLOCK_GETTIME])
21691
21692         This change also increments these serial numbers.
21693         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
21694         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
21695         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21696
21697 2009-10-18  Bruno Haible  <bruno@clisp.org>
21698
21699         Don't let environment variables perturb build.
21700         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
21701         (gl_PREREQ_GETHRXTIME): ... not here.
21702
21703 2009-10-18  Bruno Haible  <bruno@clisp.org>
21704
21705         Avoid symlink attack in localcharset module.
21706         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
21707         (O_NOFOLLOW): Define fallback.
21708         (get_charset_aliases): Don't open the file if it is a symbolic link.
21709         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
21710         gl_FCNTL_H.
21711         (gl_FCNTL_H): Require it.
21712         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
21713         * modules/localcharset (Files): Add m4/fcntl_h.m4.
21714         Reported by Fergal Glynn <fglynn@veracode.com>.
21715
21716 2009-10-18  Bruno Haible  <bruno@clisp.org>
21717
21718         Implement nproc for mingw.
21719         * lib/nproc.c: Include <windows.h>
21720         (num_processors): On native Windows platforms, try GetSystemInfo.
21721
21722 2009-10-18  Bruno Haible  <bruno@clisp.org>
21723
21724         Implement nproc for IRIX.
21725         * lib/nproc.c: Include <sys/sysmp.h>.
21726         (num_processors): On IRIX systems, try sysmp.
21727         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
21728
21729 2009-10-18  Bruno Haible  <bruno@clisp.org>
21730
21731         Implement nproc for HP-UX.
21732         * lib/nproc.c: Include <sys/pstat.h>
21733         (num_processors): On HP-UX systems, try pstat_getdynamic.
21734         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
21735         pstat_getdynamic.
21736
21737 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
21738             Bruno Haible  <bruno@clisp.org>
21739
21740         Implement nproc for NetBSD, OpenBSD.
21741         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
21742         (ARRAY_SIZE): New macro.
21743         (num_processors): On BSD systems, try sysctl of HW_NCPU.
21744         * m4/nproc.m4: New file.
21745         * modules/nproc (Files): Add m4/nproc.m4.
21746         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
21747         (Makefile.am): Instead, augment lib_SOURCES.
21748
21749 2009-10-18  Bruno Haible  <bruno@clisp.org>
21750
21751         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
21752         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
21753         sys/param.h.
21754
21755 2009-10-16  Eric Blake  <ebb9@byu.net>
21756
21757         utimensat: new module
21758         * modules/utimensat: New file.
21759         * lib/utimensat.c (utimensat): Likewise.
21760         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
21761         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
21762         so we can work around Linux bugs.
21763         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
21764         * modules/sys_stat (Makefile.am): Substitute them.
21765         * lib/sys_stat.in.h (utimensat): Declare it.
21766         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
21767         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
21768         * modules/utimensat-tests: New test.
21769         * tests/test-utimensat.c: Likewise.
21770
21771         utimens: let lutimens work on non-symlinks
21772         * lib/utimens.c (lutimens): Fall back to utimens rather than
21773         failing with ENOSYS, when file is not a symlink.
21774         (utimens): Reduce redirection.
21775         * tests/test-lutimens.h (test_lutimens): Update test to cover
21776         non-symlinks.
21777         * tests/test-utimens.h (test_utimens): Update test to cover
21778         symlinks.
21779         * tests/test-utimens.c (main): Update caller.
21780
21781         utimens: cache whether utimensat syscall works
21782         * lib/utimens.c (utimensat_works_really): New cache variable.
21783         (fdutimens, lutimens): Use it to avoid failing syscall.
21784
21785         test-stat-time, test-utimens: improve portability
21786         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
21787         ext4 on alpha, and for cygwin.
21788         * tests/test-utimens-common.h: New file.
21789         (nap): Factor delays into single function.
21790         * tests/test-lutimens.h (test_lutimens): Use new header.
21791         * tests/test-futimens.h (test_futimens): Likewise.
21792         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
21793         timestamps to occur from same machine, as was done previously for
21794         test_utimens.
21795         * modules/utimens-tests (Files): Ship new file.
21796         * modules/futimens-tests (Files): Likewise.
21797         Reported in part by Jim Meyering.
21798
21799         sys_stat: sort replacement declarations
21800         * lib/sys_stat.in.h: Sort declarations.
21801         * lib/futimens.c (futimens): Fix typo.
21802
21803 2009-10-15  Jim Meyering  <meyering@redhat.com>
21804
21805         don't let environment settings perturb build
21806         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
21807         could cause a configure-time and/or build-time malfunction.
21808         Typically, a configure-time function-in-library test is performed
21809         via code like this:
21810
21811           LIB_VAR=
21812           AC_SUBST([LIB_VAR])
21813           prefix_saved_LIBS=$LIBS
21814             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
21815                        [test "$ac_cv_search_FUNC" = "none required" ||
21816                         LIB_VAR=$ac_cv_search_FUNC])
21817           LIBS=$prefix_saved_LIBS
21818
21819         However, in each of the files affected by this change, the LIB_VAR=
21820         initialization was omitted.  Thus, when set in the environment, its
21821         value would propagate into generated Makefiles when FUNC is not found
21822         in LIB_NAME.
21823         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
21824         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
21825         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21826
21827 2009-10-14  Eric Blake  <ebb9@byu.net>
21828
21829         fchdir: avoid infinite recursion in mingw
21830         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
21831         recursing.
21832
21833         test-stat-time: port to mingw
21834         * tests/test-stat-time.c (force_unlink): Return a value.
21835         (test_ctime) [W32]: Fix compilation error.
21836         (nap): Don't call usleep with too large an argument.  Use
21837         force_unlink.
21838         * doc/pastposix-functions/usleep.texi (usleep): Document the
21839         portability issue.
21840
21841 2009-10-13  Jim Meyering  <meyering@redhat.com>
21842
21843         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
21844         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
21845         * modules/pipe-filter-ii: Likewise.
21846         * modules/sys_socket-tests: Likewise.
21847         * modules/tsearch-tests: Likewise.
21848         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
21849         (check): Depend on it.
21850
21851 2009-10-12  Eric Blake  <ebb9@byu.net>
21852
21853         utimens-tests: port to NFS file systems
21854         * tests/test-utimens.h (test_utimens): Refactor utimecmp
21855         comparisons to avoid spurious failures from timestamp drift
21856         between NFS machines.
21857
21858 2009-10-12  Eric Blake  <ebb9@byu.net>
21859
21860         stat-time-tests: minor cleanups
21861         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
21862         * tests/test-stat-time.c (nap): Separate assignment from call.
21863         Suggested by Paolo Bonzini and Bruno Haible.
21864
21865         sys_stat: guarantee struct timespec
21866         * lib/sys_stat.in.h (includes): Always include <time.h>
21867         * modules/sys_stat (Depends-on): Add time.
21868         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
21869         mode_t permission values.
21870         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
21871         get at subsecond timestamps.
21872
21873 2009-10-10  Eric Blake  <ebb9@byu.net>
21874
21875         futimens: new module
21876         * modules/futimens: New file.
21877         * lib/futimens.c (futimens): Likewise.
21878         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
21879         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
21880         we can work around Linux bugs.
21881         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
21882         * modules/sys_stat (Makefile.am): Substitute them.
21883         * lib/sys_stat.in.h (futimens): Declare it.
21884         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
21885         * doc/posix-functions/futimens.texi (futimens): Likewise.
21886         * modules/futimens-tests: New test.
21887         * tests/test-futimens.c: Likewise.
21888
21889         utimens: introduce fdutimens
21890         * lib/utimens.h (fdutimens): New prototype.
21891         * lib/utimens.c (gl_futimens): Move guts...
21892         (fdutimens): ...to new interface.
21893         * tests/test-utimens.c (do_fdutimens): Use it.
21894
21895         utimens: add UTIME_NOW and UTIME_OMIT support
21896         * lib/utimens.c (validate_timespec, update_timespec): New helper
21897         functions.
21898         (gl_futimens, lutimens): Use them.
21899         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
21900         stdbool, sys_stat.
21901         (Link): Mention resulting library dependency.
21902         * modules/utimecmp (Link): Likewise.
21903         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
21904         (Makefile.am): Pick up library dependency.
21905         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
21906         definition.
21907         * tests/test-sys_stat.c: Test the definitions.
21908         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
21909         * NEWS: Document library dependency.
21910
21911         utimecmp: support symlink timestamps
21912         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
21913         hashing when possible.  Use pathconf when available.
21914         (SYSCALL_RESOLUTION): Recognize tighter resolution.
21915         * modules/utimecmp (Depends-on): Add lstat.
21916
21917         utimens: add lutimens interface
21918         * lib/utimens.c (lutimens): New function.
21919         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
21920         * lib/utimens.h (lutimens): Declare new interface.
21921         * tests/test-utimens.c (main): Enhance test.
21922         * tests/test-lutimens.h (test_lutimens): New file.
21923         * modules/utimens-tests (Files): Distribute it.
21924         (Depends-on): Add symlink.
21925         (configure.ac): Check for usleep.
21926
21927         utimens: validate futimens usage
21928         * lib/utimens.c (gl_futimens): Require valid fd up front, using
21929         fewer syscalls on failure later on.  Avoid compiler warning on
21930         mingw.
21931         * modules/utimens (Depends-on): Add dup2.
21932
21933         utimens: add test
21934         * modules/utimens-tests: New test.
21935         * tests/test-utimens.h: New file.
21936         * tests/test-futimens.h: Likewise.
21937         * tests/test-utimens.c: Likewise.
21938
21939         doc: mention timestamp portability issues
21940         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
21941         instead.
21942         * doc/posix-functions/utime.texi (utime): Likewise.
21943         * doc/posix-functions/utimes.texi (utimes): Likewise.
21944         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
21945         instead.
21946         * doc/posix-functions/futimens.texi (futimens): Mention utimens
21947         module.
21948         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
21949         Mention weakness with symlink timestamps.
21950         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
21951         to utimensat/futimens instead.
21952         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
21953
21954         test-dup2: enhance test
21955         * tests/test-dup2.c (main): Also check AT_FDCWD.
21956
21957         test-stat-time: avoid more spurious failures
21958         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
21959         xfs; and avoid race if the two timestamps cross quantization edge.
21960
21961         relocatable: prefer 'file system' over 'filesystem'
21962         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
21963         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
21964         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
21965         * doc/relocatable.texi (Enabling Relocatability): Likewise.
21966         * lib/relocatable.c (compute_curr_prefix): Likewise.
21967
21968 2009-10-10  Jim Meyering  <meyering@redhat.com>
21969
21970         stat-time-tests: check for the usleep function
21971         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
21972
21973 2009-10-10  Bruno Haible  <bruno@clisp.org>
21974
21975         * modules/xnanosleep: Put the Link section after the Include section.
21976
21977 2009-10-09  Eric Blake  <ebb9@byu.net>
21978
21979         dup2: work around FreeBSD 6.1 bug
21980         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
21981         * doc/posix-functions/dup2.texi (dup2): Document it.
21982         Reported by Nelson H. F. Beebe and Jim Meyering.
21983
21984         test-stat-time: port to buggy NFS clients
21985         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
21986         (test_ctime): Also skip test if mtime and ctime are skewed.
21987
21988         maint: prefer 'file system' over 'filesystem'
21989         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
21990         * doc/posix-functions/lstat.texi (lstat): Likewise.
21991         * lib/file-has-acl.c (file_has_acl): Likewise.
21992         * lib/fwriteerror.c [TEST]: Likewise.
21993         * tests/test-areadlink.h (test_areadlink): Likewise.
21994         * tests/test-areadlinkat-with-size.c (main): Likewise.
21995         * tests/test-areadlinkat.c (main): Likewise.
21996         * tests/test-canonicalize-lgpl.c (main): Likewise.
21997         * tests/test-canonicalize.c (main): Likewise.
21998         * tests/test-fstatat.c (main): Likewise.
21999         * tests/test-linkat.c (main): Likewise.
22000         * tests/test-lstat.h (test_lstat_func): Likewise.
22001         * tests/test-mkdir.h (test_mkdir): Likewise.
22002         * tests/test-readlink.h (test_readlink): Likewise.
22003         * tests/test-remove.c (main): Likewise.
22004         * tests/test-rename.h (test_rename): Likewise.
22005         * tests/test-renameat.c (main): Likewise.
22006         * tests/test-rmdir.h (test_rmdir_func): Likewise.
22007         * tests/test-symlink.h (test_symlink): Likewise.
22008         * tests/test-symlinkat.c (main): Likewise.
22009         * tests/test-unlink.h (test_unlink_func): Likewise.
22010         * tests/test-unlinkat.c (main): Likewise.
22011
22012         maint: make realtime library usage explicit
22013         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
22014         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
22015         * modules/settime (Link): Likewise.
22016         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
22017
22018         test-stat-time: speed up execution
22019         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
22020         warning on mingw.
22021         (nap): New helper function.
22022         (prepare_test): Use it to reduce sleep time.
22023         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
22024         execution.
22025         * modules/stat-time-tests (configure.ac): Check for usleep.
22026
22027 2009-10-09  Jim Meyering  <meyering@redhat.com>
22028
22029         selinux-h: always use getfilecon wrappers
22030         * lib/getfilecon.c: New file.
22031         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
22032         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
22033         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
22034         (fgetfilecon): Provide a stub.
22035         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
22036         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
22037         file unconditionally.
22038         When <selinux/selinux.h> is found, arrange to use wrappers.
22039         * modules/selinux-h (Files): Add getfilecon.c.
22040         (Makefile.am): Substitute include-next-related bits
22041         into the now-always-generated selinux/selinux.h file.
22042         * doc/glibc-functions/lgetfilecon.texi: New file.
22043         * doc/glibc-functions/fgetfilecon.texi: New file.
22044         * doc/glibc-functions/getfilecon.texi: New file.
22045         * doc/glibc-functions/getfilecon-desc.texi: New file.
22046         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
22047         which to pull in the new files.
22048         * MODULES.html.sh (Misc): Add selinux-h.
22049
22050 2009-10-08  Jim Meyering  <meyering@redhat.com>
22051
22052         unistd: fix comment typo
22053         * lib/unistd.in.h (euidaccess): Fix a comment typo.
22054
22055 2009-10-08  Eric Blake  <ebb9@byu.net>
22056
22057         areadlink: use SIZE_MAX consistently
22058         * modules/areadlink (Depends-on): Add stdint.
22059         * modules/areadlink-with-size (Depends-on): Likewise.
22060         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
22061         gives NULL; drop sys/types, since unistd gives size_t; and add
22062         stdint for SIZE_MAX.
22063         (SIZE_MAX): Rely on headers.
22064         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
22065         and add stdint.
22066         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
22067         (SIZE_MAX): Likewise.
22068         (INITIAL_BUF_SIZE): Turn into enum.
22069         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
22070
22071 2009-10-08  Jim Meyering  <meyering@redhat.com>
22072
22073         areadlinkat: avoid compilation failure
22074         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
22075         Fix typo in comment.
22076
22077 2009-10-07  Eric Blake  <ebb9@byu.net>
22078
22079         areadlinkat-with-size: new module
22080         * modules/areadlinkat-with-size: New module.
22081         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
22082         * lib/areadlink.h (areadlinkat): Declare it.
22083         * MODULES.html.sh (File system functions): Mention it.
22084         * modules/areadlinkat-with-size-tests: New test.
22085         * tests/test-areadlinkat-with-size.c: New file.
22086
22087         xreadlinkat: new module
22088         * modules/xreadlinkat: New module.
22089         * lib/xreadlinkat.c (xreadlinkat): New file.
22090         * lib/xreadlink.h (xreadlinkat): Declare it.
22091         * MODULES.html.sh (File system functions): Mention it.
22092
22093         areadlinkat: new module
22094         * lib/at-func.c (FUNC_FAIL): New define.
22095         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
22096         * modules/areadlinkat: New module.
22097         * lib/linkat.c (areadlinkat): Move...
22098         * lib/areadlinkat.c (areadlinkat): ...to new file.
22099         * lib/areadlink.h (areadlinkat): Declare it.
22100         * modules/linkat (Depends-on): Add areadlinkat.
22101         * MODULES.html.sh (File system functions): Mention it.
22102         * modules/areadlinkat-tests: New test.
22103         * tests/test-areadlinkat.c: New file.
22104
22105         areadlink, areadlink-with-size: add tests
22106         * modules/areadlink-tests: New test.
22107         * modules/areadlink-with-size-tests: Likewise.
22108         * tests/test-areadlink.h: New file.
22109         * tests/test-areadlink.c: Likewise.
22110         * tests/test-areadlink-with-size.c: Likewise.
22111
22112         maint: minor cleanups
22113         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
22114         _UNUSED_PARAMETER_ instead.
22115         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
22116         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
22117         * modules/linkat-tests (Files): Distribute test-link.h.
22118
22119         openat, utimens: whitespace cleanup
22120         * lib/openat.c: Prefer space throughout, rather than mix of 8
22121         spaces vs. tabs.
22122         * lib/at-func.c: Likewise.
22123         * lib/utimens.c: Likewise.
22124
22125         openat: avoid using wrong fd
22126         * lib/openat.c (openat_permissive): Reject user's fd if saving the
22127         working directory chooses same fd.
22128         * lib/at-func.c (AT_FUNC_NAME): Likewise.
22129
22130         mkdir, mkdirat: fix cygwin 1.5.x bug
22131         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
22132         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
22133         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
22134         bug.
22135         (gl_PREREQ_MKDIR): Delete unused macro.
22136         * modules/mkdir (Files): Track file rename.
22137         (configure.ac): Update macro name.
22138         * modules/openat (Depends-on): Add mkdir.
22139         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
22140
22141         mkdir, mkdirat: add tests
22142         * modules/mkdir-tests: New test.
22143         * tests/test-mkdir.h: New file.
22144         * tests/test-mkdir.c: Likewise.
22145         * tests/test-mkdirat.c: Likewise.
22146         * modules/openat-tests (Files): Add new files.
22147         (Makefile.am): Run new test.
22148
22149 2009-10-06  Eric Blake  <ebb9@byu.net>
22150
22151         doc: tweak *at function documentation
22152         * doc/posix-functions/faccessat.texi (faccessat): Mention
22153         known issue with replacement.
22154         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
22155         * doc/posix-functions/linkat.texi (linkat): Likewise.
22156         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
22157         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
22158         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
22159         * doc/posix-functions/renameat.texi (renameat): Likewise.
22160         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
22161
22162         openat: fix GNU/Hurd bug in unlinkat
22163         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
22164         broken.
22165         * doc/posix-functions/unlink.texi (unlink): Document this.
22166         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
22167
22168         fdopendir: fix GNU/Hurd bug
22169         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
22170         allowing non-directory fds.
22171         * lib/fdopendir.c (rpl_fdopendir): Work around it.
22172         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
22173         * modules/dirent (Makefile.am): Substitute it.
22174         * lib/dirent.in.h (fdopendir): Declare replacement.
22175         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
22176         * tests/test-fdopendir.c (main): Test something other than
22177         /dev/null, since on Hurd that behaves like a directory.
22178
22179         test-symlink: port to GNU/Hurd
22180         * tests/test-symlink.h (test_symlink): Relax expected errno.
22181
22182         doc: tweak more cygwin information
22183         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
22184         now compatible with glibc.
22185         * doc/posix-functions/getopt.texi (getopt): Likewise.
22186
22187         getopt-gnu: add another test
22188         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
22189         guarantee behavior relied on by m4.
22190         * tests/test-getopt.c (main): Use it.
22191         * modules/getopt-posix-tests (Depends-on): Add setenv.
22192         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
22193
22194         getopt: fix compilation on darwin
22195         * lib/getopt.in.h (includes): Leave breadcrumbs during system
22196         include.
22197         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
22198         Reported by Ludovic Courtès.
22199
22200 2009-10-06  Bruno Haible  <bruno@clisp.org>
22201
22202         * modules/size_max (Description): Discourage its use.
22203         Reported by Simon Josefsson.
22204
22205 2009-10-06  Jim Meyering  <meyering@redhat.com>
22206
22207         linkat: avoid compilation failure
22208         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
22209
22210 2009-10-05  Eric Blake  <ebb9@byu.net>
22211
22212         linkat: support Linux 2.6.17
22213         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
22214         linkat on Linux, but allow cache variable override.
22215         * lib/linkat.c (rpl_linkat): Define override.
22216         * modules/linkat (Depends-on): Add symlinkat.
22217         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
22218         * modules/unistd (Makefile.am): Substitute it.
22219         * lib/unistd.in.h (linkat): Declare replacement.
22220         Reported by Pádraig Brady.
22221
22222         quotearg: port test to systems with C.UTF-8 locale
22223         * tests/test-quotearg.c (struct result_strings): Add another
22224         member, differentiating between C.ASCII and C.UTF-8 handling.
22225         (compare_strings): Add parameter.
22226         (main): Adjust all callers.
22227
22228         getopt: avoid clash with FreeBSD _getopt_internal
22229         * lib/getopt.in.h (_getopt_internal): Override the name.
22230         * lib/getopt_int.h (includes): Pick up any overrides.
22231         Reported by Reuben Thomas.
22232
22233         hash: allow C89 compilation
22234         * lib/hash.c (check_tuning): Move declaration before statement.
22235         Reported by Reuben Thomas.
22236
22237 2009-10-05  Karl Berry  <karl@gnu.org>
22238
22239         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
22240
22241 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
22242             Bruno Haible  <bruno@clisp.org>
22243
22244         * lib/uname.c (uname): Use a table-driven algorithm to compute
22245         Windows NT versions.
22246
22247 2009-10-04  Bruno Haible  <bruno@clisp.org>
22248
22249         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
22250         program_invocation_short_name.
22251         * modules/progname (configure.ac): Test for presence of
22252         program_invocation_short_name.
22253         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
22254
22255 2009-10-04  Bruno Haible  <bruno@clisp.org>
22256
22257         * lib/progname.c (set_program_name): Fix comment.
22258         Reported by Jim Meyering.
22259
22260 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
22261             Bruno Haible  <bruno@clisp.org>
22262
22263         * lib/uname.c: Include <string.h>.
22264         (uname): Do only one call to GetVersionEx in the common case.
22265
22266 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
22267             Bruno Haible  <bruno@clisp.org>
22268
22269         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
22270         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
22271         (uname): Add support for Windows CE and various non-x86 CPU types.
22272
22273 2009-10-03  Bruno Haible  <bruno@clisp.org>
22274
22275         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
22276         invocation to tests/configure.ac.
22277         Reported by Ian Beckwith <ianb@erislabs.net>.
22278
22279 2009-10-02  Eric Blake  <ebb9@byu.net>
22280
22281         fchdir: avoid compiler warning
22282         * lib/fchdir.c (canonicalize_file_name)
22283         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
22284
22285         test-open: support mingw errno values
22286         * tests/test-open.h (test_open): Relax test.
22287         * tests/test-fopen.h (test_fopen): Likewise.
22288         * tests/test-openat-safer.c (main): Likewise.
22289
22290         open: fix opening directory on mingw
22291         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
22292
22293         test-open: on GNU/Hurd, /dev/null is a directory
22294         * tests/test-fopen.h (main): Rename...
22295         (test_fopen): ...to this.  Use a guaranteed non-directory when
22296         confirming open behavior on trailing slash.
22297         * tests/test-openat-safer.c (main): Likewise.
22298         * tests/test-open.h (main): Likewise....
22299         (test_open): ...to this.
22300         * tests/test-fopen.c (main): Adjust caller.
22301         * tests/test-fopen-safer.c (main): Likewise.
22302         * tests/test-open.c (main): Likewise.
22303         * tests/test-fcntl-safer.c (main): Likewise.
22304         Reported by Samuel Thibault.
22305
22306         rename, fchdir: don't ignore chdir failure
22307         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
22308         * lib/rename.c (rpl_rename) [W32]: Likewise.
22309         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
22310         an empty destination directory if source cannot be renamed,
22311         although there is still possibility for failure.
22312         * doc/posix-functions/rename.texi (rename): Document the race.
22313         Reported by Jim Meyering.
22314
22315         maint: cleanup whitespace in recent commits
22316         * lib/rename.c (rpl_rename): Remove tabs.
22317         * tests/test-link.h (test_link): Likewise.
22318         * lib/fchdir.c (get_name): Likewise.
22319         Reported by Jim Meyering.
22320
22321 2009-10-02  Ben Pfaff  <blp@gnu.org>
22322
22323         relocatable-prog-wrapper: Add missing dependency on
22324         double-slash-root.
22325         * modules/relocatable-prog-wrapper: Add dependency.
22326         Reported by Ian Beckwith <ianb@erislabs.net>.
22327
22328 2009-10-02  Eric Blake  <ebb9@byu.net>
22329
22330         renameat: fix Solaris bugs
22331         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
22332         needed fixing.
22333         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
22334         * modules/stdio (Makefile.am): Substitute it.
22335         * lib/stdio.in.h (renameat): Declare replacement.
22336         * lib/renameat.c (rpl_renameat): Implement fix.
22337
22338         renameat: new module
22339         * modules/renameat: New file.
22340         * lib/renameat.c (renameat): Likewise.
22341         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
22342         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
22343         * modules/stdio (Makefile.am): Substitute them.
22344         * lib/stdio.in.h (renameat): Declare it.
22345         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22346         * doc/posix-functions/renameat.texi (renameat): Likewise.
22347         * modules/renameat-tests: New test.
22348         * tests/test-renameat.c: Likewise.
22349
22350         rename: fix mingw bugs
22351         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
22352         directory overwrite bugs.
22353
22354         rename: fix another cygwin 1.5 bug
22355         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
22356         checks.
22357         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
22358         unnecessary cygwin workarounds.  Also work around bug with moving
22359         full directory onto an empty one.
22360         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
22361
22362         rename-dest-slash: merge into rename module
22363         * modules/rename-dest-slash (Status): Mark obsolete.
22364         (Depends-on): Add rename.
22365         (Files): Let rename do it all.
22366         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
22367         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
22368         * m4/rename-dest-slash.m4: ...so this file can be deleted.
22369         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
22370         * lib/rename.c (rpl_rename): Update comments.
22371
22372         rename: fix cygwin 1.5.x bugs
22373         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
22374         * lib/rename.c (rpl_rename): Work around them.
22375         * modules/rename (Depends-on): Add same-inode.
22376
22377         rename: fix Solaris 10 bug
22378         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
22379         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
22380         was the only bug.
22381
22382         rename: fix Solaris 9 bug
22383         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
22384         on non-directory.  Avoid calling exit.
22385         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
22386         strdup.
22387         * modules/rename-tests (Depends-on): Drop lstat.
22388         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
22389         (gl_PREREQ_RENAME): Delete unused macro.
22390
22391         rename-dest-slash: fix NetBSD bug
22392         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
22393         links.
22394         * modules/rename-dest-slash (Depends-on): Add same-inode.
22395
22396         rename-tests: new test, exposes several platform bugs
22397         * modules/rename-tests: New file.
22398         * tests/test-rename.h: Likewise.
22399         * tests/test-rename.c: Likewise.
22400         * doc/posix-functions/rename.texi (rename): Improve documentation,
22401         including bugs that will eventually be fixed in gnulib.
22402
22403 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
22404
22405         * lib/uname.c: Include <stdlib.h>
22406         (uname): Assume version info is available.
22407
22408 2009-10-02  Jim Meyering  <meyering@redhat.com>
22409
22410         gnu-web-doc-update: correct --help output
22411         * build-aux/gnu-web-doc-update: Make --help output relevant.
22412
22413         gnu-web-doc-update: add standard options
22414         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
22415
22416         gnu-web-doc-update: New module.
22417         Use this script to automatically update the on-line web documentation
22418         for your GNU project at http://www.gnu.org/software/$pkg/manual/
22419         * modules/gnu-web-doc-update: New file, from coreutils.
22420         * build-aux/gnu-web-doc-update: New script.
22421
22422 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
22423
22424         link: LoadLibrary is not needed.
22425         * lib/link.c: Use GetModuleHandle.
22426
22427 2009-10-01  Eric Blake  <ebb9@byu.net>
22428
22429         getopt: bump serial number
22430         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
22431         change.
22432
22433         tests: tighten link, rmdir, and remove tests
22434         * tests/test-link.h (includes): No need to use <config.h> here.
22435         Clean up if directory hard link was created, otherwise test for
22436         trailing '.'.
22437         * tests/test-linkat.c (main): Simplify.
22438         * tests/test-remove.c (main): Enhance test for trailing '.'.
22439         * tests/test-rmdir.h (test_rmdir_func): Likewise.
22440
22441 2009-10-01  Jim Meyering  <meyering@redhat.com>
22442
22443         maint.mk: requiring "make major" was annoying, for a "minor" release.
22444         What is intended is "stable", to contrast with alpha and beta,
22445         so require "make stable", not "make major".
22446         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
22447         (get_tool_versions): Likewise.
22448         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
22449
22450 2009-09-30  Ben Pfaff  <blp@gnu.org>
22451
22452         Fix broken build of replacement for Windows tmpfile().
22453         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
22454         flags argument added along with the 'mkostemp' module.
22455
22456 2009-09-28  Bruno Haible  <bruno@clisp.org>
22457
22458         Avoid identifier clash with POSIX function 'remove' defined as a macro.
22459         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
22460         to 'remove_elt'.
22461         (gl_list_remove): Update.
22462         * lib/gl_list.c (gl_list_remove): Update.
22463         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
22464         to 'remove_elt'.
22465         (gl_oset_remove): Update.
22466         * lib/gl_list.c (gl_oset_remove): Update.
22467         Reported by Eric Blake.
22468
22469 2009-09-28  Eric Blake  <ebb9@byu.net>
22470
22471         doc: mention yet more cygwin 1.7 status
22472         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
22473         cygwin.
22474         * doc/glibc-functions/execvpe.texi (execvpe): New file.
22475         * doc/gnulib.texi (Glibc unistd.h): Mention it.
22476
22477         argp: fix test failure
22478         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
22479         that are not upper-case.  Pass correct range to tolower.
22480
22481 2009-09-27  Jim Meyering  <meyering@redhat.com>
22482
22483         test-yesno: work around sparc-dash here-document infelicity
22484         Without this change, the literal \177 byte in a here document
22485         would make dash 0.5.5.1-3 access uninitialized memory.
22486         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
22487         Instead, use a marker, "@", and filter through tr to create the desired
22488         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
22489
22490 2009-09-27  Bruno Haible  <bruno@clisp.org>
22491
22492         Disable untested support for new flavours of ACLs on AIX.
22493         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
22494         progress.
22495         * lib/set-mode-acl.c (qset_acl): Likewise.
22496
22497 2008-12-07  Bruno Haible  <bruno@clisp.org>
22498
22499         Add support for new flavours of ACLs on AIX. (Untested.)
22500         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
22501         (file_has_acl): Add support for newer AIX.
22502         * lib/set-mode-acl.c (qset_acl): Likewise.
22503         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
22504         Rainer Tammer <tammer@tammer.net>.
22505
22506 2009-09-26  Eric Blake  <ebb9@byu.net>
22507
22508         argp: fix compilation of getopt
22509         * lib/getopt.in.h (includes): Use different guard than glibc.
22510         Reported by Sergey Poznyakoff.
22511
22512         doc: mention more cygwin 1.7 status
22513         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
22514         bug.
22515         * doc/posix-functions/execl.texi (execl): Likewise.
22516         * doc/posix-functions/execle.texi (execle): Likewise.
22517         * doc/posix-functions/execlp.texi (execlp): Likewise.
22518         * doc/posix-functions/execv.texi (execv): Likewise.
22519         * doc/posix-functions/execve.texi (execve): Likewise.
22520         * doc/posix-functions/execvp.texi (execvp): Likewise.
22521         * doc/glibc-functions/canonicalize_file_name.texi
22522         (canonicalize_file_name): Cygwin 1.7 now provides this.
22523         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
22524         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
22525         on AT_SYMLINK_NOFOLLOW.
22526
22527 2009-09-24  Eric Blake  <ebb9@byu.net>
22528
22529         test-linkat: make test more robust
22530         * tests/test-linkat.c (main): Avoid collision with EEXIST.
22531
22532         getopt: fix inclusion guards for cygwin
22533         * modules/getopt-posix (Depends-on): Add include-next.
22534         (Makefile.am): Substitute more items in replacement header.
22535         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
22536         <getopt.h>.
22537         * lib/getopt.in.h (includes): Use split inclusion guard, and
22538         prefer <getopt.h> over include <unistd.h> when one is present.
22539         (option): Also override name of 'struct option'.
22540
22541         same-inode: revert prior change; it is not yet ready
22542         * NEWS: Undo mention of this change.
22543         * lib/same-inode.h (same-inode.h): Undo tri-state change.
22544         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
22545         * lib/cycle-check.c (cycle_check): Likewise.
22546         * lib/same.c (same_name): Likewise.
22547         * lib/at-func2.c (at_func2): Likewise.
22548
22549 2009-09-23  Eric Blake  <ebb9@byu.net>
22550
22551         linkat: new module
22552         * modules/linkat: New file.
22553         * lib/at-func2.c (at_func2): Likewise.
22554         * lib/linkat.c (linkat): Likewise.
22555         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
22556         * lib/openat-priv.h (at_func2): Add declaration.
22557         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
22558         * modules/unistd (Makefile.am): Substitute them.
22559         * lib/unistd.in.h (linkat): Declare it.
22560         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22561         * doc/posix-functions/linkat.texi (linkat): Likewise.
22562         * doc/posix-functions/link.texi (link): Tweak wording.
22563         * tests/test-link.c (main): Move guts...
22564         * tests/test-link.h (test_link): ...into new file.
22565         * modules/linkat-tests: New test.
22566         * tests/test-linkat.c: Likewise.
22567         * modules/link-tests (Files): Ship new file.
22568         (Depends-on): Add stdbool.
22569
22570         dirname: add library-safe mdir_name
22571         * lib/dirname.h (mdir_name): New prototype.
22572         * lib/dirname.c (dir_name): Move guts...
22573         (mdir_name): ...to new function that avoids xalloc_die.
22574
22575         fchdir: another mingw fix
22576         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
22577         * lib/fchdir.c (get_name): New helper method; skips canonicalize
22578         on mingw (where it has not yet been ported), and make it optional
22579         elsewhere.
22580         (_gl_register_fd): Use it.
22581
22582         same-inode: make SAME_INODE tri-state, to port to mingw
22583         * NEWS: Mention this change.
22584         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
22585         st_ino always being 0.
22586         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
22587         * lib/cycle-check.c (cycle_check): Likewise.
22588         * lib/same.c (same_name): Likewise.
22589
22590         lstat: avoid mingw compilation error
22591         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
22592         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
22593         lstat ourselves.
22594         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
22595         was adequate.
22596         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
22597         the checks for lstat.
22598         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
22599
22600         link: fix test failure on Solaris 9
22601         * lib/link.c (rpl_link): Don't assume link will catch bogus
22602         trailing slash on source.
22603
22604         test-symlinkat: enhance test
22605         * tests/test-readlink.c (main): Move guts...
22606         * tests/test-readlink.h (test_readlink): ...into new file.
22607         * tests/test-symlink.c (main): Move guts...
22608         * tests/test-symlink.h (test_symlink): ...into new file.
22609         * tests/test-symlinkat.c (main): Use new files for further
22610         coverage.
22611         (do_symlink, do_readlink): New helper functions.
22612         * modules/symlink-tests (Files): Ship new file.
22613         (Depends-on): Add stdbool.
22614         * modules/readlink-tests (Files): Ship new file.
22615         (Depends-on): Add stdbool.
22616         * modules/symlinkat-tests (Files): Use new files.
22617
22618 2009-09-23  Eric Blake  <ebb9@byu.net>
22619
22620         readlink: document portability issue with symlink length
22621         * doc/posix-functions/lstat.texi (lstat): Mention that some file
22622         systems have bogus st_size on symlinks, and mention the
22623         areadlink-with-size module.
22624         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
22625         * doc/posix-functions/readlink.texi (readlink): Mention the
22626         areadlink module, and ERANGE failure.
22627         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
22628         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
22629
22630         readlink: fix Solaris 9 bug with trailing slash
22631         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
22632         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
22633         * doc/posix-functions/readlink.texi (readlink): Document this.
22634         * modules/readlink-tests: New test.
22635         * tests/test-readlink.c: Likewise.
22636
22637         readlink: fix cygwin 1.5.x bug with return type
22638         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
22639         * lib/unistd.in.h (readlink): Use ssize_t.
22640         * lib/readlink.c (readlink): Likewise.
22641         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22642         * modules/unistd (Makefile.am): Substitute it.
22643         * lib/unistd.in.h (readlink): Declare replacement.
22644         * doc/posix-functions/readlink.texi (readlink): Document this.
22645
22646         symlink: use throughout gnulib
22647         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
22648         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
22649         symlink is not used.
22650         * modules/symlinkat (Depends-on): Add symlink.
22651         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
22652         * modules/canonicalize-tests (Depends-on): Likewise.
22653         * modules/lstat-tests (Depends-on): Likewise.
22654         * modules/openat-tests (Depends-on): Likewise.
22655         * modules/remove-tests (Depends-on): Likewise.
22656         * modules/rmdir-tests (Depends-on): Likewise.
22657         * modules/unlink-tests (Depends-on): Likewise.
22658         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
22659         * tests/test-canonicalize.c (symlink): Likewise.
22660         * tests/test-fstatat.c (symlink): Likewise.
22661         * tests/test-lstat.c (symlink): Likewise.
22662         * tests/test-remove.c (symlink): Likewise.
22663         * tests/test-rmdir.c (symlink): Likewise.
22664         * tests/test-unlink.c (symlink): Likewise.
22665         * tests/test-unlinkat.c (symlink): Likewise.
22666
22667         symlink: new module, for Solaris 9 bug
22668         * modules/symlink: New file.
22669         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
22670         * lib/symlink.c: Likewise.
22671         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
22672         * modules/unistd (Makefile.am): Substitute them.
22673         * lib/unistd.in.h (symlink): Declare replacement.
22674         * MODULES.html.sh (File system functions): Mention it.
22675         * doc/posix-functions/symlink.texi (symlink): Likewise.
22676         * modules/symlink-tests: New test.
22677         * tests/test-symlink.c: Likewise.
22678
22679 2009-09-23  Bruno Haible  <bruno@clisp.org>
22680
22681         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
22682         when needed.
22683         Test case: gnulib-tool --import --with-tests atexit inttypes.
22684         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
22685
22686 2009-09-23  Bruno Haible  <bruno@clisp.org>
22687
22688         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
22689         subcommand, not in a subshell.
22690
22691 2009-09-22  Eric Blake  <ebb9@byu.net>
22692
22693         unistd: sort replacement declarations
22694         * lib/unistd.in.h: Sort declarations.
22695
22696         open, openat: minor optimization
22697         * lib/open.c (open): If open succeeded, len is non-zero.
22698         * lib/openat.c (rpl_openat): Likewise.
22699
22700         link-follow: ensure correct result
22701         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
22702         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
22703         distinguish between possible failures.
22704
22705 2009-09-21  Eric Blake  <ebb9@byu.net>
22706
22707         fts: avoid compiler warning
22708         * lib/fts.c (dirent_inode_sort_may_be_useful)
22709         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
22710
22711 2009-09-19  Bruno Haible  <bruno@clisp.org>
22712
22713         * lib/progreloc.c (canonicalize_file_name): New declaration.
22714
22715 2009-09-19  Eric Blake  <ebb9@byu.net>
22716
22717         link: fix quoting
22718         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
22719
22720         openat: fix openat bugs on Solaris 9
22721         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
22722         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
22723         * modules/openat (Depends-on): Add open.
22724         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
22725         * modules/fcntl-h (Makefile.am): Substitute it.
22726         * lib/fcntl.in.h (openat): Declare replacement.
22727         * doc/posix-functions/openat.texi (openat): Document this.
22728
22729         openat: move fstatat and unlinkat into correct files
22730         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
22731         compiled.
22732         * lib/openat.c (fstatat, unlinkat): Move...
22733         * lib/fstatat.c (fstatat): ...into correct files.
22734         * lib/unlinkat.c (unlinkat): Likewise.
22735
22736         openat: fix unlinkat bugs on Solaris 9
22737         * lib/unlinkat.c (unlinkat): New file.
22738         * modules/openat (Depends-on): Add unlink.
22739         (Files): Distribute it.
22740         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
22741         trailing slash behavior is broken.
22742         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22743         * modules/unistd (Makefile.am): Substitute it.
22744         * lib/unistd.in.h (unlinkat): Declare replacement.
22745         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
22746
22747         openat: fix fstatat bugs on Solaris 9
22748         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
22749         stat.
22750         * doc/posix-functions/fstatat.texi (fstatat): Document this.
22751
22752         test-unlinkat: enhance test, to expose Solaris 9 bug
22753         * tests/test-unlink.c (main): Factor guts...
22754         * tests/test-unlink.h (test_rmdir_func): ...into new file.
22755         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
22756         * tests/test-rmdir.c (main): Adjust caller.
22757         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
22758         (unlinker): New helper function.
22759         (rmdirat): Enhance check.
22760         * modules/rmdir-tests (Depends-on): Add stdbool.
22761         * modules/unlink-tests (Depends-on): Likewise.
22762         (Files): Add test-unlink.h.
22763         * modules/openat-tests (Files): Likewise.
22764         (Depends-on): Add unlinkdir.
22765
22766         test-fstatat: new test, to expose Solaris 9 bugs
22767         * tests/test-stat.c (main): Factor guts...
22768         * tests/test-stat.h (test_stat_func): ...into new file.
22769         * tests/test-lstat.c (main): Factor guts...
22770         * tests/test-lstat.h (test_lstat_func): ...into new file.
22771         * tests/test-fstatat.c: New file.
22772         * modules/stat-tests (Files): Add test-stat.h.
22773         * modules/lstat-tests (Files): Add test-lstat.h.
22774         (Depends-on): Add stdbool.
22775         * modules/openat-tests (Depends-on): Add pathmax.
22776         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
22777         (Makefile.am): Run new test.
22778
22779         remove: new module, for mingw and Solaris 9 bugs
22780         * modules/remove: New file.
22781         * lib/remove.c: Likewise.
22782         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
22783         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
22784         * modules/stdio (Makefile.am): Use them.
22785         * lib/stdio.in.h (remove): Declare replacement.
22786         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22787         * doc/posix-functions/remove.texi (remove): Likewise.
22788         * modules/remove-tests: New test.
22789         * tests/test-remove.c: Likewise.
22790
22791         unlink: new module, for Solaris 9 bug
22792         * modules/unlink: New file.
22793         * lib/unlink.c: Likewise.
22794         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22795         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
22796         * modules/unistd (Makefile.am): Use them.
22797         * lib/unistd.in.h (stat): Declare replacement.
22798         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22799         * doc/posix-functions/unlink.texi (unlink): Likewise.
22800         * modules/unlink-tests: New test.
22801         * tests/test-unlink.c: Likewise.
22802
22803         lstat: fix Solaris 9 bug
22804         * lib/lstat.c (lstat): Also check for trailing slash on
22805         non-symlink, non-directories.  Use stat module to simplify logic.
22806         * doc/posix-functions/lstat.texi (lstat): Document it.
22807         * modules/lstat-tests (Depends-on): Add errno, same-inode.
22808         (configure.ac): Check for symlink.
22809         * tests/test-lstat.c (main): Add more tests.
22810
22811         stat: add as dependency to other modules
22812         * modules/chown (Depends-on): Add stat.
22813         * modules/euidaccess (Depends-on): Likewise.
22814         * modules/fchdir (Depends-on): Likewise.
22815         * modules/isdir (Depends-on): Likewise.
22816         * modules/link (Depends-on): Likewise.
22817         * modules/lstat (Depends-on): Likewise.
22818         * modules/mkdir-p (Depends-on): Likewise.
22819         * modules/modechange (Depends-on): Likewise.
22820         * modules/open (Depends-on): Likewise.
22821         * modules/readlink (Depends-on): Likewise.
22822         * modules/same (Depends-on): Likewise.
22823
22824         stat: fix Solaris 9 bug
22825         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
22826         slash.
22827         * lib/stat.c (rpl_stat): Work around it.
22828         * doc/posix-functions/stat.texi (stat): Update documentation.
22829
22830         stat: new module, for mingw bug
22831         * modules/stat: New file.
22832         * lib/stat.c: Likewise.
22833         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22834         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
22835         * modules/sys_stat (Makefile.am): Use them.
22836         * lib/sys_stat.in.h (stat): Declare replacement.
22837         * lib/openat.c (fstatat): Deal with lstat and stat being function
22838         macros.
22839         * modules/openat (Depends-on): Add inline.
22840         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22841         * doc/posix-functions/stat.texi (stat): Likewise.
22842         * modules/stat-tests: New test.
22843         * tests/test-stat.c: Likewise.
22844
22845 2009-09-19  Jim Meyering  <meyering@redhat.com>
22846
22847         syntax-check: detect unnecessary inclusion of canonicalize.h
22848         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
22849
22850 2009-09-19  Eric Blake  <ebb9@byu.net>
22851
22852         canonicalize-lgpl: adjust clients to use correct header
22853         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
22854         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
22855         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
22856         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
22857         * lib/progreloc.c (includes): Likewise.
22858
22859 2009-09-19  Jim Meyering  <meyering@redhat.com>
22860
22861         test-posixtm.c: correct a comment
22862         * tests/test-posixtm.c: Correct first-line comment.
22863         Spotted by Eric Blake.
22864
22865 2009-09-16  Jim Meyering  <meyering@redhat.com>
22866
22867         posixtm-tests: make T const-correct; add a test case
22868         * tests/test-posixtm.c (T): Declare const.
22869         Add a test for -(2^31+1).
22870         Remove useless can-succeed-only-in-2002 test.
22871
22872         posixtm-tests: adjust the sole failing test
22873         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
22874         expected output matches what mktime now produces.  Cross-checked via
22875         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
22876
22877         posixtm: move #ifdef'd tests into a new module
22878         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
22879         * tests/test-posixtm.c: ... this new file.
22880         * modules/posixtm-tests: New module.
22881
22882 2009-09-19  Eric Blake  <ebb9@byu.net>
22883
22884         openat: simplify use of at-func.c
22885         * lib/at-func.c (includes): Include prerequisites here, to
22886         simplify requirements on client files.
22887         * lib/openat-priv.h: Add double-inclusion guard.
22888         * lib/faccessat.c (includes): Simplify.
22889         * lib/fchmodat.c (includes): Likewise.
22890         * lib/fchownat.c (includes): Likewise.
22891         * lib/mkdirat.c (includes): Likewise.
22892         * lib/mkfifoat.c (includes): Likewise.
22893         * lib/symlinkat.c (includes): Likewise.
22894
22895         openat: allow return of fd 0
22896         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
22897         * modules/save-cwd (Depends-on): Replace fcntl-safer with
22898         unistd-safer.
22899         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
22900         <fcntl.h>; this module does not leak fds.
22901         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
22902         must be allowed to return 0, leaving openat_safer to add the
22903         safety.
22904         (openat_permissive): Avoid writing to just-opened fd 2 if
22905         restoring the current directory fails.
22906         * lib/openat-die.c (openat_restore_fail): Add comment.
22907         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
22908         (save_cwd): Guarantee safe fd, but without use of open_safer.
22909         * tests/test-openat.c: New test.
22910         * modules/openat-tests (Files, Makefile.am): Distribute and build
22911         new file.
22912
22913         relocatable-prog-wrapper: fix build
22914         * modules/relocatable-prog-wrapper (Files): Update name of
22915         canonicalize m4 file, broken on 2009-09-17.
22916         Reported by emad hajjar <aleppos@hotmail.com>.
22917
22918 2009-09-19  Bruno Haible  <bruno@clisp.org>
22919
22920         * lib/safe-alloc.h: Use the standard header with GPL copyright.
22921         * lib/safe-alloc.c: Likewise.
22922         Reported by Ian Beckwith <ianb@erislabs.net>.
22923
22924 2009-09-18  Bruno Haible  <bruno@clisp.org>
22925
22926         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
22927         Reported by <erobles@sensacd.com.mx>.
22928
22929 2009-09-17  Eric Blake  <ebb9@byu.net>
22930
22931         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
22932         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
22933         slashes when checking if last component is missing.
22934         * tests/test-canonicalize.c (main): Test this.
22935
22936         canonicalize, canonicalize-lgpl: honor // if distinct from /
22937         * modules/canonicalize (Files): Add double-slash-root.m4.
22938         * modules/canonicalize-lgpl (Files): Likewise.
22939         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
22940         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
22941         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
22942         fallback definition.
22943         (canonicalize_filename_mode): Use it to protect //.
22944         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
22945         (__realpath): Likewise.
22946         * tests/test-canonicalize.c (main): Test this.
22947         * tests/test-canonicalize-lgpl.c (main): Likewise.
22948         * modules/canonicalize-tests (Depends-on): Add same-inode.
22949         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
22950
22951         canonicalize-lgpl: fix glibc bug with trailing slash
22952         * m4/canonicalize-lgpl.m4: Move contents...
22953         * m4/canonicalize.m4: ...here.
22954         (gl_CANONICALIZE_LGPL): Factor realpath check...
22955         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
22956         glibc 2.3.5 bug, fixed 2005-04-27.
22957         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
22958         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
22959         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
22960         * modules/canonicalize-lgpl (Files): Manage file rename.
22961         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
22962         * modules/stdlib (Makefile.am): Substitute witness.
22963         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
22964         is needed.
22965         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
22966         replacement is required.
22967         * lib/canonicalize.c (canonicalize_file_name): Likewise.
22968         * doc/glibc-functions/canonicalize_file_name.texi
22969         (canonicalize_file_name): Document this.
22970         * doc/posix-functions/realpath.texi (realpath): Likewise.
22971
22972         canonicalize-lgpl: reject non-directory with trailing slash
22973         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
22974         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
22975         catches failures in glibc 2.3.5.
22976         * tests/test-canonicalize.c (main): Likewise.
22977
22978         canonicalize-lgpl: use native realpath if it works
22979         * lib/canonicalize-lgpl.c (realpath): Guard with
22980         FUNC_REALPATH_WORKS.
22981         * lib/stdlib.in.h (realpath): Make declaration optional based on
22982         HAVE_REALPATH.
22983         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
22984         native realpath works.
22985         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
22986         * modules/stdlib (Makefile.am): Substitute witness.
22987
22988         canonicalize, canonicalize-lgpl: use <stdlib.h>
22989         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
22990         (Include): Mention <stdlib.h>.
22991         (configure.ac): Mention functions we provide.
22992         * modules/canonicalize (configure.ac): Likewise.
22993         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
22994         realpath if canonicalize_file_name is missing.
22995         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
22996         * modules/stdlib (Makefile.am): Substitute witnesses.
22997         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
22998         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
22999         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
23000         * NEWS: Document this.
23001         * doc/glibc-functions/canonicalize_file_name.texi
23002         (canonicalize_file_name): Likewise.
23003         * doc/posix-functions/realpath.texi (realpath): Likewise.
23004         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
23005
23006         test-canonicalize: consolidate into single C program
23007         * tests/test-canonicalize.sh: Delete; move setup into...
23008         * tests/test-canonicalize.c (main): ...the program, making it
23009         easier to run in debugger.  Add some tests.
23010         * modules/canonicalize-tests (Files): Remove unused file.
23011         (Depends-on): Add progname.
23012         (configure.ac, Makefile.am): Simplify.
23013
23014         test-canonicalize-lgpl: consolidate into single C program
23015         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
23016         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
23017         easier to run in debugger.  Add some tests.
23018         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
23019         (configure.ac, Makefile.am): Simplify.
23020
23021         canonicalize: avoid resolvepath
23022         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
23023         unnecessary checks.
23024         * lib/canonicalize.c (includes): Simplify.
23025         (canonicalize_file_name): Drop resolvepath implementation.
23026         * modules/canonicalize (Depends-on): Drop filenamecat.
23027
23028         canonicalize: don't lose errno
23029         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
23030         over calls to free.
23031
23032         canonicalize: simplify errno handling
23033         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
23034         assignment.
23035
23036         canonicalize, canonicalize-lgpl: update module dependencies
23037         * modules/canonicalize (Depends-on): Add extensions, lstat,
23038         pathmax, stdlib.
23039         (Files): Drop pathmax.h.
23040         (configure.ac): Adjust macro name.
23041         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
23042         lstat, stdlib, sys_stat.
23043         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
23044         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
23045         extensions.
23046         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
23047         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
23048         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
23049         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
23050         declaration, if available.
23051         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
23052         we can rely on the readlink module.
23053         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
23054         (includes): Use <unistd.h> unconditionally.
23055
23056 2009-09-17  Eric Blake  <ebb9@byu.net>
23057
23058         maint: make Include sections of modules consistent
23059         * modules/alloca: Use only header name; no need to list #include.
23060         * modules/alloca-opt: Likewise.
23061         * modules/arpa_inet: Likewise.
23062         * modules/canon-host: Likewise.
23063         * modules/configmake: Likewise.
23064         * modules/dirent: Likewise.
23065         * modules/eealloc: Likewise.
23066         * modules/environ: Likewise.
23067         * modules/fchdir: Likewise.
23068         * modules/fcntl: Likewise.
23069         * modules/fcntl-h: Likewise.
23070         * modules/gethrxtime: Likewise.
23071         * modules/gettime: Likewise.
23072         * modules/ignore-value: Likewise.
23073         * modules/inet_ntop: Likewise.
23074         * modules/inet_pton: Likewise.
23075         * modules/inttypes: Likewise.
23076         * modules/isnand-nolibm: Likewise.
23077         * modules/isnanf-nolibm: Likewise.
23078         * modules/mbchar: Likewise.
23079         * modules/mbfile: Likewise.
23080         * modules/mbiter: Likewise.
23081         * modules/mbuiter: Likewise.
23082         * modules/netdb: Likewise.
23083         * modules/netinet_in: Likewise.
23084         * modules/nproc: Likewise.
23085         * modules/pagealign_alloc: Likewise.
23086         * modules/poll: Likewise.
23087         * modules/printf-frexp: Likewise.
23088         * modules/pthread: Likewise.
23089         * modules/putenv: Likewise.
23090         * modules/random_r: Likewise.
23091         * modules/relocatable-prog: Likewise.
23092         * modules/search: Likewise.
23093         * modules/select: Likewise.
23094         * modules/selinux-h: Likewise.
23095         * modules/settime: Likewise.
23096         * modules/signal: Likewise.
23097         * modules/size_max: Likewise.
23098         * modules/socklen: Likewise.
23099         * modules/ssize_t: Likewise.
23100         * modules/stdarg: Likewise.
23101         * modules/stdbool: Likewise.
23102         * modules/stddef: Likewise.
23103         * modules/stdint: Likewise.
23104         * modules/stdio: Likewise.
23105         * modules/stdlib: Likewise.
23106         * modules/string: Likewise.
23107         * modules/strings: Likewise.
23108         * modules/sys_file: Likewise.
23109         * modules/sys_ioctl: Likewise.
23110         * modules/sys_select: Likewise.
23111         * modules/sys_socket: Likewise.
23112         * modules/sys_stat: Likewise.
23113         * modules/sys_time: Likewise.
23114         * modules/sys_times: Likewise.
23115         * modules/sys_utsname: Likewise.
23116         * modules/sys_wait: Likewise.
23117         * modules/sysexits: Likewise.
23118         * modules/time: Likewise.
23119         * modules/times: Likewise.
23120         * modules/tmpfile: Likewise.
23121         * modules/trim: Likewise.
23122         * modules/unistd: Likewise.
23123         * modules/wchar: Likewise.
23124         * modules/wctype: Likewise.
23125
23126 2009-09-17  Bruno Haible  <bruno@clisp.org>
23127
23128         Make getdate.y compile on QNX and NetBSD 5 / i386.
23129         * m4/getdate.m4 (gl_GETDATE): Conditionally define
23130         TIME_T_FITS_IN_LONG_INT.
23131         * lib/getdate.y (long_time_t): New type.
23132         (relative_time): Change type of 'seconds' field to long_time_t.
23133         (get_date): Update types of local variables. Check against overflow
23134         during conversion from long_time_t to time_t.
23135         Reported by Matt Kraai <kraai@ftbfs.org>
23136         and Hasso Tepper <hasso@netbsd.org>.
23137
23138 2009-09-17  Bruno Haible  <bruno@clisp.org>
23139
23140         * modules/COPYING: Update copyright years.
23141         * modules/README: Likeiwse.
23142         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
23143         Reported by Ian Beckwith <ianb@erislabs.net>.
23144
23145 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
23146
23147         * users.txt: Update references for gnuit package.
23148
23149 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
23150
23151         * m4/getdelim.m4: Fix typo in copyright line.
23152
23153 2009-09-17  Bruno Haible  <bruno@clisp.org>
23154
23155         * lib/atoll.c: Use the standard header with GPL copyright.
23156         * lib/argz.in.h: Likewise.
23157         * lib/glob.c: Likewise.
23158         * lib/glob-libc.h: Likewise.
23159         * lib/random_r.c: Likewise.
23160         * lib/siglist.h: Likewise.
23161         * lib/strsignal.c: Likewise.
23162         Reported by Ian Beckwith <ianb@erislabs.net>.
23163
23164 2009-09-17  Eric Blake  <ebb9@byu.net>
23165
23166         rmdir: ensure correct dependency order
23167         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
23168
23169 2009-09-17  Bruno Haible  <bruno@clisp.org>
23170
23171         Disable assertion that fails on NetBSD 5 / i386.
23172         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
23173         Reported by Sam Steingold <sds@gnu.org>
23174         and Hasso Tepper <hasso@netbsd.org>.
23175
23176 2009-09-16  Eric Blake  <ebb9@byu.net>
23177
23178         unlinkdir: port to mingw
23179         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
23180         on which no one can unlink a directory.
23181
23182         stdlib: sort witness names
23183         * modules/stdlib (Makefile.am): Sort replacements.
23184         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
23185         * lib/stdlib.in.h: Likewise.
23186
23187         parse-duration-tests: avoid link failure
23188         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
23189         LIBINTL.
23190         Reported by Tom G. Christensen.
23191
23192         openat-tests: ensure unlinkat behaves like rmdir
23193         * tests/test-rmdir.c (main): Factor guts...
23194         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
23195         * modules/rmdir-tests (Files): Ship new file.
23196         * modules/openat-tests: New test.
23197         * tests/test-unlinkat.c: Likewise.
23198
23199         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
23200         * modules/rmdir-errno (Status, Notice): Now obsolete.
23201
23202         rmdir: work around cygwin 1.5.x and mingw bugs
23203         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
23204         * lib/rmdir.c (rmdir): Work around it.
23205         * modules/rmdir (Status, Notice): No longer obsolete.
23206         (Files): Add dos.m4.
23207         (Depends-on): Add unistd.
23208         (configure.ac): Set witnesses.
23209         (License): Relax to LGPLv2+.
23210         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
23211         * modules/unistd (Makefile.am): Substitute witnesses.
23212         * lib/unistd.in.h (rmdir): Declare replacement.
23213         * doc/posix-functions/rmdir.texi (rmdir): Document this.
23214         * modules/rmdir-tests: New tests.
23215         * tests/test-rmdir.c: Likewise.
23216
23217 2009-09-15  Eric Blake  <ebb9@byu.net>
23218
23219         fchdir: improve use of replacement functions
23220         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
23221         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
23222         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
23223         REPLACE_CLOSEDIR.
23224         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
23225         * modules/sys_stat (Makefile.am): Substitute correct witness.
23226         * modules/dirent (Makefile.am): Likewise.
23227         * modules/unistd (Makefile.am): Likewise.
23228         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
23229         * lib/unistd.in.h (dup): Likewise.
23230         * lib/sys_stat.in.h (fstat): Likewise.
23231
23232         maint: ignore gnulib-tool temp files
23233         * .gitignore: Ignore files created during gnulib-tool --test.
23234
23235 2009-09-13  Jim Meyering  <meyering@redhat.com>
23236
23237         posixtm: don't reject a time that specify "60" as the number of seconds
23238         * lib/posixtm.c (posixtime): The code to reject invalid dates
23239         would also reject a time specified with the .60 suffix.
23240         But POSIX allows that, in order to accommodate leap seconds.
23241         So don't reject it.
23242         (main): Adjust tests accordingly.
23243         * modules/posixtm (Depends-on): Add stpcpy.
23244
23245 2009-09-11  Jim Meyering  <meyering@redhat.com>
23246
23247         announce-gen: include [$release_type] in emitted Subject:
23248         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
23249         e.g., [stable] in the emitted Subject: line.
23250
23251 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23252
23253         Remove obsolete macros from several modules.
23254         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
23255         obsolete Autoconf macros with their modern counterparts.
23256         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
23257         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
23258         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
23259         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
23260         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
23261         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23262         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
23263         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23264         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23265         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
23266         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
23267         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
23268         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
23269         * m4/sockets.m4 (gl_SOCKETS): Likewise.
23270         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
23271         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
23272         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
23273         * m4/time_r.m4 (gl_TIME_R): Likewise.
23274         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
23275         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
23276         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
23277
23278         Fix copyright header in build-aux scripts.
23279         * build-aux/git-version-gen: Fix copyright header to match GPLv3
23280         recommendation.
23281         * build-aux/ncftpput-ftp: Likewise.
23282         * build-aux/update-copyright: Likewise.
23283
23284 2009-09-09  Eric Blake  <ebb9@byu.net>
23285
23286         test-link: allow Linux choice of errno
23287         * tests/test-link.c (main): Relax test for alternate error.
23288
23289         strndup: fix improper m4 caching
23290         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
23291         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
23292         (gl_PREREQ_STRNDUP): Delete.
23293         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
23294         * modules/string (Makefile.am): Substitute it.
23295         * lib/string.in.h (strndup): Modernize prototype.
23296
23297         getcwd: port to mingw
23298         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
23299         different from the POSIX assumptions made throughout the getcwd
23300         module; fortunately, the mingw getcwd does not need replacement.
23301         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
23302         * modules/getcwd-tests: New test.
23303         * tests/test-getcwd.c: Likewise.
23304
23305         link: fix platform bugs
23306         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
23307         * lib/link.c (link): Work around them.  Fix related mingw bug.
23308         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
23309         * modules/unistd (Makefile.am): Substitute it.
23310         * lib/unistd.in.h (link): Declare replacement.
23311         * doc/posix-functions/link.texi (link): Document this.
23312         * modules/link (Depends-on): Add strdup-posix, sys_stat.
23313
23314         test-link: consolidate into single C program, test more cases
23315         * tests/test-link.sh: Delete.
23316         * tests/test-link.c: Test more error conditions.  Exposes bugs on
23317         at least Cygwin and Solaris.
23318         * modules/link-tests (Files): Remove unused file.
23319         (Depends-on): Add errno, sys_stat.
23320         (Makefile.am): Simplify.
23321
23322 2009-09-08  Bruno Haible  <bruno@clisp.org>
23323
23324         Work around towlower, towupper bug on mingw.
23325         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
23326         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
23327         * doc/posix-functions/towlower.texi: Mention the mingw bug.
23328         * doc/posix-functions/towupper.texi: Likewise.
23329         Reported by Eric Blake.
23330
23331 2009-09-08  Jim Meyering  <meyering@redhat.com>
23332
23333         build: don't try to run autoheader if we don't use it
23334         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
23335         is not used in configure.ac.
23336
23337 2009-09-08  Eric Blake  <ebb9@byu.net>
23338
23339         euidaccess: fix compilation error
23340         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
23341
23342         rawmemchr: relax license
23343         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
23344         okay.
23345         Reported by Jim Meyering.
23346
23347         mkfifoat: new module
23348         * modules/mkfifoat: New file.
23349         * lib/mkfifoat.c: Likewise.
23350         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
23351         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
23352         * modules/sys_stat (Makefile.am): Use them.
23353         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
23354         * MODULES.html.sh (File system functions): Mention module.
23355         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
23356         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
23357         * modules/mkfifoat-tests: New test.
23358         * tests/test-mkfifoat.c: Likewise.
23359
23360         strchrnul: relax license
23361         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
23362         okay.
23363         Reported by Jim Meyering.
23364
23365 2009-09-08  Eric Blake  <ebb9@byu.net>
23366
23367         fstatat: fix compilation on Solaris
23368         * lib/fstatat.c (includes): Add fcntl.h.
23369         Reported by Pádraig Brady.
23370
23371 2009-09-07  Eric Blake  <ebb9@byu.net>
23372
23373         rename: modernize replacement
23374         * modules/rename (Depends-on): Add stdio.
23375         (configure.ac): Declare witness.
23376         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
23377         stdio take care of replacement.
23378         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
23379         * modules/stdio (Makefile.am): Substitute them.
23380         * lib/stdio.in.h (rename): Declare replacement.
23381         * lib/rename.c (includes): Allow cross-compilation to non-windows
23382         machines.
23383         * doc/posix-functions/rename.texi (rename): Improve
23384         documentation.
23385
23386         stdio: sort witness names
23387         * modules/stdio (Makefile.am): Sort replacements.
23388         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
23389         * lib/stdio.in.h: Likewise.
23390
23391         getcwd: minor cleanups
23392         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
23393         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
23394
23395         openat: provide more convenience names
23396         * modules/faccessat (configure.ac): Add C witness.
23397         * lib/unistd.in.h (readlinkat): Fix typo.
23398         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
23399         convenience wrappers.
23400         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
23401         wrappers in syntax checks.
23402
23403 2009-09-06  Eric Blake  <ebb9@byu.net>
23404
23405         doc: fix comments in recent patches
23406         * lib/faccessat.c: Mention correct function.
23407         * lib/fchmodat.c: Likewise.
23408         * lib/fchownat.c: Likewise.
23409         * lib/symlinkat.c: Likewise.
23410         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
23411         constants.
23412
23413         faccessat, symlinkat: continue cleanup of previous patch
23414         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
23415         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
23416         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
23417         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
23418         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
23419         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
23420         set.
23421
23422 2009-09-06  Bruno Haible  <bruno@clisp.org>
23423
23424         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
23425         (fstatat): Declare if GNULIB_FSTATAT is set.
23426         (mkdirat): Declare if GNULIB_MKDIRAT is set.
23427         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
23428         (unlinkat): Declare if GNULIB_UNLINKAT is set.
23429         * modules/fcntl-h (Files): Remove m4/openat.m4.
23430         * modules/sys_stat (Files): Remove m4/openat.m4.
23431         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
23432         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
23433         * modules/unistd (Files): Remove m4/openat.m4.
23434         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
23435         GNULIB_OPENAT.
23436         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
23437         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
23438         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
23439         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
23440         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
23441         gl_OPENAT_DEFAULTS.
23442         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
23443         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
23444         Don't require gl_OPENAT_DEFAULTS.
23445         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
23446         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
23447         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
23448         (gl_OPENAT_DEFAULTS): Remove macro.
23449
23450 2009-09-06  Bruno Haible  <bruno@clisp.org>
23451
23452         * modules/openat (configure.ac): Remove unneeded witness.
23453
23454 2009-09-06  Bruno Haible  <bruno@clisp.org>
23455
23456         Set errno to ENOSYS when a function is entirely unsupported.
23457         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
23458         EOPNOTSUPP.
23459         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
23460         * modules/chown (Depends-on): Remove errno.
23461
23462 2009-09-06  Bruno Haible  <bruno@clisp.org>
23463
23464         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
23465
23466 2009-09-06  Bruno Haible  <bruno@clisp.org>
23467
23468         * lib/sys_stat.in.h: Fix preprocessor command indentation.
23469
23470 2009-09-06  Ben Pfaff  <blp@gnu.org>
23471             Bruno Haible  <bruno@clisp.org>
23472
23473         Work around a glibc bug in strtok_r.
23474         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
23475         Undefine if UNDEFINE_STRTOK_R is set.
23476         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
23477         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23478         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
23479         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
23480         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
23481         UNDEFINE_STRTOK_R.
23482         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
23483
23484 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
23485
23486         exclude: minor fix
23487         * lib/exclude.c: Include wctype.h
23488
23489 2009-09-06  Akim Demaille  <demaille@gostai.com>
23490
23491         bootstrap: improve error message
23492         * build-aux/bootstrap (find_tool): Upon failure, report the list
23493         of candidates.
23494         Honor the initial value of the envvar.
23495
23496 2009-09-05  Eric Blake  <ebb9@byu.net>
23497
23498         symlinkat: new module
23499         * modules/symlinkat: New file.
23500         * lib/symlinkat.c: Likewise.
23501         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
23502         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
23503         * modules/unistd (Makefile.am): Use them.
23504         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
23505         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
23506         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
23507         * MODULES.html.sh (File system functions): Mention module.
23508         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
23509         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
23510         * modules/symlinkat-tests: New test.
23511         * tests/test-symlinkat.c: Likewise.
23512
23513         test-openat-safer: add more checks
23514         * tests/test-openat-safer.c (main): Check more code paths.
23515
23516 2009-09-05  Jim Meyering  <meyering@redhat.com>
23517
23518         syntax-check: detect unnecessary inclusion of openat.h
23519         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
23520
23521 2009-09-05  Bruno Haible  <bruno@clisp.org>
23522
23523         Support towlower, towupper.
23524         * doc/posix-functions/towlower.texi: Mention module wctype.
23525         * doc/posix-functions/towupper.texi: Likewise.
23526         * lib/wctype.in.h (towlower, towupper): New functions.
23527         * tests/test-wctype.c: Include stdio.h, stdlib.h.
23528         (ASSERT): New macro.
23529         (e): New variable.
23530         (main): Test also towlower, towupper. Test WEOF argument.
23531         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
23532
23533 2009-09-05  Bruno Haible  <bruno@clisp.org>
23534
23535         Fix conversion behaviour when the input is invalid.
23536         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
23537         mark occurring in first pass of indirect conversion.
23538         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
23539         input.
23540         Found by clang's static analyzer.
23541
23542 2009-09-05  Bruno Haible  <bruno@clisp.org>
23543
23544         * tests/test-striconveh.c (main): Test indirect conversion on platforms
23545         where direct conversion is possible.
23546
23547 2009-09-04  Eric Blake  <ebb9@byu.net>
23548
23549         openat: fail with ENOENT on empty name
23550         * lib/openat-proc.c (openat_proc_name): Special-case the empty
23551         buffer.
23552
23553         link-follow: fix logic bug in prior patch
23554         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
23555         reversed sense of yes and no in prior patch.  Avoid confusing
23556         compilation failure with desired semantics.
23557
23558         link-follow: accomodate mingw and cross-compilation
23559         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
23560         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
23561         cross-compilation results to -1, to make linkat easier to
23562         implement when cross-compiling.  Trivially support mingw.
23563         * modules/link-follow (configure.ac): Call new name.
23564         * NEWS: Mention this.
23565
23566 2009-09-03  Eric Blake  <ebb9@byu.net>
23567
23568         faccessat: compile replacement
23569         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
23570         needed.
23571
23572         fts: fix compilation error
23573         * lib/fts.c (includes): Re-add "openat.h", for
23574         openat_needs_fchdir.
23575
23576         faccessat: new module
23577         * modules/faccessat: New file.
23578         * lib/faccessat.c: Likewise.
23579         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
23580         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23581         * modules/unistd (Makefile.am): Use it.
23582         * lib/unistd.in.h (faccessat): Declare it.
23583         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
23584         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
23585         * MODULES.html.sh (File system functions): Mention it.
23586         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
23587         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
23588
23589         euidaccess: prefer POSIX over non-standard implementation
23590         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
23591         * lib/euidaccess.c (euidaccess): Use it if available.
23592
23593         openat: make template easier to use
23594         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
23595         AT_FUNC_F2 to be undefined.
23596         (VALIDATE_FLAG): New macro; use it to reject bad flags.
23597         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
23598         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
23599         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
23600         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
23601         Likewise.
23602         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
23603         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
23604         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
23605         Likewise.
23606
23607         openat: declare in POSIX headers
23608         * NEWS: Mention this.
23609         * modules/openat (configure.ac): Declare witnesses.
23610         (Depends-on): Add fcntl-h, sys_stat, unistd.
23611         (Include): Mention correct headers.
23612         * modules/fcntl-h (Depends-on): Add link-warning.
23613         (Files): Add openat.m4.
23614         (Makefile.am): Substitute witnesses.
23615         * modules/sys_stat (Files, Makefile.am): Likewise.
23616         * modules/unistd (Files, Makefile.am): Likewise.
23617         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
23618         (gl_OPENAT_DEFAULTS): New macro.
23619         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
23620         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
23621         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
23622         (SYS_STAT_H): Remove unused variable.
23623         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
23624         * lib/fcntl--.h (includes): Remove unneeded header.
23625         * lib/openat-safer.c (includes): Likewise.
23626         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
23627         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
23628         appropriate headers.
23629         (__OPENAT_PREFIX): Delete.
23630         * lib/fcntl.in.h (openat): Provide declaration.
23631         (AT_FDCWD): Fix Solaris bug.
23632         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
23633         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
23634         * lib/fchmodat.c (includes):  Adjust to find declaration.
23635         * lib/fchownat.c (includes): Likewise.
23636         * lib/mkdirat.c (includes): Likewise.
23637         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
23638         still visible.
23639
23640 2009-09-02  Eric Blake  <ebb9@byu.net>
23641
23642         errno: use consistently
23643         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
23644         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
23645         * lib/canonicalize.c (ELOOP): Likewise.
23646         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
23647         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
23648         * lib/lchown.c (EOPNOTSUPP): Likewise.
23649         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
23650         * lib/savewd.c (ESTALE): Likewise.
23651         * lib/settime.c (ENOSYS): Likewise.
23652         * lib/utimens.c (ENOSYS): Likewise.
23653         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
23654         * lib/chdir-safer.c (ELOOP): Likewise.
23655         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
23656         * modules/c-stack (Depends-on): Add errno.
23657         * modules/canonicalize (Depends-on): Likewise.
23658         * modules/chdir-safer (Depends-on): Likewise.
23659         * modules/fdopendir (Depends-on): Likewise.
23660         * modules/inet_ntop (Depends-on): Likewise.
23661         * modules/inet_pton (Depends-on): Likewise.
23662         * modules/lchown (Depends-on): Likewise.
23663         * modules/openat (Depends-on): Likewise.
23664         * modules/savewd (Depends-on): Likewise.
23665         * modules/settime (Depends-on): Likewise.
23666         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
23667
23668         fts: avoid leaking fds
23669         * modules/fts (Depends-on): Add cloexec.
23670         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
23671         flag.
23672
23673         fts: make directory fds more robust
23674         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
23675         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
23676
23677         backupfile, chdir-long, fts, savedir: make safer
23678         * lib/backupfile.c (includes): Use "dirent--.h", since
23679         numbered_backup can write to stderr during readdir.
23680         * lib/savedir.c (includes): Likewise.
23681         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
23682         emulation can write to stderr on failure.
23683         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
23684         * lib/getcwd.c: Document why opendir_safer is unused.
23685         * lib/glob.c: Likewise.
23686         * lib/scandir.c: Likewise.
23687         * lib/openat-proc.c: Likewise, for open_safer.
23688         * modules/backupfile (Depends-on): Add dirent-safer.
23689         * modules/savedir (Depends-on): Likewise.
23690         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
23691         * modules/chdir-long (Depends-on): Add openat-safer.
23692
23693         openat-safer: new module
23694         * modules/openat-safer: New file.
23695         * lib/openat-safer.c: Likewise.
23696         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
23697         * lib/fcntl-safer.h (openat_safer): Declare.
23698         * lib/fcntl--.h (openat): Override.
23699         * MODULES.html.sh (File descriptor based I/O): Mention it.
23700         * lib/openat.h: Add double-inclusion guards.
23701         * lib/openat.c (includes): Only include "fcntl-safer.h", not
23702         "fcntl--.h", so we can implement openat.
23703         * modules/openat-safer-tests: New test.
23704         * tests/test-openat-safer.c: New file.
23705
23706         dirent-safer: new module
23707         * modules/dirent-safer: New file.
23708         * lib/dirent--.h: Likewise.
23709         * lib/dirent-safer.h: Likewise.
23710         * lib/opendir-safer.c: Likewise.
23711         * m4/dirent-safer.m4: Likewise.
23712         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
23713         * modules/dirent-safer-tests: New test.
23714         * tests/test-dirent-safer.c: New file.
23715         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
23716
23717         fdopendir: optimize on mingw
23718         * lib/unistd.in.h (_gl_directory_name): New prototype.
23719         * lib/fchdir.c (_gl_directory_name): Implement it.
23720         (fchdir): Use it to simplify implementation.
23721         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
23722         fchdir, when available, to avoid calling [f]chdir().
23723
23724         fdopendir: split into its own module
23725         * lib/openat.c (fdopendir): Move...
23726         * lib/fdopendir.c: ...into new file.
23727         * modules/fdopendir: New module.
23728         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
23729         * modules/openat (Depends-on): Add fdopendir.
23730         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
23731         fdopendir here.
23732         * modules/savedir (Depends-on): Only need fdopendir, not full
23733         openat.
23734         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
23735         * lib/openat.h (fdopendir): Drop prototype.
23736         * lib/dirent.in.h (fdopendir): Provide prototype.
23737         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
23738         * modules/dirent (Makefile.am): Substitute them.
23739         * MODULES.html.sh (File system functions): Mention it.
23740         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
23741         * modules/fdopendir-tests: New file.
23742         * tests/test-fdopendir.c: Likewise.
23743
23744         fchdir: use more consistent macro convention
23745         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
23746         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
23747         REPLACE_FCHDIR, rather than relying on config.h macros.
23748         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
23749         inside a single make-time REPLACE_FCHDIR block, rather than using
23750         the config.h FCHDIR_REPLACEMENT.
23751         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
23752         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
23753         Manage fstat replacement.
23754         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
23755         REPLACE_FCHDIR.
23756         * modules/sys_stat (Files): Add m4/unistd_h.m4.
23757         (Makefile.am): Substitute REPLACE_FCHDIR.
23758         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
23759         FCHDIR_REPLACEMENT.
23760         * lib/dup-safer.c (dup_safer): Likewise.
23761         * lib/dup2.c (rpl_dup2): Likewise.
23762         * lib/dup3.c (rpl_dup3): Likewise.
23763         * lib/open.c (rpl_open): Likewise.
23764
23765         fchdir: simplify error handling, and support dup3
23766         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
23767         stdbool, malloc-posix, realloc-posix.
23768         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
23769         (ensure_dirs_slot): Return false on allocation failure.
23770         (rpl_dup2): Delete.
23771         (_gl_register_dup): New function.
23772         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
23773         (_gl_register_fd): Close fd on allocation failure.
23774         * lib/fcntl.in.h (_gl_register_fd): Update signature.
23775         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
23776         prototype.
23777         (rpl_dup2_fchdir): Delete prototype.
23778         * lib/open.c (open): Update caller.
23779         * lib/dup2.c (dup2): Track fchdir metadata.
23780         * lib/dup3.c (dup3): Likewise.
23781         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
23782         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
23783
23784 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23785
23786         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
23787         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
23788         don't pass arguments to AC_OUTPUT.
23789
23790 2009-09-02  Bruno Haible  <bruno@clisp.org>
23791
23792         * modules/mkdtemp (License): Relicense under LGPLv2+.
23793         Reported by Paolo Bonzini.
23794
23795 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23796
23797         Replace uses of obsolete autoconf macros in Jim's modules.
23798         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
23799         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
23800         can evoke a warning from autoconf when run with -Wobsolete
23801         enabled.  They were declared obsolete for good reasons (see
23802         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
23803         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
23804         should not continue using the deprecated macros.
23805         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
23806         obsolete Autoconf macros with modern counterparts.
23807         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23808         * m4/dos.m4 (gl_AC_DOS): Likewise.
23809         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
23810         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
23811         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
23812         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
23813         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
23814         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
23815         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
23816         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
23817         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
23818         Likewise.
23819         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
23820         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23821         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
23822         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
23823         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
23824         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
23825
23826 2009-09-01  Eric Blake  <ebb9@byu.net>
23827
23828         fchdir: fix off-by-one bug in previous patch
23829         * lib/fchdir.c (rpl_fstat): Use correct bounds.
23830         (_gl_unregister_fd): Delete useless if.
23831
23832 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
23833
23834         maint.mk: sort the list of syntax-check rules
23835         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
23836         easier to get a sense of progress when the rules are run sequentially
23837         and take a long time.
23838
23839 2009-09-01  Simon Josefsson  <simon@josefsson.org>
23840
23841         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
23842         * modules/netinet_in: Likewise.
23843         * modules/sys_file: Likewise.
23844         * modules/sys_ioctl: Likewise.
23845         * modules/sys_select: Likewise.
23846         * modules/sys_socket: Likewise.
23847         * modules/sys_stat: Likewise.
23848         * modules/sys_time: Likewise.
23849         * modules/sys_times: Likewise.
23850         * modules/sys_utsname: Likewise.
23851         * modules/sys_wait: Likewise.
23852
23853 2009-09-01  Jim Meyering  <meyering@redhat.com>
23854
23855         fts: help ensure that return values are not ignored
23856         * lib/fts_.h (__GNUC_PREREQ): Define.
23857         (__attribute_warn_unused_result__): Define.
23858         (fts_children, fts_close, fts_open, fts_read): Declare with
23859         __attribute_warn_unused_result__.
23860
23861         fts: fts_close now fails also when closing a dir file descriptor fails
23862         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
23863         and propagate to caller, along with errno.
23864
23865         announce-gen: correct formatting in --help output
23866         * build-aux/announce-gen (usage): Move the one-line description in
23867         --help output "up", to where it belongs, just after Usage:.
23868
23869 2009-08-31  Eric Blake  <ebb9@byu.net>
23870
23871         fchdir: port to mingw
23872         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
23873         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
23874         opened, then use a substitute.
23875         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
23876         replacement.
23877         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
23878         (_gl_register_fd): No need to check stat if open already filters
23879         all directories.
23880         (fchdir): Fix error condition to match POSIX.
23881         * modules/fchdir (Depends-on): Add sys_stat.
23882         * doc/posix-functions/open.texi (open): Document the limitation.
23883         * modules/fchdir-tests: New file.
23884         * tests/test-fchdir.c: Likewise.
23885
23886         canonicalize: allow cross-testing from cygwin to mingw
23887         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
23888         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
23889         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
23890         Likewise.
23891         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
23892         target does not support symlinks.
23893         * tests/test-canonicalize-lgpl.sh: Likewise.
23894
23895         chown: avoid compilation warning on mingw
23896         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
23897         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
23898         mingw.
23899         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
23900         * modules/chown (Depends-on): Add errno.
23901
23902 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23903
23904         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
23905         command.
23906
23907 2009-08-31  Jim Meyering  <meyering@redhat.com>
23908
23909         canonicalize: remove useless initialization
23910         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
23911         initialization of local, "end".
23912
23913 2009-08-30  Bruno Haible  <bruno@clisp.org>
23914
23915         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
23916         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
23917         ENOSYS.
23918
23919 2009-08-30  Bruno Haible  <bruno@clisp.org>
23920
23921         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
23922         /usr/xpg4/bin/tr when it exists.
23923         * tests/test-pipe-filter-gi1.sh: Likewise.
23924
23925 2009-08-30  Bruno Haible  <bruno@clisp.org>
23926
23927         Work around deficient /usr/bin/id program on Solaris.
23928         * tests/test-file-has-acl.sh (ID): New variable.
23929         * tests/test-set-mode-acl.sh (ID): Likewise.
23930         * tests/test-copy-acl.sh (ID): Likewise.
23931         * tests/test-copy-file.sh (ID): Likewise.
23932
23933 2009-08-30  Bruno Haible  <bruno@clisp.org>
23934
23935         New module 'xstriconveh'.
23936         * lib/xstriconveh.h: New file.
23937         * lib/xstriconveh.c: New file.
23938         * modules/xstriconveh: New file.
23939
23940 2009-08-30  Bruno Haible  <bruno@clisp.org>
23941
23942         Make it easier to use mem_cd_iconveh.
23943         * lib/striconveh.h (iconveh_t): New type.
23944         (iconveh_open, iconveh_close): New declarations.
23945         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
23946         with a single 'const iconveh_t *' argument.
23947         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
23948         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
23949         with a single 'const iconveh_t *' argument.
23950         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
23951         * tests/test-striconveh.c (main): Update.
23952         * NEWS: Mention the change.
23953
23954 2009-08-30  Bruno Haible  <bruno@clisp.org>
23955
23956         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
23957         problem.
23958
23959 2009-08-30  Bruno Haible  <bruno@clisp.org>
23960
23961         Work around iconv_open problem on Solaris.
23962         * lib/iconv_open-solaris.gperf: New file.
23963         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
23964         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
23965         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
23966         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
23967         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
23968         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
23969
23970 2009-08-29  Jim Meyering  <meyering@redhat.com>
23971
23972         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
23973         * top/maint.mk (cvs-check): Remove target; it was just an alias
23974         to the better-named vc-diff-check.
23975         (maintainer-distcheck): Remove rule.  It was used only from
23976         the (alpha/beta/major) target, and all of its commands but one
23977         were coreutils-specific.
23978         (vc-dist): Remove rule.
23979         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
23980         Run vc-diff-check, not vc-dist.
23981         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
23982
23983 2009-08-27  Bruno Haible  <bruno@clisp.org>
23984
23985         * tests/test-bitrotate.c (main): Remove test that uses a shift count
23986         of 0.
23987
23988 2009-08-27  Bruno Haible  <bruno@clisp.org>
23989
23990         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
23991         compilers.
23992         * doc/func.texi: Document the SunPRO C bug.
23993
23994 2009-08-27  Bruno Haible  <bruno@clisp.org>
23995
23996         Fix link error on Solaris.
23997         * tests/test-parse-duration.c (xstrdup): Remove function.
23998
23999 2009-08-26  Pádraig Brady  <P@draigbrady.com>
24000
24001         ignore-value: handle pointer types, too
24002         * lib/ignore-value.h (__attribute__): Remove definition.
24003         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
24004         of a more concise and more-often effective "(void) i" statement.
24005         (ignore_ptr): New function to suppress warnings from functions that
24006         return pointers, and to make it explicit that one function doesn't
24007         handle all cases.
24008
24009 2009-08-25  Bruno Haible  <bruno@clisp.org>
24010
24011         dup2: work around a Linux bug.
24012         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
24013         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
24014         * doc/posix-functions/dup2.texi: Mention the Linux bug.
24015         Reported by Simon Josefsson.
24016
24017 2009-08-25  Jim Meyering  <meyering@redhat.com>
24018
24019         libguestfs uses gnulib
24020         * users.txt: Add libguestfs.
24021
24022 2009-08-24  Eric Blake  <ebb9@byu.net>
24023
24024         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
24025         * lib/pipe2.c (includes): Add binary-io.h.
24026         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
24027
24028 2009-08-24  Bruno Haible  <bruno@clisp.org>
24029
24030         Tolerate declared but missing accept4 syscall.
24031         * lib/accept4.c (accept4): Invoke original accept4 function first, if
24032         available.
24033         * lib/sys_socket.in.h (accept4): If the function is already present,
24034         override it.
24035         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
24036         * modules/accept4 (Makefile.am): Compile accept4.c always.
24037         Reported by Paolo Bonzini and Eric Blake.
24038
24039 2009-08-23  Bruno Haible  <bruno@clisp.org>
24040
24041         New module 'accept4'.
24042         * lib/sys_socket.in.h (accept4): New declaration.
24043         * lib/accept4.c: New file.
24044         * m4/accept4.m4: New file.
24045         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24046         GNULIB_ACCEPT4, HAVE_ACCEPT4.
24047         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
24048         HAVE_ACCEPT4.
24049         * modules/accept4: New file.
24050         * doc/glibc-functions/accept4.texi: Mention the new module.
24051
24052 2009-08-24  Jim Meyering  <meyering@redhat.com>
24053
24054         progname: also set global program_invocation_name, when possible
24055         Before this change, a libtool-enabled program that calls glibc's
24056         error function would report the program name as
24057         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
24058         * modules/progname (configure.ac): Check for a declaration of
24059         program_invocation_name.
24060         * lib/progname.c:  Include <errno.h>.
24061         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
24062         Set program_invocation_name.
24063
24064 2009-08-23  Bruno Haible  <bruno@clisp.org>
24065
24066         * lib/dup3.c: Include <string.h>.
24067
24068 2009-08-23  Bruno Haible  <bruno@clisp.org>
24069
24070         * lib/dup3.c (dup3): Test only once whether the system actually exists.
24071         * lib/pipe2.c (pipe2): Likewise.
24072         Suggested by Eric Blake.
24073
24074 2009-08-23  Bruno Haible  <bruno@clisp.org>
24075
24076         Tolerate declared but missing dup3 syscall.
24077         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
24078         * lib/unistd.in.h (dup3): If the function is already present,
24079         override it.
24080         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
24081         * modules/dup3 (Makefile.am): Compile dup3.c always.
24082         Reported by Paolo Bonzini.
24083
24084 2009-08-23  Bruno Haible  <bruno@clisp.org>
24085
24086         Tolerate declared but missing pipe2 syscall.
24087         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
24088         available.
24089         * lib/unistd.in.h (pipe2): If the function is already present,
24090         override it.
24091         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
24092         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
24093         Reported by Paolo Bonzini.
24094
24095 2009-08-23  Bruno Haible  <bruno@clisp.org>
24096
24097         * lib/pipe2.c (pipe2): Move #ifs inside function.
24098
24099 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24100
24101         quotearg: document limitations of quote_these_too
24102         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
24103         those limitations are created.
24104         * lib/quotearg.h (set_char_quoting): Document that digits and
24105         letters that are special after backslash are not permitted.
24106         (quotearg_char): Cross-reference set_char_quoting documentation.
24107
24108 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
24109
24110         quotearg: implement custom_quoting_style
24111         * lib/quotearg.c: (struct quoting_options): Add left_quote and
24112         right_quote fields.
24113         (set_custom_quoting): New public function.
24114         (quotearg_buffer_restyled): Add left_quote and right_quote
24115         arguments, handle them very much like locale quoting, and update
24116         all uses.
24117         (quotearg_n_custom): New public function.
24118         (quotearg_n_custom_mem): New public function.
24119         (quotearg_custom): New public function.
24120         (quotearg_custom_mem): New public function.
24121         * lib/quotearg.h: Prototype and document new public functions.
24122         (enum quoting_style): For escape_quoting_style and
24123         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
24124         ignored even though they're otherwise like c_quoting_style.
24125         Add custom_quoting_style member and document with comparison to
24126         clocale_quoting_style.
24127         * tests/test-quotearg.c (custom_quotes): New array.
24128         (custom_results): New array.
24129         (main): Extend to test custom quoting.
24130
24131 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24132
24133         quotearg: fix right quote escaping when it's in quote_these_too
24134         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
24135         quote, be sure to prepend only one backslash.
24136         * tests/test-quotearg.c (use_quote_double_quotes): New function.
24137         (main): Test it.
24138
24139 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24140
24141         quotearg-tests: test escaping of embedded locale quotes
24142         * tests/test-quotearg.c (struct result_strings): Add member for
24143         new input.
24144         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
24145         (inputs): Add new input.
24146         (results_g): Add expected results.
24147         (flag_results): Likewise.
24148         (locale_results): Likewise.
24149         (compare_strings): Check those.
24150
24151 2009-08-23  Bruno Haible  <bruno@clisp.org>
24152
24153         Tests for module 'dup3'.
24154         * modules/dup3-tests: New file.
24155         * tests/test-dup3.c: New file.
24156
24157         New module 'dup3'.
24158         * lib/unistd.in.h (dup3): New declaration.
24159         * lib/dup3.c: New file.
24160         * m4/dup3.m4: New file.
24161         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
24162         HAVE_DUP3.
24163         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
24164         * modules/dup3: New file.
24165         * doc/glibc-functions/dup3.texi: Mention the new module.
24166
24167 2009-08-23  Bruno Haible  <bruno@clisp.org>
24168
24169         Tweak the dup2 test.
24170         * tests/test-dup2.c (main): Create the test file empty. Verify that an
24171         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
24172         the test file is still empty. Fix argument order of lseek.
24173
24174 2009-08-23  Bruno Haible  <bruno@clisp.org>
24175
24176         Avoid test link errors when the modules getopt-gnu, gettext are used.
24177         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
24178         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24179
24180 2009-08-23  Bruno Haible  <bruno@clisp.org>
24181
24182         Fix getdtablesize() on mingw.
24183         * lib/getdtablesize.c (getdtablesize): Implement differently.
24184         * lib/unistd.in.h (getdtablesize): Improve comment.
24185
24186 2009-08-23  Bruno Haible  <bruno@clisp.org>
24187
24188         New module 'mkostemp'.
24189         Based on Ulrich Drepper's 2007-08-10 change in glibc.
24190         * lib/stdlib.in.h (mksotemp): New declaration.
24191         * lib/mkostemp.c: New file, from glibc with modifications.
24192         * lib/tempname.h (GT_FILE): Remove outdated comment.
24193         (gen_tempname): Add flags argument.
24194         * lib/tempname.c (__GT_BIGFILE): Remove macro.
24195         (__GT_FILE): Map to 1.
24196         (small_open, large_open): Remove macros.
24197         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
24198         * lib/mkstemp.c (mkstemp): Update.
24199         * lib/mkdtemp.c (mkdtemp): Likewise.
24200         * m4/mkostemp.m4: New file.
24201         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
24202         HAVE_MKOSTEMP.
24203         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
24204         HAVE_MKOSTEMP.
24205         * modules/mkostemp: New file, based on modules/mkstemp.
24206         * doc/glibc-functions/mkostemp.texi: Mention the new module.
24207         * NEWS: Mention the change.
24208
24209 2009-08-23  Bruno Haible  <bruno@clisp.org>
24210
24211         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
24212         Reported by Eric Blake.
24213
24214 2009-08-23  Bruno Haible  <bruno@clisp.org>
24215
24216         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
24217         Reported by Eric Blake.
24218
24219 2009-08-23  Bruno Haible  <bruno@clisp.org>
24220
24221         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
24222         * modules/pipe2 (Depends-on): Likewise.
24223
24224 2009-08-23  Eric Blake  <ebb9@byu.net>
24225
24226         fcntl-h: add O_TTY_INIT support
24227         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
24228         * tests/test-fcntl-h.c (o): Test it.
24229         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
24230
24231         fcntl-h: rename from fcntl, in preparation for fcntl(2)
24232         * modules/fcntl: Move <fcntl.h> header replacement...
24233         * modules/fcntl-h: ...to new name, so as not to collide with
24234         like-named function.
24235         * tests/test-fcntl.c: Rename...
24236         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
24237         * modules/fcntl-tests: Rename...
24238         * modules/fcntl-h-tests: ...to this.  Update test file name.
24239         * modules/chdir-long (Depends-on): Update clients.
24240         * modules/chdir-safer (Depends-on): Likewise.
24241         * modules/fcntl-safer (Depends-on): Likewise.
24242         * modules/fts (Depends-on): Likewise.
24243         * modules/mkancesdirs (Depends-on): Likewise.
24244         * modules/mkdir-p (Depends-on): Likewise.
24245         * modules/open (Depends-on): Likewise.
24246         * modules/savewd (Depends-on): Likewise.
24247         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
24248         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
24249
24250 2009-08-22  Bruno Haible  <bruno@clisp.org>
24251
24252         * modules/binary-io (License): Relicense under LGPL.
24253         * modules/pipe2 (License): Likewise.
24254
24255 2009-08-22  Bruno Haible  <bruno@clisp.org>
24256
24257         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
24258         return value.
24259         * lib/pipe-filter-gi.c (filter_init): Likewise.
24260         Reported by Eric Blake.
24261
24262 2009-08-22  Bruno Haible  <bruno@clisp.org>
24263
24264         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
24265         * modules/pipe (Depends-on): Add pipe2.
24266
24267 2009-08-22  Bruno Haible  <bruno@clisp.org>
24268
24269         Tests for module 'pipe2'.
24270         * modules/pipe2-tests: New file.
24271         * tests/test-pipe2.c: New file.
24272
24273         New module 'pipe2'.
24274         * lib/unistd.in.h (pipe2): New declaration.
24275         * lib/pipe2.c: New file.
24276         * m4/pipe2.m4: New file.
24277         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
24278         HAVE_PIPE2.
24279         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
24280         * modules/pipe2: New file.
24281         * doc/glibc-functions/pipe2.texi: Mention the new module.
24282
24283 2009-08-22  Bruno Haible  <bruno@clisp.org>
24284
24285         Reference some new glibc functions.
24286         * doc/glibc-functions/accept4.texi: New file.
24287         * doc/glibc-functions/dup3.texi: New file.
24288         * doc/glibc-functions/mkostemp.texi: New file.
24289         * doc/glibc-functions/pipe2.texi: New file.
24290         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
24291         (Glibc sys/socket.h): Refer to accept4.
24292         (Glibc unistd.h): Refer to dup3, pipe2.
24293         Reported by Eric Blake.
24294
24295 2009-08-22  Jim Meyering  <meyering@redhat.com>
24296             Bruno Haible  <bruno@clisp.org>
24297
24298         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
24299         This makes it so packages using automake-1.11's silent-rules option
24300         can print e.g., a single "GEN    configmake.h" line, rather than
24301         the 30+ statements that perform the job.  If you want to see the
24302         actual commands, you can still run "make V=1".
24303         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
24304         so that make output is abbreviated when those variables are defined
24305         appropriately.
24306         * modules/argz: Likewise.
24307         * modules/arpa_inet: Likewise.
24308         * modules/byteswap: Likewise.
24309         * modules/configmake: Likewise.
24310         * modules/dirent: Likewise.
24311         * modules/errno: Likewise.
24312         * modules/fcntl: Likewise.
24313         * modules/float: Likewise.
24314         * modules/fnmatch: Likewise.
24315         * modules/getopt-posix: Likewise.
24316         * modules/glob: Likewise.
24317         * modules/iconv_open: Likewise.
24318         * modules/inttypes: Likewise.
24319         * modules/localcharset: Likewise.
24320         * modules/locale: Likewise.
24321         * modules/math: Likewise.
24322         * modules/netdb: Likewise.
24323         * modules/netinet_in: Likewise.
24324         * modules/poll: Likewise.
24325         * modules/posix_spawnp-tests: Likewise.
24326         * modules/sched: Likewise.
24327         * modules/search: Likewise.
24328         * modules/selinux-h: Likewise.
24329         * modules/signal: Likewise.
24330         * modules/spawn: Likewise.
24331         * modules/stdarg: Likewise.
24332         * modules/stdbool: Likewise.
24333         * modules/stddef: Likewise.
24334         * modules/stdint: Likewise.
24335         * modules/stdio: Likewise.
24336         * modules/stdlib: Likewise.
24337         * modules/string: Likewise.
24338         * modules/strings: Likewise.
24339         * modules/sys_file: Likewise.
24340         * modules/sys_ioctl: Likewise.
24341         * modules/sys_select: Likewise.
24342         * modules/sys_socket: Likewise.
24343         * modules/sys_stat: Likewise.
24344         * modules/sys_time: Likewise.
24345         * modules/sys_times: Likewise.
24346         * modules/sys_utsname: Likewise.
24347         * modules/sys_wait: Likewise.
24348         * modules/sysexits: Likewise.
24349         * modules/time: Likewise.
24350         * modules/unistd: Likewise.
24351         * modules/wchar: Likewise.
24352         * modules/wctype: Likewise.
24353
24354 2009-08-22  Jim Meyering  <meyering@redhat.com>
24355
24356         announce-gen: detect write failure
24357         * build-aux/announce-gen: Add Coda at end.
24358         Remove equivalent-but-more-verbose block at top.
24359
24360 2009-08-19  Akim Demaille  <demaille@gostai.com>
24361
24362         bootstrap: --help to stdout.
24363         * bootstrap (usage): Don't send --help to stderr.
24364         Use a here doc instead of a long string.
24365
24366 2009-08-21  Eric Blake  <ebb9@byu.net>
24367
24368         test-popen-safer: split from test-popen
24369         * tests/test-popen.c (main): Move...
24370         * tests/test-popen.h: ...into new file.
24371         * tests/test-popen-safer2.c: New file.
24372         * modules/popen-tests (Files): Add test-popen.h.
24373         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
24374         Suggested by Bruno Haible.
24375
24376         test-fcntl-safer: split from test-open
24377         * tests/test-open.c (main): Move...
24378         * tests/test-open.h: ...into new file.
24379         * tests/test-fcntl-safer.c: New file.
24380         * modules/open-tests (Files): Add test-open.h.
24381         * modules/fcntl-safer-tests: New file.
24382         Suggested by Bruno Haible.
24383
24384         test-fopen-safer: split from test-fopen
24385         * tests/test-fopen.c (main): Move...
24386         * tests/test-fopen.h: ...into new file.
24387         * tests/test-fopen-safer.c: New file.
24388         * modules/fopen-tests (Files): Add test-fopen.h.
24389         * modules/fopen-safer-tests: New file.
24390         Suggested by Bruno Haible.
24391
24392 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
24393
24394         popen-safer: test O_CLOEXEC at run-time.
24395         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
24396
24397 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
24398
24399         fcntl: move more flags to the header
24400         * lib/cloexec.c: Do not define FD_CLOEXEC here.
24401         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
24402         * lib/fcntl.in.h: Do both things here.
24403
24404 2009-08-21  Jim Meyering  <meyering@redhat.com>
24405
24406         consistently remove $@-t before redirecting to it
24407         * modules/argz: Remove $@-t and $@ before redirecting to the former.
24408         * modules/alloca-opt: Likewise.
24409         * modules/byteswap: Likewise.
24410         * modules/fnmatch: Likewise.
24411         * modules/getopt-posix: Likewise.
24412         * modules/glob: Likewise.
24413         * modules/poll: Likewise.
24414         * modules/posix_spawnp-tests: Likewise.
24415         * modules/sys_socket: Likewise.
24416         * modules/sysexits: Likewise.
24417
24418 2009-08-21  Eric Blake  <ebb9@byu.net>
24419
24420         popen: simplify access to original popen
24421         * lib/popen.c (rpl_popen): No need to worry about popen being a
24422         macro.
24423         Reported by Bruno Haible.
24424
24425 2009-08-20  Eric Blake  <ebb9@byu.net>
24426
24427         build: avoid some compiler warnings
24428         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
24429         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
24430         type.
24431         (new_exclude_segment, excluded_file_pattern_p)
24432         (excluded_file_name_p): Reduce scope.
24433         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
24434         old-style declaration.
24435
24436 2009-08-20  Simon Josefsson  <simon@josefsson.org>
24437
24438         * tests/test-exclude1.sh: Handle Windows EOL.
24439         * tests/test-exclude2.sh: Likewise.
24440         * tests/test-exclude3.sh: Likewise.
24441         * tests/test-exclude4.sh: Likewise.
24442         * tests/test-exclude5.sh: Likewise.
24443         * tests/test-exclude6.sh: Likewise.
24444         * tests/test-exclude7.sh: Likewise.
24445
24446 2009-08-19  Akim Demaille  <demaille@gostai.com>
24447
24448         bootstrap: find sha1sum when named gsha1sum.
24449         * bootstrap (find_tool): New.
24450         ($SHA1SUM): New.
24451         Use it.
24452
24453 2009-08-20  Jim Meyering  <meyering@redhat.com>
24454
24455         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
24456         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
24457         expression that converts "." in a file name to "\." in the resulting
24458         regexp.  Start with a dummy statement, so that prior shell variable
24459         definitions are expanded portably.  Reported by Simon Josefsson.
24460
24461 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
24462
24463         Fix polling for writeability of a screen buffer.
24464         * lib/poll.c: Distinguish input and screen buffers for the
24465         Win32 implementation.
24466         * lib/select.c: Likewise.
24467
24468 2009-08-19  Eric Blake  <ebb9@byu.net>
24469
24470         popen-safer: prevent popen from clobbering std descriptors
24471         * modules/popen-safer: New file.
24472         * lib/popen-safer.c: Likewise.
24473         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
24474         * lib/stdio--.h (popen): Provide override.
24475         * lib/stdio-safer.h (popen_safer): Provide declaration.
24476         * tests/test-popen.c (includes): Partially test this.
24477         * modules/popen-safer-tests: New file, for more tests.
24478         * tests/test-popen-safer.c: Likewise.
24479         * MODULES.html.sh (file stream based Input/Output): Mention it.
24480
24481         tests: test some of the *-safer modules
24482         * modules/fopen-safer (Depends-on): Add fopen.
24483         * modules/fcntl-safer (Depends-on): Add fcntl.
24484         * modules/stdlib-safer (Depends-on): Add stdlib.
24485         (configure.ac): Set indicator.
24486         * modules/unistd-safer (configure.ac): Likewise.
24487         * modules/tmpfile-safer (configure.ac): Likewise.
24488         (Depends-on): Add tmpfile.
24489         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
24490         active.
24491         * tests/test-fopen.c (includes): Test safer versions when they are
24492         in use.
24493         * tests/test-open.c (includes): Likewise.
24494
24495         popen: fix cygwin 1.5 bug when stdin closed
24496         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
24497         * modules/popen: New file.
24498         * modules/popen-tests: Likewise.
24499         * tests/test-popen.c: Likewise.
24500         * m4/popen.m4: Likewise.
24501         * lib/popen.c: Likewise.
24502         * lib/stdio.in.h (popen): New declaration.
24503         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
24504         * modules/stdio (Makefile.am): Likewise.
24505         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
24506
24507 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
24508
24509         maint.mk: give full control over update-copyright exclusions
24510         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
24511         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
24512         (update-copyright): Don't force inclusion of top-level
24513         ChangeLog.  Don't force exclusion of all COPYING files, but make
24514         them the default exclusion instead.
24515
24516 2009-08-16  Bruno Haible  <bruno@clisp.org>
24517
24518         Fix test failures on Solaris 10.
24519         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
24520         tests when Solaris iconv() is used.
24521         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
24522         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
24523         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
24524         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
24525         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
24526
24527 2009-08-16  Bruno Haible  <bruno@clisp.org>
24528
24529         Fix test failures on Solaris 10.
24530         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
24531         'tr' program and pass it as first argument.
24532         * tests/test-pipe-filter-gi1.sh: Likewise.
24533         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
24534         program as first argument.
24535         * tests/test-pipe-filter-gi1.c (main): Likewise.
24536
24537 2009-08-16  Eric Blake  <ebb9@byu.net>
24538
24539         fpurge: fix previous commits
24540         * modules/fpurge (Makefile.am): Make replacement conditional,
24541         partially reverting 2007-04-29 change; missed in previous
24542         attempt.
24543         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
24544         is missing.
24545
24546 2009-08-16  Bruno Haible  <bruno@clisp.org>
24547
24548         Clarify fpurge's effect on the file position.
24549         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
24550         * tests/test-fpurge.c (main): Make a second pass for checking the file
24551         position.
24552
24553 2009-08-16  Bruno Haible  <bruno@clisp.org>
24554
24555         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
24556         declaration of fpurge is missing.
24557         * tests/test-fpurge.c (main): Check that the file has not more contents
24558         than expected. Close the file before removing it.
24559
24560 2009-08-15  Eric Blake  <ebb9@byu.net>
24561
24562         fpurge: don't wrap working cygwin implementation
24563         * lib/fpurge.c (fpurge): Fix comment typo.
24564         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
24565         1.7 to avoid replacement.
24566         * tests/test-fpurge.c (main): Enhance test.
24567
24568 2009-08-15  Eric Blake  <ebb9@byu.net>
24569         and Jim Meyering  <meyering@redhat.com>
24570
24571         test-update-copyright: skip if perl is insufficient
24572         * tests/test-update-copyright.sh: Failure to run maintainer tool
24573         should not cause testsuite failure on cygwin 1.5.
24574
24575 2009-08-14  Eric Blake  <ebb9@byu.net>
24576
24577         doc: mention more functions added in cygwin 1.7.0
24578         * doc/posix-headers/limits.texi (limits.h): Update for recent
24579         cygwin additions.
24580         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
24581         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
24582         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
24583         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
24584         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
24585
24586 2009-08-14  Eric Blake  <ebb9@byu.net>
24587
24588         maint.mk: simplify update-copyright rule
24589         * top/maint.mk (update-copyright-local): Delete, and document how
24590         to do it in cfg.mk instead.
24591         (update-copyright-exclude-regexp): Delete, and document how to do
24592         it in .x-update-copyright instead.
24593         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
24594         exclude ChangeLog.
24595
24596 2009-08-14  Bruno Haible  <bruno@clisp.org>
24597
24598         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
24599
24600 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
24601
24602         maint.mk: support update-copyright-env
24603         * top/maint.mk (update-copyright-env): Define place-holder.
24604         (update-copyright): Expand $(update-copyright-env) before
24605         invoking update-copyright.
24606
24607 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
24608
24609         update-copyright: implement forced reformatting
24610         * build-aux/update-copyright: Implement and document
24611         UPDATE_COPYRIGHT_FORCE.
24612         * tests/test-update-copyright.sh: Test it.
24613
24614 2009-08-14  Eric Blake  <ebb9@byu.net>
24615         and Bruno Haible  <bruno@clisp.org>
24616
24617         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
24618         * tests/test-locale.c: Revert previous patch related to NULL.
24619         * tests/test-stdio.c: Likewise.
24620         * tests/test-stdlib.c: Likewise.
24621         * tests/test-string.c: Likewise.
24622         * tests/test-unistd.c: Likewise.
24623         * modules/time-tests (Depends-on): Add verify.
24624         * modules/wchar-tests (Depends-on): Likewise.
24625         * tests/test-time.c: Test for NULL compliance.
24626         * tests/test-wchar.c: Likewise.
24627         * modules/locale (Depends-on): Add stddef.
24628         * modules/stdio (Depends-on): Likewise.
24629         * modules/stdlib (Depends-on): Likewise.
24630         * modules/string (Depends-on): Likewise.
24631         * modules/time (Depends-on): Likewise.
24632         * modules/unistd (Depends-on): Likewise.
24633         * modules/wchar (Depends-on): Likewise.
24634         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
24635         * lib/stdlib.in.h (includes): Likewise.
24636         * lib/string.in.h (includes): Likewise.
24637         * lib/time.in.h (includes): Likewise.
24638         * lib/unistd.in.h (includes): Likewise.
24639         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
24640         replaced.
24641         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
24642         * m4/stddef_h.m4: New file.
24643         * modules/stddef: Likewise.
24644         * lib/stddef.in.h: Likewise.
24645         * modules/stddef-tests: Likewise.
24646         * tests/test-stddef.c: Likewise.
24647         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
24648         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
24649         * doc/posix-headers/locale.texi (locale.h): Likewise.
24650         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
24651         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24652         * doc/posix-headers/string.texi (string.h): Likewise.
24653         * doc/posix-headers/time.texi (time.h): Likewise.
24654         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
24655         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
24656
24657 2009-08-14  Eric Blake  <ebb9@byu.net>
24658
24659         doc: improve git diff of texinfo files
24660         * .gitattributes: Add rule for *.texi files, with hint on how to
24661         use it.
24662         Copied from m4, and based on a report by Bruno Haible.
24663
24664 2009-08-14  Bruno Haible  <bruno@clisp.org>
24665
24666         Disable multithread support by default on Cygwin 1.5.x for real.
24667         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
24668
24669 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
24670
24671         update-copyright: much ado about intervals
24672         * build-aux/update-copyright: Implement and document
24673         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
24674         of copyright year intervals.
24675         Also, document UPDATE_COPYRIGHT_YEAR.
24676         * tests/test-update-copyright.sh: Test it.
24677
24678         update-copyright: convert 2-digit to 4-digit years
24679         * build-aux/update-copyright: Implement and document.
24680         * tests/test-update-copyright.sh: Update.
24681
24682 2009-08-14  Jim Meyering  <meyering@redhat.com>
24683
24684         test-exclude: avoid coreutils "make check" failure
24685         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
24686         just as in test-argmatch.c.
24687
24688 2009-08-13  Eric Blake  <ebb9@byu.net>
24689
24690         test-dup2: fix bad assumption
24691         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
24692         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
24693
24694         test-version-etc: fix CRLF portability issue
24695         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
24696         recognize \r.
24697         * tests/test-argp-version-etc-1.sh: Likewise.
24698
24699         getopt: update client modules
24700         * modules/argp (Depends-on): Use getopt-gnu.
24701         * modules/git-merge-changelog (Depends-on): Likewise.
24702         * modules/long-options (Depends-on): Likewise.
24703         * modules/xstrtol (Depends-on): Likewise.
24704
24705 2009-08-13  Simon Josefsson  <simon@josefsson.org>
24706
24707         * tests/test-version-etc.sh: Don't fail on different
24708         project/version.  Don't fail on CRLF differences.  Rewrite to use
24709         multiple -e instead of multiple sed forks, suggested by Eric Blake
24710         <ebb9@byu.net>.
24711         * tests/test-argp-version-etc-1.sh: Likewise.
24712
24713 2009-08-13  Simon Josefsson  <simon@josefsson.org>
24714
24715         * tests/test-version-etc.sh: Don't fail on different
24716         project/version.
24717
24718 2009-08-12  Bruno Haible  <bruno@clisp.org>
24719
24720         Tests for modules 'getopt-posix', 'getopt-gnu'.
24721         * modules/getopt-posix-tests: New file.
24722         * tests/test-getopt.c: New file.
24723         * tests/test-getopt.h: New file.
24724         * tests/test-getopt_long.h: New file.
24725
24726         New modules 'getopt-posix', 'getopt-gnu'.
24727         * modules/getopt-gnu: New file, renamed from modules/getopt.
24728         * modules/getopt-posix: New file.
24729         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
24730         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
24731         (gl_GETOPT): Remove macro.
24732         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
24733         Disable the test against BSD systems that declare optreset. Test
24734         against mingw bug. Test against lack of support of optional arguments
24735         on many platforms.
24736         * doc/glibc-headers/getopt.texi: Update module name and list of
24737         relevant platforms.
24738         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
24739         'getopt-gnu' and more portability problems.
24740         * NEWS: Mention the changes.
24741
24742 2009-08-12  Bruno Haible  <bruno@clisp.org>
24743
24744         Ensure that optarg etc. get declared by <unistd.h>.
24745         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
24746         AC_USE_SYSTEM_EXTENSIONS.
24747         * modules/getopt (Depends-on): Add 'extensions'.
24748
24749 2009-08-12  Bruno Haible  <bruno@clisp.org>
24750
24751         Avoid test link errors.
24752         * modules/pipe-filter-ii-tests (Makefile.am): Define
24753         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
24754         * modules/pipe-filter-gi-tests (Makefile.am): Define
24755         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
24756         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24757
24758 2009-08-12  Bruno Haible  <bruno@clisp.org>
24759
24760         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
24761         gl_GETOPT_SUBSTITUTE before.
24762         (gl_GETOPT): Use it.
24763         * m4/argp.m4 (gl_ARGP): Update.
24764         Reported by Sergey Poznyakoff.
24765
24766         * m4/getopt.m4: Reorder macros.
24767         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
24768         (gl_GETOPT_SUBSTITUTE): Remove macro.
24769
24770 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
24771
24772         Minor improvement in gitlog-to-changelog
24773
24774         * build-aux/gitlog-to-changelog: New option `--format' makes
24775         output format string configurable.
24776
24777 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
24778
24779         Optimize exclude: use hash tables for non-wildcard patterns.
24780
24781         * lib/exclude.c: Include hash.h and mbuiter.h
24782         (struct exclude_pattern, exclude_segment): New data types.
24783         (struct exclude): Rewrite.
24784         (fnmatch_pattern_has_wildcards): New function.
24785         (new_exclude_segment, free_exclude_segment): New functions.
24786         (excluded_file_pattern_p, excluded_file_name_p): New functions.
24787         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
24788         * lib/exclude.h (is_fnmatch_pattern): New prototype.
24789         * modules/exclude: Depend on hash and mbuiter.
24790
24791         * modules/exclude-tests: New file.
24792         * tests/test-exclude.c: New file.
24793         * tests/test-exclude1.sh: New file.
24794         * tests/test-exclude2.sh: New file.
24795         * tests/test-exclude3.sh: New file.
24796         * tests/test-exclude4.sh: New file.
24797         * tests/test-exclude5.sh: New file.
24798         * tests/test-exclude6.sh: New file.
24799         * tests/test-exclude7.sh: New file.
24800
24801 2009-08-12  Bruno Haible  <bruno@clisp.org>
24802
24803         Ensure that getopt() gets declared by <unistd.h>.
24804         * lib/unistd.in.h: Conditionally include getopt.h.
24805         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
24806         Set GNULIB_UNISTD_H_GETOPT.
24807         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24808         GNULIB_UNISTD_H_GETOPT.
24809         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
24810
24811 2009-08-12  Bruno Haible  <bruno@clisp.org>
24812
24813         Clarify logic.
24814         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
24815         gl_replace_getopt instead of GETOPT_H.
24816
24817 2009-08-12  Bruno Haible  <bruno@clisp.org>
24818
24819         * m4/getopt.m4: Add comments.
24820
24821 2009-08-12  Bruno Haible  <bruno@clisp.org>
24822
24823         Disable multithread support by default on Cygwin 1.5.x.
24824         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
24825         set gl_use_threads=no if not specified otherwise.
24826
24827 2009-08-11  Bruno Haible  <bruno@clisp.org>
24828
24829         Avoid compilation error on NetBSD 5.0.
24830         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
24831         * tests/test-stdio.c: Likewise.
24832         * tests/test-stdlib.c: Likewise.
24833         * tests/test-string.c: Likewise.
24834         * tests/test-unistd.c: Likewise.
24835         Reported by Greg Troxel <gdt@ir.bbn.com>
24836         at <https://savannah.gnu.org/support/?106973>.
24837
24838 2009-08-11  Bruno Haible  <bruno@clisp.org>
24839
24840         * modules/dup2-tests (Depends-on): Remove close.
24841
24842         Undo 2009-07-19 commit.
24843         * modules/acl-tests (Depends-on): Remove close.
24844         * modules/binary-io-tests (Depends-on): Likewise.
24845         * modules/closein-tests (Depends-on): Likewise.
24846         * modules/flock-tests (Depends-on): Likewise.
24847         * modules/fsync-tests (Depends-on): Likewise.
24848         * modules/lseek-tests (Depends-on): Likewise.
24849         * modules/pipe-tests (Depends-on): Likewise.
24850         * modules/posix_spawn-tests (Depends-on): Likewise.
24851         * modules/posix_spawnp-tests (Depends-on): Likewise.
24852         * modules/stat-time-tests (Depends-on): Likewise.
24853         * modules/yesno-tests (Depends-on): Likewise.
24854
24855 2009-08-10  Bruno Haible  <bruno@clisp.org>
24856
24857         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
24858
24859 2009-08-10  Bruno Haible  <bruno@clisp.org>
24860
24861         Fix a gcc warning.
24862         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
24863
24864 2009-08-10  Bruno Haible  <bruno@clisp.org>
24865
24866         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
24867         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
24868         not only the first time.
24869         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
24870         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
24871         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
24872         is 1, not only the the first time.
24873
24874 2009-08-10  Bruno Haible  <bruno@clisp.org>
24875
24876         Make it possible to use module 'gethostname' without module 'close'.
24877         * lib/unistd.in.h (close): Evoke a link error only if
24878         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
24879         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24880         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24881         * modules/unistd (Makefile.am): Substitute
24882         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24883         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
24884         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
24885         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
24886         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24887         * modules/sys_ioctl (Makefile.am): Substitute
24888         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24889         * modules/socket (configure.ac): On native Windows, set
24890         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
24891         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24892         Reported by Sam Steingold <sds@gnu.org>.
24893
24894 2009-08-10  Bruno Haible  <bruno@clisp.org>
24895
24896         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
24897         * modules/ioctl (configure.ac): Likewise.
24898
24899 2009-08-10  Bruno Haible  <bruno@clisp.org>
24900
24901         Avoid collision between gnulib wrapper and libintl wrapper.
24902         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
24903         already defined in intl/printf.c.
24904         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
24905         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
24906
24907 2009-08-09  Bruno Haible  <bruno@clisp.org>
24908
24909         Make <sys/select.h> really self-contained, also on Solaris 10.
24910         * lib/sys_select.in.h: Include <string.h>.
24911         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
24912         Solaris 10 problem.
24913         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
24914         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
24915         Reported by Jim Meyering.
24916
24917 2009-08-09  Bruno Haible  <bruno@clisp.org>
24918
24919         Avoid warnings from 'aclocal' that are due to a use of macro name
24920         AM_XGETTEXT_OPTION that is not defined in automake.
24921         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
24922         automake.
24923         * modules/error (configure.ac): Likewise.
24924         * modules/propername (configure.ac): Likewise.
24925         * modules/vasprintf (configure.ac): Likewise.
24926         * modules/verror (configure.ac): Likewise.
24927         * modules/xprintf (configure.ac): Likewise.
24928         * modules/xvasprintf (configure.ac): Likewise.
24929
24930 2009-08-08  Bruno Haible  <bruno@clisp.org>
24931
24932         Avoid compilation error in C++ mode.
24933         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
24934         Reported by Sam Steingold <sds@gnu.org>.
24935
24936 2009-08-08  Bruno Haible  <bruno@clisp.org>
24937
24938         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
24939         for the various Unix platforms.
24940         * doc/posix-headers/limits.texi: Update platforms list regarding
24941         HOST_NAME_MAX.
24942         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24943
24944 2009-08-07  Jim Meyering  <meyering@redhat.com>
24945
24946         selinux-at: fix typo in a comment
24947         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
24948         Spotted by Paolo Bonzini.
24949
24950         selinux-at: remove redundant m4 code, add documentation
24951         * modules/selinux-at (configure.ac): Remove redundant code.
24952         LIB_SELINUX is already set via the dependent module, selinux-h.
24953         (Include): Add quotes around selinux-at.h.
24954         * lib/selinux-at.h: Add documentation.
24955         Reported by Bruno Haible in
24956         http://marc.info/?l=gnulib-bug&m=124958988300749
24957
24958 2009-08-07  Bruno Haible  <bruno@clisp.org>
24959
24960         Avoid link error on MacOS X 10.3 and 10.4.
24961         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
24962         on non-ELF systems.
24963         * lib/argp-pv.c (argp_program_version): Likewise.
24964         Reported by Simon Josefsson.
24965
24966 2009-08-07  Simon Josefsson  <simon@josefsson.org>
24967
24968         * tests/test-version-etc.sh: Use $EXEEXT.
24969
24970 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
24971
24972         update-copyright: update documentation to point to maint.mk
24973         * build-aux/update-copyright: Here.
24974
24975 2009-08-06  Jim Meyering  <meyering@redhat.com>
24976
24977         maint.mk: support update-copyright-local
24978         * top/maint.mk (update-copyright-local): Define place-holder.
24979         (update-copyright): Depend on $(update-copyright-local).
24980
24981 2009-08-06  Jim Meyering  <meyering@redhat.com>
24982
24983         selinux-at: new module
24984         Initially written for coreutils, this module will soon be
24985         used by findutils, too.
24986         * MODULES.html.sh [Misc]: Add selinux-at.
24987         * lib/selinux-at.h: New file, from coreutils.
24988         * lib/selinux-at.c: Likewise.
24989         * modules/selinux-at: Likewise.
24990         (License): Change from LGPL to GPL, since it depends
24991         on the GPL'd openat module.
24992
24993         doc: update README
24994         * README: Remove references to cogito.
24995         Remove cvs-repo-updating instructions from 2007.
24996         Don't imply that CVS is better if you have limited disk space.
24997
24998 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
24999
25000         update-copyright: support C-style comments
25001         * build-aux/update-copyright: Implement and document.
25002         * tests/test-update-copyright.sh: Test.
25003
25004 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25005
25006         update-copyright: support omitted "(C)"
25007         * build-aux/update-copyright: Implement and document.  Also,
25008         allow variable whitespace before "(C)".
25009         * tests/test-update-copyright.sh: Test.
25010
25011 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25012
25013         update-copyright: don't trip on non-FSF copyright statements
25014         * build-aux/update-copyright: Fix so that the first correctly
25015         formatted FSF copyright statement is recognized no matter what
25016         appears before it.  Update documentation.
25017         * tests/test-update-copyright.sh: Test that.
25018
25019 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25020
25021         update-copyright: clean up code a little
25022         * build-aux/update-copyright: Append "_re" to the name of any
25023         variable holding a regular expression.
25024         Replace "old" and "new" with "stmt" in variable names.
25025         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
25026         handled correctly.
25027         Format code more consistently.
25028
25029 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25030
25031         update-copyright-tests: improve portability
25032         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
25033         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
25034
25035 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
25036
25037         update-copyright: support @copyright{} and &copy;
25038         * build-aux/update-copyright: Implement and document.
25039         * tests/test-update-copyright.sh: Test.
25040
25041 2009-08-04  Jim Meyering  <meyering@redhat.com>
25042
25043         update-copyright-tests: correctly test EOL=\r\n handling
25044         * tests/test-update-copyright.sh: Put \r at the end of some lines
25045         for the dos-eol tests.  Based on a patch by Joel E. Denny.
25046
25047         maint.mk: make update-copyright exclusion list more configurable
25048         * top/maint.mk (update-copyright): Default to excluding COPYING,
25049         but allow an override, in case someone does want to update that file.
25050
25051         maint.mk: don't update copyright date in COPYING
25052         * top/maint.mk (update-copyright): Exclude COPYING.
25053
25054         maint.mk: add a copyright-updating rule
25055         * top/maint.mk (update-copyright): New rule.
25056         Derived from coreutils/Makefile.am.
25057
25058         update-copyright: rename some variables
25059         * build-aux/update-copyright: Rename a few variables for clarity.
25060         Tweak syntax.  List Joel E. Denny as coauthor.
25061
25062 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
25063
25064         update-copyright: fix bug for 2-digit last year and add tests
25065         * build-aux/update-copyright: Fix bug.
25066         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
25067         specified.
25068         * modules/update-copyright-tests: New
25069         * tests/test-update-copyright.sh: New.
25070
25071 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25072
25073         update-copyright: handle leading tabs in line prefix
25074         * build-aux/update-copyright: Count leading tabs as 8 spaces
25075         when computing margin.  This helps with the formatting of
25076         ChangeLogs, for example.
25077         Fix documentation a little.
25078
25079 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25080
25081         update-copyright: support EOL=\r\n
25082         * build-aux/update-copyright: Implement that.
25083
25084 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25085
25086         update-copyright: automatically format copyright statements
25087         * build-aux/update-copyright: Implement that.
25088         Also, be a little more predictable and safer by always failing
25089         when the full copyright format is not perfectly recognized as an
25090         unbroken whole.  Discussed at
25091         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
25092         Rewrite documentation.
25093
25094 2009-08-03  Bruno Haible  <bruno@clisp.org>
25095
25096         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
25097
25098 2009-08-02  Bruno Haible  <bruno@clisp.org>
25099
25100         Tests for module 'uname'.
25101         * modules/uname-tests: New file.
25102         * tests/test-uname.c: New file.
25103
25104         New module 'uname'.
25105         * lib/uname.c: New file.
25106         * m4/uname.m4: New file.
25107         * modules/uname: New file.
25108         * doc/posix-functions/uname.texi: Mention the new module.
25109
25110 2009-08-02  Bruno Haible  <bruno@clisp.org>
25111
25112         Tests for module 'sys_utsname'.
25113         * modules/sys_utsname-tests: New file.
25114         * tests/test-sys_utsname.c: New file.
25115
25116         New module 'sys_utsname'.
25117         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
25118         * m4/sys_utsname_h.m4: New file.
25119         * modules/sys_utsname: New file.
25120         * doc/posix-headers/sys_utsname.texi: Mention the new module.
25121
25122 2009-08-02  Bruno Haible  <bruno@clisp.org>
25123
25124         Implicitly initialize the sockets library.
25125         * lib/gethostname.c: Include sockets.h.
25126         (rpl_gethostname): Invoke gl_sockets_startup.
25127         * lib/socket.c: Include sockets.h.
25128         (rpl_socket): Invoke gl_sockets_startup.
25129         * modules/gethostname (Depends-on): Add sockets.
25130         * modules/socket (Depends-on): Likewise.
25131         * tests/test-poll.c: Don't include sockets.h.
25132         (main): Don't invoke gl_sockets_startup.
25133         * tests/test-select.c: Don't include sockets.h.
25134         (main): Don't invoke gl_sockets_startup.
25135
25136 2009-08-02  Bruno Haible  <bruno@clisp.org>
25137
25138         Allow multiple calls to gl_sockets_startup.
25139         * lib/sockets.c (initialized_sockets_version): New variable.
25140         (gl_sockets_startup): Do nothing if already called for this or a higher
25141         version.
25142         (gl_sockets_cleanup): Reset initialized_sockets_version.
25143
25144 2009-08-03  Simon Josefsson  <simon@josefsson.org>
25145
25146         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
25147         different project/version.
25148
25149 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
25150             Bruno Haible  <bruno@clisp.org>
25151
25152         Tests for module 'pipe-filter-gi'.
25153         * modules/pipe-filter-gi-tests: New file.
25154         * tests/test-pipe-filter-gi1.sh: New file.
25155         * tests/test-pipe-filter-gi1.c: New file.
25156         * tests/test-pipe-filter-gi2.sh: New file.
25157         * tests/test-pipe-filter-gi2-main.c: New file.
25158         * tests/test-pipe-filter-gi2-child.c: New file.
25159
25160         New module 'pipe-filter-gi'.
25161         * lib/pipe-filter-gi.c: New file.
25162         * modules/pipe-filter-gi: New file.
25163
25164 2009-08-02  Bruno Haible  <bruno@clisp.org>
25165             Paolo Bonzini  <bonzini@gnu.org>
25166
25167         Tests for module 'pipe-filter-ii'.
25168         * modules/pipe-filter-ii-tests: New file.
25169         * tests/test-pipe-filter-ii1.sh: New file.
25170         * tests/test-pipe-filter-ii1.c: New file.
25171         * tests/test-pipe-filter-ii2.sh: New file.
25172         * tests/test-pipe-filter-ii2-main.c: New file.
25173         * tests/test-pipe-filter-ii2-child.c: New file.
25174
25175         New module 'pipe-filter-ii'.
25176         * lib/pipe-filter.h: New file.
25177         * lib/pipe-filter-ii.c: New file.
25178         * lib/pipe-filter-aux.h: New file.
25179         * modules/pipe-filter-ii: New file.
25180
25181 2009-08-02  Simon Josefsson  <simon@josefsson.org>
25182
25183         * lib/gc-libgcrypt.c: Change copyright to FSF.
25184         * lib/gc-gnulib.c: Likewise.
25185
25186 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
25187
25188         * lib/gethostname.c: Include limits.h.
25189
25190 2009-08-02  Simon Josefsson  <simon@josefsson.org>
25191             Bruno Haible  <bruno@clisp.org>
25192
25193         Ensure HOST_NAME_MAX as part of the gethostname module.
25194         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
25195         define also HOST_NAME_MAX.
25196         * tests/test-gethostname.c: Include <limits.h>.
25197         (main): Check also HOST_NAME_MAX.
25198         * doc/posix-headers/limits.texi: Document the mingw problem.
25199
25200 2009-08-02  Bruno Haible  <bruno@clisp.org>
25201
25202         * lib/gethostname.c (gethostname): Fix handling of large len argument.
25203         Add comments.
25204
25205 2009-03-31  Simon Josefsson  <simon@josefsson.org>
25206
25207         * lib/gethostname.c: Add Windows wrapper.
25208         * m4/gethostname.m4: Look for gethostname in -lws2_32.
25209         * modules/gethostname: Depend on sys_socket & errno, for also
25210         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
25211         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
25212
25213 2009-07-31  Jim Meyering  <meyering@redhat.com>
25214
25215         getloadavg: fix symbol name in comment
25216         * lib/getloadavg.c: Correct a typo I introduced when adding
25217         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
25218         Matt Kraai spotted the problem.
25219
25220 2009-07-29  Matt Kraai  <mkraai@beckman.com>
25221
25222         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
25223         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
25224         code also if ! defined N_NAME_POINTER.
25225         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
25226         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
25227         but the n_name member is a 12-byte array.
25228
25229 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
25230
25231         update-copyright: generalize comment handling
25232         * build-aux/update-copyright: Handle copyright statements
25233         within more comment styles.
25234         Document usage.
25235         Report any file with an external copyright holder or parse failure.
25236
25237 2009-07-29  Jim Meyering  <meyering@redhat.com>
25238
25239         mktime: correct setting of REPLACE_MKTIME
25240         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
25241
25242         update-copyright: new module
25243         * modules/update-copyright: New file.
25244         * build-aux/update-copyright: New file.
25245         * MODULES.html.sh (maint+release support): Add update-copyright.
25246
25247 2009-07-27  Bruno Haible  <bruno@clisp.org>
25248
25249         Fix compilation error when <ctime> is used and mktime is replaced.
25250         * lib/time.in.h (mktime): New declaration.
25251         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
25252         REPLACE_MKTIME instead of defining mktime in config.h.
25253         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
25254         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
25255         Reported by Ross McFarland <rwmcfa1@neces.com>.
25256
25257 2009-07-27  Bruno Haible  <bruno@clisp.org>
25258
25259         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
25260         Reported by Matt Kraai <mkraai@beckman.com>.
25261
25262 2009-07-25  Jim Meyering  <meyering@redhat.com>
25263
25264         maint.mk: avoid warnings about missing files
25265         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
25266         diagnostic when .prev-version does not exist.
25267         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
25268         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
25269         nonexistent cfg.mk.
25270         Suggestions from Simon Josefsson.
25271
25272 2009-07-25  Bruno Haible  <bruno@clisp.org>
25273
25274         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
25275         defined as macros. Needed on QNX 6.4.1.
25276         Reported by Matt Kraai <mkraai@beckman.com>.
25277
25278 2009-07-23  Jim Meyering  <meyering@redhat.com>
25279
25280         maint.mk: invoke "make dist" with a working value of XZ_OPT
25281         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
25282
25283 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
25284
25285         Make fseeko.c compile on QNX.
25286         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
25287
25288 2009-07-22  Peter Simons  <simons@cryp.to>
25289
25290         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
25291         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
25292         * lib/md4.h: Likewise.
25293         * lib/md5.h: Likewise.
25294         * lib/sha1.h: Likewise.
25295         * lib/sha256.h: Likewise.
25296         * lib/sha512.h: Likewise.
25297
25298         tests-sha1: don't assign literal string to 'char *' variable
25299         * tests/test-sha1.c (main): Declare locals with "const" to match
25300         attributes of the right hand side.
25301
25302 2009-07-21  Eric Blake  <ebb9@byu.net>
25303
25304         dup2: fix more mingw problems
25305         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
25306         fd to itself.
25307         * doc/posix-functions/dup2.texi (dup2): Document the bug.
25308         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
25309         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
25310         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
25311         care of mingw bugs.
25312
25313 2009-07-21  Jim Meyering  <meyering@redhat.com>
25314
25315         vc-list-files: avoid failure when /bin/sh is dash
25316         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
25317         On some Debian based systems, /bin/sh is a symlink to dash, and running
25318         this command would omit the "/" following each 'tests' prefix:
25319           dash -x build-aux/vc-list-files -C . tests
25320         That is because bash and dash work differently:
25321           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
25322           bash ok
25323           dash odd
25324
25325 2009-07-21  Eric Blake  <ebb9@byu.net>
25326
25327         dup2-tests: test previous patch
25328         * modules/dup2-tests: New file.
25329         * tests/test-dup2.c: Likewise.
25330         * tests/test-open.c (main): Avoid unspecified behavior.
25331         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
25332         test.
25333
25334         dup2: work around mingw and cygwin 1.5 bug
25335         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
25336         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25337         * modules/unistd (Makefile.am): Substitute it.
25338         * lib/unistd.in.h (dup2): Declare the replacement.
25339         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
25340         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
25341         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
25342         * modules/execute (Depends-on): Add dup2.
25343         * modules/fseterr (Depends-on): Likewise.
25344         * modules/pipe (Depends-on): Likewise.
25345         * modules/posix_spawn-internal (Depends-on): Likewise.
25346
25347 2009-07-21  Bruno Haible  <bruno@clisp.org>
25348
25349         * modules/.gitattributes: New file.
25350
25351 2009-07-20  Bruno Haible  <bruno@clisp.org>
25352
25353         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
25354         (main): Use it.
25355
25356 2009-07-20  Eric Blake  <ebb9@byu.net>
25357
25358         test-pipe: make a bit more robust.
25359         * tests/test-pipe.c (myerr): Allow error messages regardless of
25360         what we do to stderr.
25361         (test_pipe): Rearrange to avoid deadlock.
25362         (child_main): Try a larger read, to ensure we avoided deadlock.
25363         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
25364         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
25365         if misused.
25366
25367 2009-07-19  Jim Meyering  <meyering@redhat.com>
25368
25369         fts: avoid false-positive cycle-detection
25370         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
25371         for each new command line argument.
25372
25373 2009-07-19  Bruno Haible  <bruno@clisp.org>
25374
25375         Fix build error on mingw with the modules sys_select and unistd.
25376         * modules/acl-tests (Depends-on): Add close.
25377         * modules/binary-io-tests (Depends-on): Likewise.
25378         * modules/closein-tests (Depends-on): Likewise.
25379         * modules/flock-tests (Depends-on): Likewise.
25380         * modules/fsync-tests (Depends-on): Likewise.
25381         * modules/lseek-tests (Depends-on): Likewise.
25382         * modules/pipe-tests (Depends-on): Likewise.
25383         * modules/posix_spawn-tests (Depends-on): Likewise.
25384         * modules/posix_spawnp-tests (Depends-on): Likewise.
25385         * modules/stat-time-tests (Depends-on): Likewise.
25386         * modules/yesno-tests (Depends-on): Likewise.
25387
25388 2009-07-19  Bruno Haible  <bruno@clisp.org>
25389
25390         Unify conditionals.
25391         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
25392         macros, not at the compiler macros.
25393         * lib/pipe.c: Likewise.
25394         * lib/execute.c: Likewise.
25395         * lib/spawni.c: Likewise.
25396
25397 2009-07-19  Bruno Haible  <bruno@clisp.org>
25398
25399         Fix handling of closed stdin/stdout/stderr on mingw.
25400         * lib/w32spawn.h: Include unistd.h.
25401         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
25402         file descriptor with O_NOINHERIT flag.
25403         (fd_safer_noinherit): New function, based on fd-safer.c.
25404         (dup_safer_noinherit): New function, based on dup-safer.c.
25405         (undup_safer_noinherit): New function.
25406         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
25407         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
25408         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
25409         instead of fd_safer.
25410         * tests/test-pipe.c: Include <windows.h>.
25411         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
25412
25413         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
25414         from main.
25415         (test_pipe): Pass an extra argument for disambiguation.
25416         (main): Invoke parent_main or child_main.
25417
25418         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
25419         consistently.
25420
25421 2009-07-18  Eric Blake  <ebb9@byu.net>
25422
25423         test-pipe: fix mingw build
25424         * tests/test-pipe.c (main): Avoid fcntl on mingw.
25425
25426 2009-07-18  Bruno Haible  <bruno@clisp.org>
25427
25428         * modules/pipe-tests (Makefile.am): Fix typo.
25429
25430 2009-07-18  Eric Blake  <ebb9@byu.net>
25431
25432         error: fix mingw build
25433         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
25434         Reported by Bruno Haible.
25435
25436         error: avoid undefined use of stdout
25437         * lib/error.c (error, error_at_line): Check that fd 1 is open
25438         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
25439         is handling faults and the close_stdout module wants to report the
25440         detection of closed stdout as an error.
25441
25442 2009-07-17  Eric Blake  <ebb9@byu.net>
25443
25444         pipe: be robust in face of closed fds
25445         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
25446         should cause child to misbehave.
25447         * modules/pipe-tests: New module.
25448         * tests/test-pipe.c: New file.
25449         * tests/test-pipe.sh: New file.
25450         Reported by Akim Demaille.
25451
25452 2009-07-14  Bruno Haible  <bruno@clisp.org>
25453
25454         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
25455         Reported by anonymous kc.
25456
25457 2009-07-07  Jim Meyering  <meyering@redhat.com>
25458
25459         maint.mk: don't look for translatable strings in *.m4 or *.mk
25460         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
25461         when searching for translatable strings.
25462
25463 2009-07-05  Jim Meyering  <meyering@redhat.com>
25464
25465         remove superfluous parentheses in STREQ definition
25466         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
25467         * lib/getugroups.c (STREQ): Likewise.
25468         * lib/fnmatch.c (STREQ): Likewise.
25469         Spotted by Bruno Haible.
25470
25471 2009-07-04  Jim Meyering  <meyering@redhat.com>
25472
25473         argv-iter: new module
25474         * MODULES.html.sh: Add argv-iter.
25475         * lib/argv-iter.c, lib/argv-iter.h: New files.
25476         * modules/argv-iter: New file.
25477         * modules/argv-iter-tests: New file.
25478         * tests/test-argv-iter.c: Test it.
25479
25480 2009-07-04  Bruno Haible  <bruno@clisp.org>
25481
25482         Fix assertion.
25483         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
25484         contains more exact copies of a given entry than file2, leave the extra
25485         copies unpaired rather than aborting.
25486         Reported by Eric Blake.
25487
25488 2009-07-02  Bruno Haible  <bruno@clisp.org>
25489
25490         Speedup git-merge-changelog for git cherry-pick.
25491         * lib/git-merge-changelog.c (struct entries_mapping): New type.
25492         (entries_mapping_get): New function, extracted from compute_mapping.
25493         (entries_mapping_reverse_get): New function.
25494         (compute_mapping): Add a 'full' argument. Return the result in a
25495         'struct entries_mapping'.
25496         (main): Update. Access the mappings through entries_mapping_get.
25497         Reported by Eric Blake.
25498
25499 2009-07-02  Bruno Haible  <bruno@clisp.org>
25500
25501         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
25502         best_i.
25503
25504 2009-07-02  Bruno Haible  <bruno@clisp.org>
25505
25506         Speed up approximate search for matching ChangeLog entries.
25507         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
25508         argument. Call fstrcmp_bounded instead of fstrcmp.
25509         (compute_mapping, try_split_merged_entry, main): Update callers.
25510
25511 2009-07-02  Bruno Haible  <bruno@clisp.org>
25512
25513         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
25514
25515 2009-06-30  Bruno Haible  <bruno@clisp.org>
25516
25517         Reduce the number of uc_is_cased calls.
25518         * lib/unicase.h (casing_suffix_context_t): Add
25519         'first_char_except_ignorable' field.
25520         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
25521         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
25522         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
25523         Update initializer.
25524         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
25525         case-ignorable characters.
25526         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
25527         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
25528         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
25529         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
25530         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
25531
25532 2009-06-30  Bruno Haible  <bruno@clisp.org>
25533
25534         Tests for module 'unicase/ignorable'.
25535         * modules/unicase/ignorable-tests: New file.
25536         * tests/unicase/test-ignorable.c: New file, generated by
25537         gen-uni-tables.
25538
25539         Tests for module 'unicase/cased'.
25540         * modules/unicase/cased-tests: New file.
25541         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
25542         * tests/unicase/test-predicate-part1.h: New file, derived from
25543         tests/unictype/test-predicate-part1.h.
25544         * tests/unicase/test-predicate-part2.h: New file, same as
25545         tests/unictype/test-predicate-part2.h.
25546
25547         Fix evaluation of "Before C" condition of FINAL_SIGMA.
25548         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
25549         (output_casing_properties): New function.
25550         (main): Call it.
25551         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
25552         * lib/unicase/cased.c: Include unictype/bitmap.h.
25553         (uc_is_cased): Define through a bitmap lookup.
25554         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
25555         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
25556         (uc_is_case_ignorable): Define through a bitmap lookup.
25557         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
25558         lib/unictype/bitmap.h.
25559         (Depends-on): Add inline. Clean up.
25560         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
25561         lib/unictype/bitmap.h.
25562         (Depends-on): Add inline. Clean up.
25563         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
25564         recognition.
25565         * tests/unicase/test-u16-tolower.c (main): Likewise.
25566         * tests/unicase/test-u32-tolower.c (main): Likewise.
25567
25568 2009-06-30  Bruno Haible  <bruno@clisp.org>
25569
25570         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
25571         * lib/unicase/u16-casemap.c: Likewise.
25572         * lib/unicase/u32-casemap.c: Likewise.
25573
25574 2009-06-29  Bruno Haible  <bruno@clisp.org>
25575
25576         Define u32_casefold as a wrapper around u32_ct_casefold.
25577         * lib/unicase/u32-casefold.c: Update.
25578         * modules/unicase/u32-casefold (Depends-on): Add
25579         unicase/u32-ct-casefold, unicase/empty-prefix-context,
25580         unicase/empty-suffix-context. Clean up.
25581
25582         Define u16_casefold as a wrapper around u16_ct_casefold.
25583         * lib/unicase/u16-casefold.c: Update.
25584         * modules/unicase/u16-casefold (Depends-on): Add
25585         unicase/u16-ct-casefold, unicase/empty-prefix-context,
25586         unicase/empty-suffix-context. Clean up.
25587
25588         Define u8_casefold as a wrapper around u8_ct_casefold.
25589         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
25590         * lib/unicase/u8-casefold.c: Update.
25591         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
25592         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25593
25594         Define u32_totitle as a wrapper around u32_ct_totitle.
25595         * lib/unicase/u32-totitle.c: Update.
25596         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
25597         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25598
25599         Define u16_totitle as a wrapper around u16_ct_totitle.
25600         * lib/unicase/u16-totitle.c: Update.
25601         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
25602         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25603
25604         Define u8_totitle as a wrapper around u8_ct_totitle.
25605         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
25606         functions.
25607         (FUNC): Delegate to U_CT_TOTITLE.
25608         * lib/unicase/u8-totitle.c: Update.
25609         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
25610         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25611
25612         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
25613         invocation.
25614         * modules/unicase/u32-tolower (Depends-on): Add
25615         unicase/empty-prefix-context, unicase/empty-suffix-context.
25616
25617         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
25618         invocation.
25619         * modules/unicase/u16-tolower (Depends-on): Add
25620         unicase/empty-prefix-context, unicase/empty-suffix-context.
25621
25622         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
25623         * modules/unicase/u8-tolower (Depends-on): Add
25624         unicase/empty-prefix-context, unicase/empty-suffix-context.
25625
25626         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
25627         invocation.
25628         * modules/unicase/u32-toupper (Depends-on): Add
25629         unicase/empty-prefix-context, unicase/empty-suffix-context.
25630
25631         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
25632         invocation.
25633         * modules/unicase/u16-toupper (Depends-on): Add
25634         unicase/empty-prefix-context, unicase/empty-suffix-context.
25635
25636         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
25637         * modules/unicase/u8-toupper (Depends-on): Add
25638         unicase/empty-prefix-context, unicase/empty-suffix-context.
25639
25640         New module 'unicase/u32-ct-casefold'.
25641         * lib/unicase/u32-ct-casefold.c: New file.
25642         * modules/unicase/u32-ct-casefold: New file.
25643
25644         New module 'unicase/u16-ct-casefold'.
25645         * lib/unicase/u16-ct-casefold.c: New file.
25646         * modules/unicase/u16-ct-casefold: New file.
25647
25648         New module 'unicase/u8-ct-casefold'.
25649         * lib/unicase/u8-ct-casefold.c: New file.
25650         * lib/unicase/u-ct-casefold.h: New file, derived from
25651         lib/unicase/u-casefold.h.
25652         * modules/unicase/u8-ct-casefold: New file.
25653
25654         New module 'unicase/u32-ct-totitle'.
25655         * lib/unicase/u32-ct-totitle.c: New file.
25656         * modules/unicase/u32-ct-totitle: New file.
25657
25658         New module 'unicase/u16-ct-totitle'.
25659         * lib/unicase/u16-ct-totitle.c: New file.
25660         * modules/unicase/u16-ct-totitle: New file.
25661
25662         New module 'unicase/u8-ct-totitle'.
25663         * lib/unicase/u8-ct-totitle.c: New file.
25664         * lib/unicase/u-ct-totitle.h: New file, derived from
25665         lib/unicase/u-totitle.h.
25666         * modules/unicase/u8-ct-totitle: New file.
25667
25668         New module 'unicase/u32-ct-tolower'.
25669         * lib/unicase/u32-ct-tolower.c: New file.
25670         * modules/unicase/u32-ct-tolower: New file.
25671
25672         New module 'unicase/u16-ct-tolower'.
25673         * lib/unicase/u16-ct-tolower.c: New file.
25674         * modules/unicase/u16-ct-tolower: New file.
25675
25676         New module 'unicase/u8-ct-tolower'.
25677         * lib/unicase/u8-ct-tolower.c: New file.
25678         * modules/unicase/u8-ct-tolower: New file.
25679
25680         New module 'unicase/u32-ct-toupper'.
25681         * lib/unicase/u32-ct-toupper.c: New file.
25682         * modules/unicase/u32-ct-toupper: New file.
25683
25684         New module 'unicase/u16-ct-toupper'.
25685         * lib/unicase/u16-ct-toupper.c: New file.
25686         * modules/unicase/u16-ct-toupper: New file.
25687
25688         New module 'unicase/u8-ct-toupper'.
25689         * lib/unicase/u8-ct-toupper.c: New file.
25690         * modules/unicase/u8-ct-toupper: New file.
25691
25692         Add context arguments to u*_casemap functions.
25693         * lib/unicase/unicasemap.h: Include unicase.h.
25694         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
25695         suffix_context arguments.
25696         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
25697         functions.
25698         (FUNC): Add prefix_context and suffix_context arguments. Use
25699         uc_is_cased and uc_is_case_ignorable.
25700         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
25701         * lib/unicase/u16-casemap.c: Likewise.
25702         * lib/unicase/u32-casemap.c: Likewise.
25703         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
25704         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
25705         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
25706         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
25707         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
25708         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
25709
25710         New module 'unicase/u32-suffix-context'.
25711         * lib/unicase/u32-suffix-context.c: New file.
25712         * modules/unicase/u32-suffix-context: New file.
25713
25714         New module 'unicase/u16-suffix-context'.
25715         * lib/unicase/u16-suffix-context.c: New file.
25716         * modules/unicase/u16-suffix-context: New file.
25717
25718         New module 'unicase/u8-suffix-context'.
25719         * lib/unicase/u8-suffix-context.c: New file.
25720         * lib/unicase/u-suffix-context.h: New file.
25721         * modules/unicase/u8-suffix-context: New file.
25722
25723         New module 'unicase/empty-suffix-context'.
25724         * lib/unicase/empty-suffix-context.c: New file.
25725         * modules/unicase/empty-suffix-context: New file.
25726
25727         New module 'unicase/u32-prefix-context'.
25728         * lib/unicase/u32-prefix-context.c: New file.
25729         * modules/unicase/u32-prefix-context: New file.
25730
25731         New module 'unicase/u16-prefix-context'.
25732         * lib/unicase/u16-prefix-context.c: New file.
25733         * modules/unicase/u16-prefix-context: New file.
25734
25735         New module 'unicase/u8-prefix-context'.
25736         * lib/unicase/u8-prefix-context.c: New file.
25737         * lib/unicase/u-prefix-context.h: New file.
25738         * lib/unicase/context.h: New file.
25739         * modules/unicase/u8-prefix-context: New file.
25740
25741         New module 'unicase/empty-prefix-context'.
25742         * lib/unicase/empty-prefix-context.c: New file.
25743         * modules/unicase/empty-prefix-context: New file.
25744
25745         New module 'unicase/ignorable'.
25746         * lib/unicase/ignorable.c: New file.
25747         * modules/unicase/ignorable: New file.
25748
25749         New module 'unicase/cased'.
25750         * lib/unicase/caseprop.h: New file.
25751         * lib/unicase/cased.c: New file.
25752         * modules/unicase/cased: New file.
25753
25754         New functions for case mapping of substrings.
25755         * lib/unicase.h (casing_prefix_context_t): New type.
25756         (unicase_empty_prefix_context): New variable.
25757         (u8_casing_prefix_context, u16_casing_prefix_context,
25758         u32_casing_prefix_context, u8_casing_prefixes_context,
25759         u16_casing_prefixes_context, u32_casing_prefixes_context): New
25760         declarations.
25761         (casing_suffix_context_t): New type.
25762         (unicase_empty_suffix_context): New variable.
25763         (u8_casing_suffix_context, u16_casing_suffix_context,
25764         u32_casing_suffix_context, u8_casing_suffixes_context,
25765         u16_casing_suffixes_context, u32_casing_suffixes_context,
25766         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
25767         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
25768         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
25769         declarations.
25770
25771 2009-06-28  Jim Meyering  <meyering@redhat.com>
25772
25773         boostrap: indent only with spaces
25774         * build-aux/bootstrap: Indent only with spaces, never TABs.
25775
25776         bootstrap: split long lines
25777         * build-aux/bootstrap: Keep line length < 80.
25778
25779         bootstrap: sync from coreutils
25780         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
25781         just as autoreconf does.  Verify a list of prerequisite
25782         package-name,version-number pairs if defined in bootstrap.conf.
25783         Refer to README-prereq, if prerequisites are not satisfied.
25784
25785 2009-06-27  Eric Blake  <ebb9@byu.net>
25786
25787         tests: add test for bogus NULL definition
25788         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
25789         * tests/test-stdlib.c: Likewise.
25790         * tests/test-string.c: Likewise.
25791         * tests/test-locale.c: Likewise.
25792         * tests/test-unistd.c: Likewise.
25793         * modules/stdio-tests (Depends-on): Add verify.
25794         * modules/stdlib-tests (Depends-on): Likewise.
25795         * modules/string-tests (Depends-on): Likewise.
25796         * modules/locale-tests (Depends-on): Likewise.
25797         * modules/unistd-tests (Depends-on): Likewise.
25798
25799 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
25800
25801         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
25802         self-explaining comment.
25803         * m4/selinux-selinux-h: Update serial.
25804         (gl_LIBSELINUX): New macro, adding a warning for missing development
25805         packages to code extracted from...
25806         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
25807         Add warning for missing development packages here, too.
25808
25809 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
25810
25811         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
25812
25813 2009-06-25  Eric Blake  <ebb9@byu.net>
25814
25815         version-etc: fix regression
25816         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
25817         gcc.
25818         (version_etc): Use it, to catch bugs with trailing NULL.
25819         * lib/version-etc.c (version_etc_arn): Delete unused argument.
25820         (version_etc_va): Fix logic bug.
25821         * modules/version-etc-tests: Add test.
25822         * tests/test-version-etc.c: New file.
25823         * tests/test-version-etc.sh: Likewise.
25824
25825 2009-06-25  Sam Steingold  <sds@gnu.org>
25826
25827         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
25828         mbtowc declaration.
25829
25830 2009-06-25  Eric Blake  <ebb9@byu.net>
25831
25832         fpurge: migrate into <stdio.h>
25833         * lib/fpurge.h: Delete...
25834         * lib/stdio.in.h (fpurge): ...and declare here, instead.
25835         * lib/fpurge.c (fpurge): Change declaring header.
25836         * modules/fpurge (Files): Drop deleted file.
25837         (Depends-on): Add stdio.
25838         (configure.ac): Set witness.
25839         * modules/stdio (Makefile.am): Support fpurge macros.
25840         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
25841         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
25842         * lib/fflush.c: Update client.
25843         * tests/test-fpurge.c: Likewise.
25844         * NEWS: Mention the change.
25845
25846 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
25847
25848         * lib/argp-version-etc.c (program_authors): Add const
25849         qualifier.
25850         * lib/version-etc.c: Fix typos in the comments.
25851         * modules/argp-version-etc: Depends on version-etc.
25852
25853 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
25854
25855         argp-version-etc: new module.
25856
25857         * lib/argp-version-etc.c: New file.
25858         * lib/argp-version-etc.h: New file.
25859         * modules/argp-version-etc: New file.
25860         * modules/argp-version-etc-tests: New file.
25861         * tests/test-argp-version-etc.c: New test.
25862         * tests/test-argp-version-etc-1.sh: New test.
25863
25864 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
25865
25866         Provide additional interfaces and documentation for version-etc
25867         module.
25868
25869         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
25870         interfaces.
25871         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
25872         prototypes.
25873
25874 2009-06-24  Bruno Haible  <bruno@clisp.org>
25875
25876         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
25877         HAVE_LIB${NAME} macro.
25878         Reported by Sam Steingold <sds@gnu.org>.
25879
25880 2009-06-23  Simon Josefsson  <simon@josefsson.org>
25881
25882         * modules/hash-tests (test_hash_LDADD): Link to libintl when
25883         needed.
25884
25885 2009-06-21  Bruno Haible  <bruno@clisp.org>
25886
25887         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
25888         work.
25889         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
25890         together with LIB${NAME}, LTLIB${NAME}.
25891         Reported by Sam Steingold <sds@gnu.org>.
25892
25893 2009-06-20  Jim Meyering  <meyering@redhat.com>
25894
25895         tests: make sc_require_test_exit_idiom more generic
25896         * top/maint.mk (Exit_witness_file): New overridable variable.
25897         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
25898         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
25899
25900 2009-06-19  Jim Meyering  <meyering@redhat.com>
25901
25902         hash: reverse order of src/dst parameters in an internal interface
25903         * lib/hash.c (transfer_entries): Reverse order of parameters to
25904         put DST before SRC.  Adjust callers.
25905
25906         tests: test-hash: avoid wholesale duplication
25907         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
25908         Instead, use a loop and add a single conditional.
25909
25910         tests: test-hash: allow seed selection via a command line argument
25911         * tests/test-hash.c (get_seed): New function.
25912         (main): Use it.
25913
25914 2009-06-19  Eric Blake  <ebb9@byu.net>
25915
25916         hash: avoid memory leak on allocation failure
25917         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
25918         failure.  Factor repeated algorithm...
25919         (transfer_entries): ...into new helper routine.
25920         (hash_delete): React to hash_rehash return value.
25921
25922         hash: reduce memory pressure in hash_rehash no-op case
25923         * lib/hash.c (next_prime): Avoid overflow.
25924         (hash_initialize): Factor bucket size computation...
25925         (compute_bucket_size): ...into new helper function.
25926         (hash_rehash): Use new function and open coding to reduce memory
25927         pressure, and avoid a memory leak in USE_OBSTACK code.
25928         Reported by Jim Meyering.
25929
25930 2009-06-18  Eric Blake  <ebb9@byu.net>
25931
25932         hash: make rotation more obvious
25933         * modules/hash (Depends-on): Add bitrotate and stdint.
25934         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
25935         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
25936         (SIZE_MAX): Rely on headers for definition.
25937         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
25938         (raw_hasher): Use rotr_sz.
25939         Suggested by Jim Meyering.
25940
25941         hash: fix memory leak in last patch
25942         * lib/hash.c (hash_rehash): Avoid memory leak.
25943
25944         hash: avoid no-op rehashing
25945         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
25946
25947         hash: provide default callback functions
25948         * lib/hash.c (raw_hasher, raw_comparator): New functions.
25949         (hash_initialize): Use them as defaults.
25950         * tests/test-hash.c (main): Test this.
25951
25952         hash: minor optimization
25953         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
25954         when possible.
25955         (hash_initialize): Document this promise.
25956         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
25957         * tests/test-hash.c (hash_compare_strings): Test this.
25958
25959 2009-06-18  Bruno Haible  <bruno@clisp.org>
25960
25961         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
25962         going to be replaced anyway.
25963
25964 2009-06-18  Bruno Haible  <bruno@clisp.org>
25965
25966         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
25967         in one place.
25968         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
25969         be replaced anyway.
25970
25971 2009-06-18  Eric Blake  <ebb9@byu.net>
25972
25973         hash: check for resize before insertion
25974         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
25975         threshold before insertion, so that a pathological hash_rehash
25976         that fills every bucket can still trigger another rehash.
25977
25978 2009-06-18  Jim Meyering  <meyering@redhat.com>
25979
25980         hash-tests: add a loop around the small tests
25981         * tests/test-hash.c (main): Repeat small tests with selected
25982         small initial table sizes.
25983
25984 2009-06-17  Eric Blake  <ebb9@byu.net>
25985
25986         hash: minor cleanups
25987         * lib/hash.h (hash_entry): Make opaque, by moving...
25988         * lib/hash.c (hash_entry): ...here.
25989         (hash_insert): Clarify restrictions on what can be inserted.
25990         (hash_get_next): Clarify when it is safe to remove an element
25991         during traversal.
25992         (check_tuning): Skip verification when tuning is known safe.
25993         (hash_initialize): Clarify restrictions on tuning.
25994
25995 2009-06-17  Jim Meyering  <jim@meyering.net>
25996         and Eric Blake  <ebb9@byu.net>
25997
25998         hash-tests: new module
25999         * modules/hash-tests: New file.
26000         * tests/test-hash.c: New file.
26001
26002 2009-06-17  Eric Blake  <ebb9@byu.net>
26003
26004         strstr-simple: document new module
26005         * MODULES.html.sh: Document new module.
26006
26007         strstr, strcasestr: replace on platforms with broken memchr
26008         * modules/strstr: Split into...
26009         * modules/strstr-simple: ...new module that does not care about
26010         performance, but does care about glibc bug.
26011         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
26012         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
26013         if platform memchr is broken, per Debian bug 521737.
26014         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
26015         memchr.
26016         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
26017         * doc/posix-functions/strstr.texi (strstr): Document the fix.
26018         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
26019         * modules/mountlist (Depends-on): Add strstr-simple.
26020         * modules/gen-uni-tables (Depends-on): Likewise.
26021         * modules/argz (Depends-on): Add strstr.
26022
26023 2009-06-17  Bruno Haible  <bruno@clisp.org>
26024
26025         * modules/posix_spawn-internal (Depends-on): Add errno.
26026
26027 2009-06-17  Bruno Haible  <bruno@clisp.org>
26028
26029         Define missing ESTALE on Interix 3.5.
26030         * lib/errno.in.h (ESTALE): Assign a value if missing.
26031         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
26032         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
26033         missing.
26034         * doc/posix-headers/errno.texi: Mention the Interix bug.
26035         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
26036
26037 2009-06-15  Eric Blake  <ebb9@byu.net>
26038
26039         memchr, memchr2: add valgrind exception
26040         * lib/memchr.valgrind: New file.
26041         * lib/memchr2.valgrind: New file.
26042         * modules/memchr (Files): Distribute valgrind file.
26043         * modules/memchr2 (Files): Likewise.
26044
26045         docs: memchr is no longer obsolete
26046         * MODULES.html.sh: Move memchr from obsolete to string.h section.
26047         * lib/string.in.h (memchr): Simplify logic.
26048
26049 2009-06-14  Jim Meyering  <meyering@redhat.com>
26050
26051         link-follow: fix the "checking..." message to not mention trailing slash
26052         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
26053         never considered trailing slashes.
26054
26055 2009-06-14  Bruno Haible  <bruno@clisp.org>
26056
26057         * m4/memchr.m4: Mention also the bug on IA-64.
26058         * doc/posix-functions/memchr.texi: Likewise.
26059
26060 2009-06-12  Eric Blake  <ebb9@byu.net>
26061
26062         memchr: detect broken x86_64 and alpha implementations
26063         * modules/memchr-tests (Depends-on): Move mmap detection...
26064         * modules/memchr (Depends-on): ...here.
26065         (configure.ac): Set indicator.
26066         * lib/string.in.h (memchr): Declare replacement.
26067         * modules/string (Makefile.am): Trigger replacement.
26068         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
26069         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
26070         bugs.
26071         * doc/posix-functions/memchr.texi (memchr): Document the bug.
26072         * modules/getpagesize (License): Relax license.
26073
26074 2009-06-11  Bruno Haible  <bruno@clisp.org>
26075
26076         * lib/idpriv.h: Add more references.
26077
26078 2009-06-08  Bruno Haible  <bruno@clisp.org>
26079
26080         Tests for module 'idpriv-droptemp'.
26081         * modules/idpriv-droptemp-tests: New file.
26082         * tests/test-idpriv-droptemp.sh: New file.
26083         * tests/test-idpriv-droptemp.su.sh: New file.
26084         * tests/test-idpriv-droptemp.c: New file.
26085
26086         New module 'idpriv-droptemp'.
26087         * lib/idpriv-droptemp.c: New file.
26088         * modules/idpriv-droptemp: New file.
26089
26090 2009-06-08  Bruno Haible  <bruno@clisp.org>
26091
26092         Tests for module 'idpriv-drop'.
26093         * modules/idpriv-drop-tests: New file.
26094         * tests/test-idpriv-drop.sh: New file.
26095         * tests/test-idpriv-drop.su.sh: New file.
26096         * tests/test-idpriv-drop.c: New file.
26097
26098         New module 'idpriv-drop'.
26099         * lib/idpriv.h: New file.
26100         * lib-idpriv-drop.c: New file.
26101         * m4/idpriv.m4: New file.
26102         * modules/idpriv-drop: New file.
26103
26104 2009-06-08  Bruno Haible  <bruno@clisp.org>
26105
26106         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
26107         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26108         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26109         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26110         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26111         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26112         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26113
26114 2009-06-08  Eric Blake  <ebb9@byu.net>
26115
26116         test-strstr: use memory fence, when possible
26117         * tests/test-strstr.c (main): Use memory fence, in order to be
26118         more likely to trigger Debian bug 521737.
26119         * modules/strstr-tests (Files): Pull in additional files.
26120
26121         memchr: no longer obsolete, for wider field testing
26122         * modules/memchr (Status, Notice): Delete, this module is no
26123         longer obsolete.
26124         * modules/vasnprintf (Depends-on): Add memchr.
26125
26126 2009-06-07  Jim Meyering  <meyering@redhat.com>
26127
26128         hash: declare some functions with the warn_unused_result attribute
26129         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
26130
26131 2009-06-07  Bruno Haible  <bruno@clisp.org>
26132
26133         * tests/test-alignof.c: Don't test int64_t if it does not exist.
26134         Reported by Eric Blake.
26135
26136 2009-06-06  Eric Blake  <ebb9@byu.net>
26137
26138         test-alignof: fix typo with long double
26139         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
26140         compiler error.
26141
26142 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
26143
26144         Escape non-texinfo { and }s.
26145         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
26146         markup error.
26147
26148 2009-06-04  Jim Meyering  <meyering@redhat.com>
26149
26150         gitlog-to-changelog: don't infloop on an empty commit log
26151         * build-aux/gitlog-to-changelog: Warn about an empty log message.
26152         Reported by Boris Petersen <transacid@centerim.org>.
26153
26154 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
26155
26156         version-etc: extend for packagers
26157         Add three new configure options, intended for packagers:
26158           --with-packager="packager name"
26159           --with-packager-version="packager-specific version"
26160           --with-packager-bug-reports="packager bug reporting"
26161         An example with coreutils:
26162           $ ./configure \
26163             --with-packager=Gentoo \
26164             --with-packager-bug-report=http://bugs.gentoo.org/ \
26165             --with-packager-version="patchset 1.6"
26166           $ ./src/ls --version | head -n2
26167           ls (GNU coreutils) 7.1-dirty
26168           Packaged by Gentoo (patchset 1.6)
26169         Note that the bug reporting info via --help doesn't show up because
26170         coreutils uses its own custom emit_bug_reporting_address() implementation
26171         in src/system.h.  If it didn't, it'd look like:
26172           $ ./src/ls --help | tail -n4
26173           Report bugs to <bug-coreutils@gnu.org>.
26174           Report Gentoo bugs to <http://bugs.gentoo.org/>.
26175           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
26176           General help using GNU software: <http://www.gnu.org/gethelp/>.
26177         * lib/version-etc.c: Print new information, if provided.
26178         * m4/version-etc.m4: New file.
26179         * modules/version-etc (Files): Add m4/version-etc.m4.
26180         (configure.ac): Add gl_VERSION_ETC.
26181
26182 2009-05-31  Bruno Haible  <bruno@clisp.org>
26183
26184         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
26185         and 'int64_t'.
26186         * modules/alignof-tests (Dependencies): Add stdint.
26187         Reported by Eric Blake.
26188
26189 2009-05-31  Bruno Haible  <bruno@clisp.org>
26190
26191         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
26192         restriction due to compiler bugs.
26193         Reported by Eric Blake.
26194
26195 2009-05-31  Simon Josefsson  <simon@josefsson.org>
26196             Bruno Haible  <bruno@clisp.org>
26197
26198         Fix test-alignof failure.
26199         * lib/alignof.h (alignof_slot): New macro.
26200         (alignof_type): New macro, with the same semantics as the previous
26201         'alignof'.
26202         (alignof): Alias to alignof_slot.
26203         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
26204         check that the results are usable as constant expressions.
26205
26206 2009-05-31  Bruno Haible  <bruno@clisp.org>
26207
26208         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
26209         * tests/test-memchr.c (main): Check that memchr does not read past the
26210         first occurrence of the byte.
26211         * tests/test-strstr.c (main): Update comment.
26212         Suggested by Eric Blake.
26213
26214 2009-05-30  Bruno Haible  <bruno@clisp.org>
26215
26216         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
26217         detail how to use dumpbin.
26218         Reported by David Byron <dbyron@dbyron.com>.
26219
26220 2009-06-02  Simon Josefsson  <simon@josefsson.org>
26221
26222         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
26223
26224 2009-06-02  Simon Josefsson  <simon@josefsson.org>
26225
26226         * m4/manywarnings.m4: Add GCC 4.4 warnings.
26227
26228 2009-05-28  Bruno Haible  <bruno@clisp.org>
26229
26230         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
26231         build-aux/ files.
26232
26233 2009-05-28  Simon Josefsson  <simon@josefsson.org>
26234
26235         * gnulib-tool (func_import): Transform license on build-aux/ files too.
26236
26237 2009-05-27  Simon Josefsson  <simon@josefsson.org>
26238
26239         * gnulib-tool (sed_transform_main_lib_file)
26240         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
26241         regexps.
26242
26243 2009-05-26  Simon Josefsson  <simon@josefsson.org>
26244
26245         * tests/test-strstr.c: Add another self-test.
26246         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
26247         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
26248
26249 2009-05-23  Bruno Haible  <bruno@clisp.org>
26250
26251         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
26252         change.
26253
26254 2009-05-21  Bruno Haible  <bruno@clisp.org>
26255
26256         Simplify use of mode_t varargs.
26257         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
26258         uses 'mode_t' or 'int'.
26259         * lib/openat.c (openat): Likewise.
26260         * lib/open-safer.c (open_safer): Likewise.
26261         * m4/mode_t.m4: New file.
26262         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
26263         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
26264         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
26265         * modules/open (Files): Add m4/mode_t.m4.
26266         * modules/openat (Files): Likewise.
26267         * modules/fcntl-safer (Files): Likewise.
26268         Suggested by Eric Blake.
26269
26270 2009-05-21  Pádraig Brady  <P@draigbrady.com>
26271
26272         * doc/glibc-functions/fallocate.texi: New file.
26273         * doc/gnulib.texi: Include it.
26274
26275 2009-05-21  Eric Blake  <ebb9@byu.net>
26276             Bruno Haible  <bruno@clisp.org>
26277
26278         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
26279         invocations.
26280         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
26281
26282 2009-05-21  Eric Blake  <ebb9@byu.net>
26283             Bruno Haible  <bruno@clisp.org>
26284
26285         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
26286         include_next. Fix of 2008-11-20 commit.
26287         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
26288         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
26289         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
26290         NEXT_MATH_H.
26291         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
26292         instead of NEXT_MATH_H.
26293
26294 2009-05-21  Bruno Haible  <bruno@clisp.org>
26295
26296         Avoid redefinition warnings for SIZE_MAX.
26297         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
26298         Reported by Simon Josefsson.
26299
26300 2009-05-21  Bruno Haible  <bruno@clisp.org>
26301
26302         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
26303         AC_CACHE_VAL.
26304
26305 2009-05-20  Bruno Haible  <bruno@clisp.org>
26306
26307         Make zeroptr.h work on mingw.
26308         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
26309         mprotect.
26310         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
26311         * modules/memchr2-tests (configure.ac): Likewise.
26312         * modules/memcmp-tests (configure.ac): Likewise.
26313         * modules/memmem-tests (configure.ac): Likewise.
26314         * modules/memrchr-tests (configure.ac): Likewise.
26315         Reported by Simon Josefsson.
26316
26317 2009-05-20  Simon Josefsson  <simon@josefsson.org>
26318
26319         * tests/test-glob.c: Include string.h for strcmp prototype.
26320
26321 2009-05-20  Simon Josefsson  <simon@josefsson.org>
26322
26323         * modules/getdelim (Depends-on): Add explicit stdint, although it
26324         was implicitly already pulled in via realloc-posix.
26325         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
26326
26327 2009-05-20  Simon Josefsson  <simon@josefsson.org>
26328
26329         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
26330         G. Christensen" <tgc@jupiterrise.com>.
26331         * m4/sys_socket_h.m4: Check for sa_family_t.
26332         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
26333         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
26334         * tests/test-sys_socket.c: Check that sa_family_t works.
26335
26336 2009-05-18  Eric Blake  <ebb9@byu.net>
26337
26338         maint.mk: allow gnulib_dir in VPATH build
26339         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
26340
26341 2009-05-15  Jim Meyering  <meyering@redhat.com>
26342
26343         maint.mk: Give gnulib_dir a default definition.
26344         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
26345         Thus, most packages no longer need to specify this variable in cfg.mk
26346
26347 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
26348
26349         rename.m4: fix typos that would make non-mingw cross-configure fail
26350         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
26351
26352 2009-05-13  Eric Blake  <ebb9@byu.net>
26353
26354         mmap-anon: avoid out-of-order autoconf expansion
26355         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
26356         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
26357         * modules/memchr-tests (Depends-on): Add extensions.
26358         * modules/memchr2-tests (Depends-on): Add extensions.
26359         * modules/memcmp-tests (Depends-on): Add extensions.
26360         * modules/memmem-tests (Depends-on): Add extensions.
26361         * modules/memrchr-tests (Depends-on): Add extensions.
26362
26363 2009-05-13  Bruno Haible  <bruno@clisp.org>
26364
26365         Make some tests ISO C 99 compliant.
26366         * tests/zerosize-ptr.h: New file.
26367         * tests/test-memchr.c: Include zerosize-ptr.h.
26368         (main): Use a zero-size object pointer instead of NULL.
26369         * tests/test-memchr2.c: Include zerosize-ptr.h.
26370         (main): Use a zero-size object pointer instead of NULL.
26371         * tests/test-memcmp.c: Include zerosize-ptr.h.
26372         (main): Use a zero-size object pointer instead of NULL.
26373         * tests/test-memmem.c: Include zerosize-ptr.h.
26374         (main): Use a zero-size object pointer instead of NULL.
26375         * tests/test-memrchr.c: Include zerosize-ptr.h.
26376         (main): Use a zero-size object pointer instead of NULL.
26377         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
26378         m4/mmap-anon.m4.
26379         (Depends-on): Add getpagesize.
26380         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26381         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
26382         m4/mmap-anon.m4.
26383         (Depends-on): Add getpagesize.
26384         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26385         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
26386         m4/mmap-anon.m4.
26387         (Depends-on): Add getpagesize.
26388         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26389         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
26390         m4/mmap-anon.m4.
26391         (Depends-on): Add getpagesize.
26392         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26393         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
26394         m4/mmap-anon.m4.
26395         (Depends-on): Add getpagesize.
26396         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26397
26398 2009-05-12  Bruno Haible  <bruno@clisp.org>
26399
26400         Tests for module 'alignof'.
26401         * modules/alignof-tests: New file.
26402         * tests/test-alignof.c: New file.
26403
26404 2009-05-12  Bruno Haible  <bruno@clisp.org>
26405
26406         Fix alignof macro.
26407         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
26408         vendor compilers that are always correct.
26409
26410 2009-05-12  Bruno Haible  <bruno@clisp.org>
26411
26412         Make the MAP_ANONYMOUS detection work on HP-UX 11.
26413         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
26414         not whether its fully works.
26415
26416 2009-05-12  Bruno Haible  <bruno@clisp.org>
26417
26418         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
26419
26420 2009-05-12  Jim Meyering  <meyering@redhat.com>
26421
26422         * top/maint.mk: Adjust backslash alignment.
26423
26424 2009-05-11  Simon Josefsson  <simon@josefsson.org>
26425
26426         * top/maint.mk: Make $(srcdir)/build-aux configurable.
26427
26428 2009-05-11  Eric Blake  <ebb9@byu.net>
26429
26430         argp: avoid undefined behavior
26431         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
26432         macros.
26433
26434 2009-05-08  Simon Josefsson  <simon@josefsson.org>
26435
26436         * tests/test-vc-list-files-git.sh: Do git config of user.email and
26437         user.name to prevent git commit from complaining.
26438
26439 2009-05-10  Bruno Haible  <bruno@clisp.org>
26440
26441         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
26442         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
26443         it rewrites every file name only once.
26444         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
26445
26446 2009-05-08  Bruno Haible  <bruno@clisp.org>
26447
26448         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
26449         instead of 'max'.
26450
26451 2009-05-08  Simon Josefsson  <simon@josefsson.org>
26452
26453         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
26454         sockaddr_storage test.
26455
26456 2009-05-07  Simon Josefsson  <simon@josefsson.org>
26457
26458         * modules/sys_socket (Makefile.am): Substitute
26459         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
26460         * m4/sys_socket_h.m4: Check for sockaddr_storage.
26461         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
26462         * tests/test-sys_socket.c: Check sockaddr_storage.
26463
26464 2009-05-08  Bruno Haible  <bruno@clisp.org>
26465
26466         New module 'alignof'.
26467         * lib/alignof.h: New file.
26468         * modules/alignof: New file.
26469
26470 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
26471             Bruno Haible  <bruno@clisp.org>
26472
26473         Fix test-file-has-acl on FreeBSD.
26474         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
26475         mask is implicitly added.
26476         * tests/test-file-has-acl.c: Include <signal.h>.
26477         (main): Terminate the test after 5 seconds.
26478         * modules/acl-tests (configure.ac): Check for alarm function.
26479
26480 2009-05-04  Bruno Haible  <bruno@clisp.org>
26481
26482         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
26483         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
26484         * modules/errno (configure.ac): Drop AC_REQUIRE.
26485         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
26486         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
26487
26488 2009-05-04  Simon Josefsson  <simon@josefsson.org>
26489
26490         * modules/glob-tests: New module.
26491         * tests/test-glob.c: Add.
26492
26493 2009-05-04  Simon Josefsson  <simon@josefsson.org>
26494
26495         * modules/fnmatch-tests: New module.
26496         * tests/test-fnmatch.c: Add.
26497
26498 2009-05-04  Eric Blake  <ebb9@byu.net>
26499
26500         maint: make the new no-submodule-changes rule VPATH-safe
26501         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
26502
26503 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
26504             Bruno Haible  <bruno@clisp.org>
26505
26506         acl: Fix infinite loop on FreeBSD.
26507         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
26508         of return value from acl_get_entry.
26509         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
26510         Likewise.
26511
26512 2009-05-03  Bruno Haible  <bruno@clisp.org>
26513
26514         * lib/acl-internal.h (acl_entries): Clarify return value.
26515         * lib/acl_entries.c (acl_entries): Likewise.
26516
26517 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
26518
26519         Bug fix in acl module.
26520         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
26521
26522 2009-05-03  Bruno Haible  <bruno@clisp.org>
26523
26524         Create gperf-generated file in the source dir, not in the build dir.
26525         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
26526         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
26527         * modules/unicase/locale-language (unicase/locale-languages.h):
26528         Likewise.
26529         * modules/unicase/special-casing (unicase/special-casing-table.h):
26530         Likewise.
26531         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
26532         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
26533         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
26534         Reported by Ralf Wildenhues.
26535
26536 2009-05-03  Bruno Haible  <bruno@clisp.org>
26537
26538         * modules/fnmatch (Description, configure.ac): Taken from
26539         fnmatch-posix.
26540         * modules/fnmatch-posix: Turn into a symbolic reference to the
26541         'fnmatch' module, and deprecate.
26542         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
26543
26544 2009-05-03  Bruno Haible  <bruno@clisp.org>
26545
26546         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
26547         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
26548         Reported by Ralf Wildenhues.
26549
26550 2009-05-04  Simon Josefsson  <simon@josefsson.org>
26551
26552         * m4/fnmatch.m4: Fix fnmatch re-define.
26553
26554 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
26555
26556         priv-set: new module and tests; adapt write-any-file
26557         * lib/priv-set.c: New file.
26558         * lib/priv-set.h: New file.
26559         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
26560         * lib/write-any-file.c: Simplify by using priv-set module.
26561         * m4/priv-set.m4: New file.
26562         * modules/priv-set: New file.
26563         * modules/unlinkdir: Add dependency on priv-set module.
26564         * modules/write-any-file: Likewise.
26565
26566         Tests for module 'priv-set'.
26567         * modules/priv-set-tests: New file.
26568         * tests/test-priv-set.c: New file.
26569
26570 2009-05-03  Jim Meyering  <meyering@redhat.com>
26571             Bruno Haible  <bruno@clisp.org>
26572
26573         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
26574         use the converted UTF-8 variant of the name instead.
26575
26576 2009-05-03  Jim Meyering  <meyering@redhat.com>
26577
26578         tests: tighten some getdate tests
26579         * tests/test-getdate.c (main): Tighten tests: require equality,
26580         not just greater than.  Set TZ envvar to UTC0.
26581
26582 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
26583
26584         getdate: correctly interpret "next monday" when run on a Monday
26585         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
26586         that e.g., "next tues" (when run on a tuesday) results in a date
26587         that is one week in the future, and not today's date.
26588         I.e., add a week when the wday is the same as the current one.
26589         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
26590         and earlier by Martin Bernreuther and Jan Minář.
26591         * tests/test-getdate.c (main): Check that "next DAY" is always in
26592         the future and that "last DAY" is always in the past.
26593
26594 2009-05-02  Jim Meyering  <meyering@redhat.com>
26595
26596         build: ensure that a release build fails when a submodule is unclean
26597         * top/maint.mk (no-submodule-changes): New rule.
26598         (alpha beta major): Depend on it.
26599
26600 2009-05-02  Bruno Haible  <bruno@clisp.org>
26601
26602         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
26603         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
26604         shell variable gl_fnmatch_required to detect which variant is
26605         requested.
26606         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
26607         gl_FUNC_FNMATCH_POSIX.
26608         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
26609         exclude fnmatch-posix.
26610
26611 2009-05-02  Bruno Haible  <bruno@clisp.org>
26612
26613         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
26614         * modules/mbsrtowcs (License): Change to LGPLv2+.
26615         * modules/strnlen1 (License): Likewise.
26616         Reported by Simon Josefsson.
26617
26618 2009-05-02  Bruno Haible  <bruno@clisp.org>
26619
26620         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
26621         "cross".
26622         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
26623         gnulib-tool was called with option --source-base=lib.
26624
26625 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26626
26627         Use automake *-local hooks without commands, for extensibility.
26628         * modules/localcharset (Makefile.am): Rename install-exec-local
26629         rule to install-exec-localcharset, and make it a prerequisite of
26630         install-exec-local.  Likewise, rename the uninstall-local rule to
26631         uninstall-localcharset, and make it a prerequisite of the former.
26632
26633 2009-05-01  Bruno Haible  <bruno@clisp.org>
26634
26635         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
26636         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
26637         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
26638         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
26639         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
26640         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
26641         m4/locale-zh.m4, m4/codeset.m4.
26642
26643         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
26644         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
26645         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
26646         m4/locale-zh.m4.
26647
26648         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
26649         REPLACE_WCRTOMB if mbstate_t must be replaced.
26650         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
26651         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
26652
26653 2009-05-01  Bruno Haible  <bruno@clisp.org>
26654
26655         Avoid compiler warnings when redefining macros defined by <libintl.h>.
26656         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
26657         dngettext, dcngettext, textdomain, bindtextdomain,
26658         bind_textdomain_codeset): Undefine before redefining.
26659
26660 2009-04-30  Bruno Haible  <bruno@clisp.org>
26661
26662         Fix bug introduced on 2009-04-25.
26663         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
26664         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
26665         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
26666         is defined.
26667         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
26668         is defined.
26669         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
26670         is defined.
26671         Reported by Elbert_Pol <elbert.pol@gmail.com>.
26672
26673 2009-04-28  Bruno Haible  <bruno@clisp.org>
26674
26675         Comment tweaks.
26676         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
26677         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
26678         * lib/unicase.h (u*_casexfrm): Likewise.
26679         Reported by Paolo Bonzini.
26680
26681 2009-04-28  Bruno Haible  <bruno@clisp.org>
26682
26683         Fix a compilation error.
26684         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
26685         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
26686         Reported by Jim Meyering.
26687
26688 2009-04-27  Bruno Haible  <bruno@clisp.org>
26689
26690         New module 'libunistring'.
26691         * modules/libunistring: New file.
26692         * m4/libunistring.m4: New file.
26693         * MODULES.html.sh (Unicode string functions): Add it.
26694
26695 2009-04-27  Eric Blake  <ebb9@byu.net>
26696
26697         maint.mk: allow package-specific header to provide <config.h>
26698         * top/maint.mk (sc_require_config_h): New variable.
26699         (sc_require_config_h, sc_require_config_h_first): Use it.
26700
26701 2009-04-27  Simon Josefsson  <simon@josefsson.org>
26702
26703         * top/maint.mk (sc_avoid_if_before_free): Except
26704         useless-if-before-free script.
26705
26706 2009-04-27  Eric Blake  <ebb9@byu.net>
26707
26708         maintainer-makefile: depend on all required helper scripts
26709         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
26710         useless-if-before-free.
26711         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
26712         version, rather than assuming gnulib checkout is available.
26713         Reported by Simen Josefsson.
26714
26715 2009-04-26  Bruno Haible  <bruno@clisp.org>
26716
26717         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
26718         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
26719         "../" or "..".
26720
26721 2009-04-26  Bruno Haible  <bruno@clisp.org>
26722
26723         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
26724         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
26725         AC_LIB_HAVE_LINKFLAGS.
26726
26727 2009-04-26  Bruno Haible  <bruno@clisp.org>
26728
26729         Simplify calling convention of u*_conv_from_encoding.
26730         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
26731         u32_conv_from_encoding): Expect a resultbuf argument and return the
26732         result directly as a pointer.
26733         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
26734         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
26735         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
26736         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
26737         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
26738         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
26739         Update.
26740         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
26741         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
26742         * lib/vasnprintf.c (VASNPRINTF): Update.
26743         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
26744         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
26745         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
26746         * NEWS: Mention the change.
26747
26748 2009-04-26  Bruno Haible  <bruno@clisp.org>
26749
26750         Simplify calling convention of u*_conv_to_encoding.
26751         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
26752         u32_conv_to_encoding): Expect a resultbuf argument and return the
26753         result directly as a pointer.
26754         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
26755         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
26756         freeing scaled_offsets if mem_iconveha failed.
26757         * lib/unicase/u-casexfrm.h (FUNC): Update.
26758         * lib/uninorm/u-normxfrm.h (FUNC): Update.
26759         * lib/vasnprintf.c (VASNPRINTF): Update.
26760         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
26761         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
26762         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
26763         * NEWS: Mention the change.
26764
26765 2009-04-26  Bruno Haible  <bruno@clisp.org>
26766
26767         Avoid test failures on AIX and OSF/1.
26768         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
26769         malloc(0).
26770         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
26771         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
26772         Likewise.
26773         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
26774         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
26775         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
26776         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
26777         * doc/posix-functions/malloc.texi: Document the portability problem
26778         related to malloc(0).
26779
26780 2009-04-26  Bruno Haible  <bruno@clisp.org>
26781
26782         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
26783         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
26784         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
26785
26786 2009-04-25  Bruno Haible  <bruno@clisp.org>
26787
26788         Avoid link error when creating a namespace clean library.
26789         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
26790         as macro with arguments if already defined as an alias.
26791         * lib/signbitf.c (gl_signbitf): Don't undefine.
26792         * lib/signbitd.c (gl_signbitd): Don't undefine.
26793         * lib/signbitl.c (gl_signbitl): Don't undefine.
26794
26795 2009-04-25  Jim Meyering  <meyering@redhat.com>
26796
26797         vc-list-files: fix another quoting bug
26798         * build-aux/vc-list-files: Avoid sed backslash expansion
26799         of pathological directory names.
26800
26801 2009-04-25  Eric Blake  <ebb9@byu.net>
26802
26803         vc-list-files: fix shell quoting error
26804         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
26805         timestamp.
26806
26807 2009-04-25  Jim Meyering  <meyering@redhat.com>
26808
26809         vc-list-files: restore lost functionality with subdir argument
26810         * build-aux/vc-list-files: When given a non-"." sub-directory
26811         argument, substitute the $dir/ prefix back onto each resulting name.
26812         Otherwise, coreutils' root_tests check would fail.
26813
26814 2009-04-24  Eric Blake  <ebb9@byu.net>
26815
26816         vc-list-files: ignore git symlinks
26817         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
26818         than ls-files, to ignore git symlinks.
26819
26820         maint.mk: import improvements from m4
26821         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
26822         (move_if_change): Delete unused macro.
26823         (news-date-check, vc-diff-check): Support VPATH builds.
26824         (announcement): Likewise.  Split --bootstrap-tools list...
26825         (boostrap-tools): ...into separate list, which can be overridden
26826         in cfg.mk.
26827         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
26828         requiring dependency on useless-if-before-free module.
26829         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
26830         Support VPATH builds.
26831
26832 2009-04-24  Jim Meyering  <meyering@redhat.com>
26833
26834         maint.mk: remove coreutils-specific rules and variables
26835         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
26836         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
26837         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
26838
26839         maint.mk: remove obsolete rule
26840         * top/maint.mk (rel-check): Remove rule.
26841         (WGET, WGETFLAGS): Remove now-unused variables.
26842
26843 2009-04-24  Simon Josefsson  <simon@josefsson.org>
26844
26845         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
26846         consistency.
26847
26848         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
26849         '$(PATH_SEPARATOR)' instead of ':'.
26850
26851 2009-04-24  Simon Josefsson  <simon@josefsson.org>
26852
26853         * lib/getopt1.c (main): Use 'const' for static array.
26854
26855 2009-04-24  Simon Josefsson  <simon@josefsson.org>
26856
26857         * top/maint.mk: Sync with coreutils.
26858         * NEWS: Explain incompatibilities.
26859
26860 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26861             Bruno Haible  <bruno@clisp.org>
26862
26863         Fix cross-compilation results.
26864         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
26865         statement, as third argument of AC_TRY_RUN.
26866         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26867         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
26868         Likewise.
26869         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26870         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
26871         Likewise.
26872         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26873         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
26874         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
26875
26876 2009-04-20  Bruno Haible  <bruno@clisp.org>
26877
26878         Avoid test failure on mingw.
26879         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
26880
26881 2009-04-20  Bruno Haible  <bruno@clisp.org>
26882
26883         Avoid compilation error on mingw.
26884         * modules/localename-tests (Depends-on): Add locale.
26885
26886 2009-04-19  Bruno Haible  <bruno@clisp.org>
26887
26888         Support for building a shared library on Windows platforms.
26889         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
26890         (main): Test the presence of UNINORM_NFC here.
26891         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
26892         (main): Test the presence of UNINORM_NFD here.
26893         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
26894         (main): Test the presence of UNINORM_NFKC here.
26895         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
26896         (main): Test the presence of UNINORM_NFKD here.
26897
26898 2009-04-19  Bruno Haible  <bruno@clisp.org>
26899
26900         Avoid a compiler warning.
26901         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
26902         Change type of variable 'sequence'.
26903
26904 2009-04-19  Bruno Haible  <bruno@clisp.org>
26905
26906         * modules/configmake (Makefile.am): When the contents of configmake.h
26907         does not change, arrange to preserve its modification time.
26908
26909 2009-04-17  Simon Josefsson  <simon@josefsson.org>
26910
26911         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
26912         gettext domain.
26913
26914 2009-04-16  Jim Meyering  <meyering@redhat.com>
26915
26916         useless-if-before-free: improve conversion code
26917         * build-aux/useless-if-before-free: Adjust code-in-comment to match
26918         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
26919
26920 2009-04-14  Bruno Haible  <bruno@clisp.org>
26921
26922         * modules/fcntl (Depends-on): Add extensions.
26923         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
26924
26925 2009-04-12  Ben Pfaff  <blp@gnu.org>
26926
26927         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
26928         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
26929
26930 2009-03-20  Ben Pfaff  <blp@gnu.org>
26931
26932         Make rename replace existing destinations on Windows.
26933         * m4/rename.m4: Add test for Mingw.
26934         * lib/rename.c: Add rename replacement that uses MoveFileEx with
26935         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
26936         * doc/posix-functions/rename.texi: Document.
26937
26938 2009-04-10  Bruno Haible  <bruno@clisp.org>
26939
26940         New include file "iconveh.h".
26941         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
26942         * lib/striconveh.h: Include it.
26943         (enum iconv_ilseq_handler): Remove definition.
26944         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
26945         striconveh.h.
26946         * lib/striconveha.c: Include striconveh.h.
26947         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
26948         * modules/striconveh (Files): Add lib/iconveh.h.
26949         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
26950         lib/striconveh.h.
26951
26952 2009-04-10  Bruno Haible  <bruno@clisp.org>
26953
26954         * lib/uniconv.h: Update comment.
26955
26956 2009-04-10  Bruno Haible  <bruno@clisp.org>
26957
26958         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
26959         always.
26960         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
26961         * lib/unistr/u16-mbtouc-aux.c: Likewise.
26962         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
26963         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
26964         "unistring-notinline.h", so that the function gets defined always.
26965         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
26966         * lib/unistr/u8-uctomb.c: Likewise.
26967         * lib/unistr/u16-mbtouc.c: Likewise.
26968         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
26969         * lib/unistr/u16-uctomb.c: Likewise.
26970         * lib/unistr/u32-mbtouc.c: Likewise.
26971         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
26972         * lib/unistr/u32-uctomb.c: Likewise.
26973
26974 2009-04-10  Bruno Haible  <bruno@clisp.org>
26975
26976         Mark 'utime' obsolete.
26977         * modules/utime (Status, Notice): New sections.
26978         Suggested by Jim Meyering.
26979
26980         Fix cross-compile guess for utime test.
26981         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
26982         autoconf.
26983         * doc/posix-functions/utime.texi: Give more precisions.
26984         Reported by Jan <ipif@ymail.com>.
26985
26986 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
26987
26988         filevercmp: correct today's change
26989         * lib/filevercmp.c: Also handle coreutils' test inputs.
26990         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
26991
26992         Fix regression in 'filevercmp' module. Thanks Sven Joachim
26993         for reporting it.
26994         * lib/filevercmp.c: Special handle for "", "." and "..".
26995         * tests/test-filevercmp.c: Enlarge the set suite.
26996
26997 2009-04-07  Jim Meyering  <meyering@redhat.com>
26998
26999         useless-if-before-free: show how to remove braced useless free, too
27000         * build-aux/useless-if-before-free: still only in a comment, though.
27001
27002 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
27003
27004         maint.mk: import changes to syntax-check macros from coreutils
27005         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
27006         Use them in the relevant macros.
27007
27008 2009-04-06  Bruno Haible  <bruno@clisp.org>
27009
27010         Fix unportable use of bit-fields.
27011         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
27012         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
27013         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
27014
27015 2009-04-06  Bruno Haible  <bruno@clisp.org>
27016
27017         Avoid test failures on AIX and OSF/1.
27018         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
27019         that malloc(0) = NULL.
27020         * tests/unicase/test-u8-tolower.c (check): Likewise.
27021         * tests/unicase/test-u8-totitle.c (check): Likewise.
27022         * tests/unicase/test-u8-toupper.c (check): Likewise.
27023         * tests/unicase/test-u16-casefold.c (check): Likewise.
27024         * tests/unicase/test-u16-tolower.c (check): Likewise.
27025         * tests/unicase/test-u16-totitle.c (check): Likewise.
27026         * tests/unicase/test-u16-toupper.c (check): Likewise.
27027         * tests/unicase/test-u32-casefold.c (check): Likewise.
27028         * tests/unicase/test-u32-tolower.c (check): Likewise.
27029         * tests/unicase/test-u32-totitle.c (check): Likewise.
27030         * tests/unicase/test-u32-toupper.c (check): Likewise.
27031         * tests/uninorm/test-u8-nfc.c (check): Likewise.
27032         * tests/uninorm/test-u8-nfd.c (check): Likewise.
27033         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
27034         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
27035         * tests/uninorm/test-u16-nfc.c (check): Likewise.
27036         * tests/uninorm/test-u16-nfd.c (check): Likewise.
27037         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
27038         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
27039         * tests/uninorm/test-u32-nfc.c (check): Likewise.
27040         * tests/uninorm/test-u32-nfd.c (check): Likewise.
27041         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
27042         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
27043
27044 2009-04-05  Bruno Haible  <bruno@clisp.org>
27045
27046         Work around an autoconf limitation.
27047         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
27048         comment line if it would be longer than 3 KB.
27049
27050 2009-04-05  Bruno Haible  <bruno@clisp.org>
27051
27052         Avoid test failure with libiconv-1.13.
27053         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
27054         of the expected test results.
27055
27056 2009-04-05  Bruno Haible  <bruno@clisp.org>
27057
27058         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
27059         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
27060         that it should be installed.
27061
27062 2009-04-05  Bruno Haible  <bruno@clisp.org>
27063
27064         * gnulib-tool: New option --copy-file.
27065         (func_usage): Document it.
27066         (func_dest_tmpfilename): Moved out of func_import.
27067         (func_add_file, func_update_file): New functions, extracted from
27068         func_import.
27069         (func_import): Update.
27070
27071 2009-04-05  Karl Berry  <karl@gnu.org>
27072
27073         * README: prominently mention gnulib-tool.
27074         Rearrange sections so getting the code is near the top.
27075
27076 2009-04-05  Bruno Haible  <bruno@clisp.org>
27077
27078         * lib/unicase.h: Mention u*_cmp2.
27079         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
27080         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
27081         * lib/unicase/ulc-casecmp.c: Likewise.
27082         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
27083         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
27084         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
27085         unistr/u8-cmp.
27086         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
27087         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
27088         unistr/u16-cmp.
27089         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
27090         unistr/u32-cmp.
27091
27092         * lib/uninorm.h: Mention u*_cmp2.
27093         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
27094         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
27095         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
27096         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
27097         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
27098         unistr/u8-cmp.
27099         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
27100         unistr/u16-cmp.
27101         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
27102         unistr/u32-cmp.
27103
27104         New module 'unistr/u32-cmp2'.
27105         * lib/unistr/u32-cmp2.c: New file.
27106         * modules/unistr/u32-cmp2: New file.
27107
27108         New module 'unistr/u16-cmp2'.
27109         * lib/unistr/u16-cmp2.c: New file.
27110         * modules/unistr/u16-cmp2: New file.
27111
27112         New module 'unistr/u8-cmp2'.
27113         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
27114         * lib/unistr/u8-cmp2.c: New file.
27115         * lib/unistr/u-cmp2.h: New file.
27116         * modules/unistr/u8-cmp2: New file.
27117
27118 2009-04-05  Bruno Haible  <bruno@clisp.org>
27119
27120         * lib/unictype.h (uc_property_is_valid): New macro.
27121         * tests/unictype/test-pr_byname.c (main): Use it.
27122
27123         * lib/unistr.h: Doc fixes.
27124         * lib/uniconv.h: Doc fixes.
27125         * lib/unictype.h: Doc fixes.
27126
27127 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
27128
27129         Port coreutils 7.2 to Solaris 8.
27130
27131         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
27132         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
27133         for Solaris 8.  This is a bit of a hack, as it means it's the
27134         caller's responsibility to add -lnsl if needed, but most likely it
27135         won't be needed since only getaddrinfo uses this and getaddrinfo
27136         isn't needed on Solaris 8.
27137
27138         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
27139         problem to Solaris 8 encountered with coreutils 7.2, which
27140         resulted in a message "fnmatch.c:292: warning: passing argument 4
27141         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
27142         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
27143
27144 2009-04-03  Simon Josefsson  <simon@josefsson.org>
27145
27146         * m4/ld-version-script.m4: Add FIXME comment.
27147
27148 2009-04-02  Simon Josefsson  <simon@josefsson.org>
27149
27150         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
27151         SOVERSION variable.
27152
27153 2009-04-02  Bruno Haible  <bruno@clisp.org>
27154
27155         * Makefile (info, html, dvi, pdf): Combine the rules.
27156         Suggested by Jim Meyering.
27157
27158 2009-04-01  Bruno Haible  <bruno@clisp.org>
27159
27160         * Makefile (info, html, dvi, pdf): New targets.
27161         Reported by Reuben Thomas <rrt@sc3d.org>.
27162
27163 2009-04-01  Bruno Haible  <bruno@clisp.org>
27164
27165         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
27166         can be put into PATH.
27167         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
27168
27169 2009-04-01  Bruno Haible  <bruno@clisp.org>
27170
27171         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
27172
27173 2009-04-01  Bruno Haible  <bruno@clisp.org>
27174
27175         Rename module 'visibility'.
27176         * modules/lib-symbol-visibility: Renamed from modules/visibility.
27177         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
27178         * doc/gnulib.texi: Update.
27179         * MODULES.html.sh (Misc): Update.
27180         * NEWS: Mention the change.
27181
27182 2009-04-01  Simon Josefsson  <simon@josefsson.org>
27183
27184         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
27185         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
27186         Eric Blake <ebb9@byu.net> for review.
27187         * MODULES.html.sh: Add lib-msvc-compat.
27188         * doc/gnulib.texi: Link to new section.
27189         * m4/ld-output-def.m4: New file.
27190         * doc/ld-output-def.texi: New file.
27191
27192 2009-04-01  Simon Josefsson  <simon@josefsson.org>
27193
27194         Rename ld-version-script to lib-symbol-versions.  Suggested by
27195         Bruno Haible <bruno@clisp.org>.
27196         * modules/ld-version-script: Renamed to lib-symbol-versions.
27197         * doc/ld-version-script.texi: Fix module name.
27198         * MODULES.html.sh: Add lib-symbol-versions.
27199
27200 2009-03-31  Simon Josefsson  <simon@josefsson.org>
27201
27202         * modules/u64-tests: New file.
27203         * tests/test-u64.c: New file.
27204
27205 2009-03-04  Simon Josefsson  <simon@josefsson.org>
27206
27207         * MODULES.html.sh: Mention u64.
27208         * modules/u64: New module.
27209         * modules/crypto/sha512: Depend on u64 module instead of providing
27210         u64.h.
27211
27212 2009-03-27  Eric Blake  <ebb9@byu.net>
27213
27214         test-strerror: make debugging EAI_SYSTEM easier
27215         * modules/getaddrinfo-tests (Depends-on): Add strerror.
27216         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
27217         failure was EAI_SYSTEM.
27218
27219 2009-03-25  Bruno Haible  <bruno@clisp.org>
27220
27221         Fix a problem with --enable-relocatable on Solaris 7.
27222         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
27223         since 2008-02-24.
27224
27225 2009-03-25  Eric Blake  <ebb9@byu.net>
27226
27227         test-sockets: avoid gcc warning
27228         * tests/test-sockets.c (main): Silence compiler warning.
27229
27230 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
27231
27232         New modules nproc, pthread, contributed by Glen Lenker.
27233
27234         * MODULES.html.sh: Add pthread, nproc.
27235         * lib/nproc.c: New file.
27236         * lib/nproc.h: New file.
27237         * lib/pthread.in.h: New file.
27238         * m4/pthread.m4: New file.
27239         * modules/nproc: New file.
27240         * modules/pthread: New file.
27241
27242 2009-03-24  Simon Josefsson  <simon@josefsson.org>
27243
27244         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
27245         New variable.
27246
27247 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
27248
27249         filevercmp: handle simple~ and numbered.~3~ backup suffixes
27250         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
27251         * tests/test-filevercmp.c: Add tests for backup suffixes.
27252
27253 2009-03-24  Simon Josefsson  <simon@josefsson.org>
27254
27255         * modules/stdlib (Depends-on): Add stdint, needed when defining
27256         struct random_data on, for example, HP-UX 10.20.  Reported by
27257         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27258
27259 2009-03-24  Simon Josefsson  <simon@josefsson.org>
27260
27261         * lib/readline.c (readline): Call fflush on stdout after printing
27262         prompt.
27263
27264 2009-03-20  Bruno Haible  <bruno@clisp.org>
27265
27266         Remove dependency from 'close' module to -lws2_32 on native Windows.
27267         * lib/close-hook.h: New file.
27268         * lib/close-hook.c: New file.
27269         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
27270         w32sock.h.
27271         (_gl_close_fd_maybe_socket): Remove function.
27272         (rpl_close): Invoke execute_all_close_hooks instead of
27273         _gl_close_fd_maybe_socket.
27274         * lib/sockets.c: Include close-hook.h, w32sock.h.
27275         (close_fd_maybe_socket): New function, essentially from lib/close.c.
27276         (close_sockets_hook): New variable.
27277         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
27278         (gl_sockets_cleanup): Unregister it.
27279         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
27280         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
27281         * modules/close-hook: New file.
27282         * modules/close (Files): Remove lib/w32sock.h.
27283         (Depends-on): Add close-hook.
27284         (Link): Remove section.
27285         * modules/sockets (Files): Add lib/w32sock.h.
27286         (Depends-on): Add close-hook.
27287         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
27288         invocation.
27289         * NEWS: Mention that LIB_CLOSE is gone.
27290
27291 2009-03-23  Eric Blake  <ebb9@byu.net>
27292
27293         signal-tests: test previous patch
27294         * tests/test-signal.c: New file.
27295         * modules/signal-tests: Likewise.
27296
27297         signal.h: always support 'volatile sig_atomic_t'
27298         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
27299         (gl_SIGNAL_H_DEFAULTS): Add a default.
27300         * modules/signal (Makefile.am): Substitute if needed.
27301         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
27302         users can blindly add volatile.
27303         * doc/posix-headers/signal.texi (signal.h): Document it.
27304         Reported by Matthew Woehlke.
27305
27306 2009-03-23  Jim Meyering  <meyering@redhat.com>
27307
27308         pathmax: PATH_MAX: use pathconf only when available
27309         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
27310         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
27311         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
27312         This avoids a link failure in a PSP cross-compilation environment
27313         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
27314
27315         * lib/vasnprintf.c (divide): Fix typo in comment.
27316
27317 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27318
27319         * gnulib-tool (func_filter_filelist): Fix comment.
27320
27321 2009-03-20  Bruno Haible  <bruno@clisp.org>
27322
27323         Make sockets.h self-contained.
27324         * lib/sockets.c: Include sockets.h first.
27325         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
27326
27327 2009-03-19  Eric Blake  <ebb9@byu.net>
27328
27329         doc: mention more functions added in cygwin 1.7.0
27330         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
27331         addition.
27332         * doc/posix-functions/log2f.texi: Likewise.
27333
27334 2009-03-19  Jim Meyering  <meyering@redhat.com>
27335
27336         fsusage: avoid syntax error due to statement-before-declaration
27337         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
27338         after all declarations.  Reported by Matthew Woehlke in
27339         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
27340
27341 2009-03-18  Eric Blake  <ebb9@byu.net>
27342
27343         build-aux/compile: sync from automake
27344         * build-aux/compile: New file, from automake.
27345         * config/srclist.txt: Mention build-aux/compile.
27346
27347 2009-03-17  Bruno Haible  <bruno@clisp.org>
27348
27349         * lib/git-merge-changelog.c: Fix typo in comment.
27350         Reported by Reuben Thomas <rrt@sc3d.org>.
27351
27352 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
27353
27354         * m4/regex.m4: update and improve help for
27355         --without-included-regex.
27356
27357 2009-03-17  Simon Josefsson  <simon@josefsson.org>
27358
27359         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
27360         failure on missing include files.
27361
27362 2009-03-17  Eric Blake  <ebb9@byu.net>
27363
27364         doc: mention more functions added in cygwin 1.7.0
27365         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
27366         addition.
27367         * doc/posix-functions/fwscanf.texi: Likewise.
27368         * doc/posix-functions/swprintf.texi: Likewise.
27369         * doc/posix-functions/swscanf.texi: Likewise.
27370         * doc/posix-functions/vfwprintf.texi: Likewise.
27371         * doc/posix-functions/vfwscanf.texi: Likewise.
27372         * doc/posix-functions/vswprintf.texi: Likewise.
27373         * doc/posix-functions/vswscanf.texi: Likewise.
27374         * doc/posix-functions/vwprintf.texi: Likewise.
27375         * doc/posix-functions/vwscanf.texi: Likewise.
27376         * doc/posix-functions/wcscasecmp.texi: Likewise.
27377         * doc/posix-functions/wcsdup.texi: Likewise.
27378         * doc/posix-functions/wcsftime.texi: Likewise.
27379         * doc/posix-functions/wcsncasecmp.texi: Likewise.
27380         * doc/posix-functions/wprintf.texi: Likewise.
27381         * doc/posix-functions/wscanf.texi: Likewise.
27382         * doc/glibc-functions/gethostbyname2.texi: Likewise.
27383
27384 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27385
27386         maint.mk: really add $(AM_MAKEFLAGS)
27387         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
27388         was inadvertently omitted in the last commit.
27389         Spotted by Bruno Haible.
27390
27391         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
27392         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
27393         $(AM_MAKEFLAGS)' rather than plain `make'.
27394
27395         gnulib-tool: execute $MAKE not make
27396         * gnulib-tool: Default $MAKE to 'make'.
27397         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
27398         than make.  Initialize $MAKE in the do-autobuild script.
27399
27400         gnulib-tool: use $MAKE not make in generated files
27401         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
27402         make, in generated files.  Initialize $MAKE in the do-autobuild
27403         script.
27404
27405         * top/GNUmakefile (_have-git-version-gen): Fix typo.
27406
27407         GNUmakefile: disable parallelism only for multiple, recursive targets
27408         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
27409         additions in the Makefile.
27410         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
27411         by Automake.
27412         (.NOTPARALLEL): Only disable parallel builds if multiple targets
27413         are listed on the command line and at least one of them is
27414         listed in $(ALL_RECURSIVE_TARGETS).
27415
27416 2009-03-14  Bruno Haible  <bruno@clisp.org>
27417
27418         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
27419         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
27420         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
27421         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
27422         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
27423         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
27424         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
27425         unistr/u8-uctomb.
27426         * modules/unistr/u8-strchr (Depends-on): Likewise.
27427         * modules/unistr/u8-strrchr (Depends-on): Likewise.
27428         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
27429         unistr/u16-uctomb.
27430         * modules/unistr/u16-strchr (Depends-on): Likewise.
27431         * modules/unistr/u16-strrchr (Depends-on): Likewise.
27432
27433 2009-03-12  Bruno Haible  <bruno@clisp.org>
27434
27435         Work around select() bug on Interix 3.5.
27436         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
27437         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
27438         * m4/select.m4: New file.
27439         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
27440         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
27441         * modules/select (Files): Add m4/select.m4.
27442         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
27443         * modules/nanosleep (Depends-on): Add select.
27444         * modules/poll (Depends-on): Likewise.
27445         * doc/posix-functions/select.texi: Mention the Interix bug.
27446         Reported by Markus Duft <mduft@gentoo.org>.
27447
27448         * lib/select.c: Renamed from lib/winsock-select.c.
27449         * modules/select (Files): Add lib/select.c, remove
27450         lib/winsock-select.c.
27451         (configure.ac): Update.
27452
27453 2009-03-12  Jim Meyering  <meyering@redhat.com>
27454
27455         avoid gcc warnings about unused macro definitions
27456         * lib/readtokens.c (STREQ): Remove unused definition.
27457         * lib/xmalloc.c (SIZE_MAX): Likewise.
27458         * lib/openat-die.c (N_): Likewise.
27459         * lib/mountlist.c (SIZE_MAX): Remove definition.
27460         Instead, include <stdint.h>.
27461         * lib/readutmp.c: Likewise.
27462         * modules/readutmp (Depends-on): Add stdint.
27463         * modules/mountlist (Depends-on): Add stdint.
27464         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
27465
27466 2009-03-10  Bruno Haible  <bruno@clisp.org>
27467
27468         Tests for module 'mbmemcasecoll'.
27469         * modules/mbmemcasecoll-tests: New file.
27470         * tests/test-mbmemcasecoll1.sh: New file.
27471         * tests/test-mbmemcasecoll2.sh: New file.
27472         * tests/test-mbmemcasecoll3.sh: New file.
27473         * tests/test-mbmemcasecoll.c: New file.
27474
27475         New module 'mbmemcasecoll'.
27476         * lib/mbmemcasecoll.h: New file.
27477         * lib/mbmemcasecoll.c: New file.
27478         * modules/mbmemcasecoll: New file.
27479
27480         * tests/test-mbmemcasecmp.h: New file, extracted from
27481         tests/test-mbmemcasecmp.c.
27482         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
27483         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
27484         (main): Update.
27485         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
27486
27487 2009-03-09  Bruno Haible  <bruno@clisp.org>
27488
27489         Tests for module 'mbmemcasecmp'.
27490         * modules/mbmemcasecmp-tests: New file.
27491         * tests/test-mbmemcasecmp1.sh: New file.
27492         * tests/test-mbmemcasecmp2.sh: New file.
27493         * tests/test-mbmemcasecmp3.sh: New file.
27494         * tests/test-mbmemcasecmp.c: New file.
27495
27496         New module 'mbmemcasecmp'.
27497         * lib/mbmemcasecmp.h: New file.
27498         * lib/mbmemcasecmp.c: New file.
27499         * modules/mbmemcasecmp: New file.
27500
27501 2009-03-09  Bruno Haible  <bruno@clisp.org>
27502
27503         Tests for module 'unicase/ulc-casecoll'.
27504         * modules/unicase/ulc-casecoll-tests: New file.
27505         * tests/unicase/test-ulc-casecoll1.sh: New file.
27506         * tests/unicase/test-ulc-casecoll2.sh: New file.
27507         * tests/unicase/test-ulc-casecoll.c: New file.
27508
27509         New module 'unicase/ulc-casecoll'.
27510         * lib/unicase.h (ulc_casecoll): New declaration.
27511         * lib/unicase/ulc-casecoll.c: New file.
27512         * modules/unicase/ulc-casecoll: New file.
27513
27514         New module 'unicase/ulc-casexfrm'.
27515         * lib/unicase.h (ulc_casexfrm): New declaration.
27516         * lib/unicase/ulc-casexfrm.c: New file.
27517         * modules/unicase/ulc-casexfrm: New file.
27518
27519 2009-03-09  Bruno Haible  <bruno@clisp.org>
27520
27521         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
27522         invocations.
27523
27524         * m4/mbscasecmp.m4: Remove file.
27525         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
27526         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
27527
27528         * m4/mbscasestr.m4: Remove file.
27529         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
27530         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
27531
27532         * m4/mbschr.m4: Remove file.
27533         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
27534         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
27535
27536         * m4/mbscspn.m4: Remove file.
27537         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
27538         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
27539
27540         * m4/mbslen.m4: Remove file.
27541         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
27542         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
27543
27544         * m4/mbsncasecmp.m4: Remove file.
27545         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
27546         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
27547
27548         * m4/mbsnlen.m4: Remove file.
27549         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
27550         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
27551
27552         * m4/mbspbrk.m4: Remove file.
27553         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
27554         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
27555
27556         * m4/mbspcasecmp.m4: Remove file.
27557         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
27558         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
27559
27560         * m4/mbsrchr.m4: Remove file.
27561         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
27562         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
27563
27564         * m4/mbssep.m4: Remove file.
27565         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
27566         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
27567
27568         * m4/mbsspn.m4: Remove file.
27569         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
27570         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
27571
27572         * m4/mbsstr.m4: Remove file.
27573         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
27574         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
27575
27576         * m4/mbstok_r.m4: Remove file.
27577         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
27578         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
27579
27580         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
27581
27582         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
27583         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
27584
27585         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
27586
27587 2009-03-08  Bruno Haible  <bruno@clisp.org>
27588
27589         Tests for module 'unicase/ulc-casecmp'.
27590         * modules/unicase/ulc-casecmp-tests: New file.
27591         * tests/unicase/test-ulc-casecmp1.sh: New file.
27592         * tests/unicase/test-ulc-casecmp2.sh: New file.
27593         * tests/unicase/test-ulc-casecmp.c: New file.
27594
27595         New module 'unicase/ulc-casecmp'.
27596         * lib/unicase.h (ulc_casecmp): New declaration.
27597         * lib/unicase/ulc-casecmp.c: New file.
27598         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
27599         'const SRC_UNIT *'.
27600         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
27601         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
27602         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
27603         * modules/unicase/ulc-casecmp: New file.
27604
27605         Tests for module 'unicase/u32-is-cased'.
27606         * modules/unicase/u32-is-cased-tests: New file.
27607         * tests/unicase/test-u32-is-cased.c: New file.
27608
27609         Tests for module 'unicase/u16-is-cased'.
27610         * modules/unicase/u16-is-cased-tests: New file.
27611         * tests/unicase/test-u16-is-cased.c: New file.
27612
27613         Tests for module 'unicase/u8-is-cased'.
27614         * modules/unicase/u8-is-cased-tests: New file.
27615         * tests/unicase/test-u8-is-cased.c: New file.
27616         * tests/unicase/test-is-cased.h: New file.
27617
27618         New module 'unicase/u32-is-cased'.
27619         * lib/unicase/u32-is-cased.c: New file.
27620         * modules/unicase/u32-is-cased: New file.
27621
27622         New module 'unicase/u16-is-cased'.
27623         * lib/unicase/u16-is-cased.c: New file.
27624         * modules/unicase/u16-is-cased: New file.
27625
27626         New module 'unicase/u8-is-cased'.
27627         * lib/unicase/u8-is-cased.c: New file.
27628         * lib/unicase/u-is-cased.h: New file.
27629         * modules/unicase/u8-is-cased: New file.
27630
27631         Tests for module 'unicase/u32-is-casefolded'.
27632         * modules/unicase/u32-is-casefolded-tests: New file.
27633         * tests/unicase/test-u32-is-casefolded.c: New file.
27634
27635         Tests for module 'unicase/u16-is-casefolded'.
27636         * modules/unicase/u16-is-casefolded-tests: New file.
27637         * tests/unicase/test-u16-is-casefolded.c: New file.
27638
27639         Tests for module 'unicase/u8-is-casefolded'.
27640         * modules/unicase/u8-is-casefolded-tests: New file.
27641         * tests/unicase/test-u8-is-casefolded.c: New file.
27642         * tests/unicase/test-is-casefolded.h: New file.
27643
27644         New module 'unicase/u32-is-casefolded'.
27645         * lib/unicase/u32-is-casefolded.c: New file.
27646         * modules/unicase/u32-is-casefolded: New file.
27647
27648         New module 'unicase/u16-is-casefolded'.
27649         * lib/unicase/u16-is-casefolded.c: New file.
27650         * modules/unicase/u16-is-casefolded: New file.
27651
27652         New module 'unicase/u8-is-casefolded'.
27653         * lib/unicase/u8-is-casefolded.c: New file.
27654         * modules/unicase/u8-is-casefolded: New file.
27655
27656         Tests for module 'unicase/u32-is-titlecase'.
27657         * modules/unicase/u32-is-titlecase-tests: New file.
27658         * tests/unicase/test-u32-is-titlecase.c: New file.
27659
27660         Tests for module 'unicase/u16-is-titlecase'.
27661         * modules/unicase/u16-is-titlecase-tests: New file.
27662         * tests/unicase/test-u16-is-titlecase.c: New file.
27663
27664         Tests for module 'unicase/u8-is-titlecase'.
27665         * modules/unicase/u8-is-titlecase-tests: New file.
27666         * tests/unicase/test-u8-is-titlecase.c: New file.
27667         * tests/unicase/test-is-titlecase.h: New file.
27668
27669         New module 'unicase/u32-is-titlecase'.
27670         * lib/unicase/u32-is-titlecase.c: New file.
27671         * modules/unicase/u32-is-titlecase: New file.
27672
27673         New module 'unicase/u16-is-titlecase'.
27674         * lib/unicase/u16-is-titlecase.c: New file.
27675         * modules/unicase/u16-is-titlecase: New file.
27676
27677         New module 'unicase/u8-is-titlecase'.
27678         * lib/unicase/u8-is-titlecase.c: New file.
27679         * modules/unicase/u8-is-titlecase: New file.
27680
27681         Tests for module 'unicase/u32-is-lowercase'.
27682         * modules/unicase/u32-is-lowercase-tests: New file.
27683         * tests/unicase/test-u32-is-lowercase.c: New file.
27684
27685         Tests for module 'unicase/u16-is-lowercase'.
27686         * modules/unicase/u16-is-lowercase-tests: New file.
27687         * tests/unicase/test-u16-is-lowercase.c: New file.
27688
27689         Tests for module 'unicase/u8-is-lowercase'.
27690         * modules/unicase/u8-is-lowercase-tests: New file.
27691         * tests/unicase/test-u8-is-lowercase.c: New file.
27692         * tests/unicase/test-is-lowercase.h: New file.
27693
27694         New module 'unicase/u32-is-lowercase'.
27695         * lib/unicase/u32-is-lowercase.c: New file.
27696         * modules/unicase/u32-is-lowercase: New file.
27697
27698         New module 'unicase/u16-is-lowercase'.
27699         * lib/unicase/u16-is-lowercase.c: New file.
27700         * modules/unicase/u16-is-lowercase: New file.
27701
27702         New module 'unicase/u8-is-lowercase'.
27703         * lib/unicase/u8-is-lowercase.c: New file.
27704         * modules/unicase/u8-is-lowercase: New file.
27705
27706         Tests for module 'unicase/u32-is-uppercase'.
27707         * modules/unicase/u32-is-uppercase-tests: New file.
27708         * tests/unicase/test-u32-is-uppercase.c: New file.
27709
27710         Tests for module 'unicase/u16-is-uppercase'.
27711         * modules/unicase/u16-is-uppercase-tests: New file.
27712         * tests/unicase/test-u16-is-uppercase.c: New file.
27713
27714         Tests for module 'unicase/u8-is-uppercase'.
27715         * modules/unicase/u8-is-uppercase-tests: New file.
27716         * tests/unicase/test-u8-is-uppercase.c: New file.
27717         * tests/unicase/test-is-uppercase.h: New file.
27718
27719         New module 'unicase/u32-is-uppercase'.
27720         * lib/unicase/u32-is-uppercase.c: New file.
27721         * modules/unicase/u32-is-uppercase: New file.
27722
27723         New module 'unicase/u16-is-uppercase'.
27724         * lib/unicase/u16-is-uppercase.c: New file.
27725         * modules/unicase/u16-is-uppercase: New file.
27726
27727         New module 'unicase/u8-is-uppercase'.
27728         * lib/unicase/u8-is-uppercase.c: New file.
27729         * modules/unicase/u8-is-uppercase: New file.
27730
27731         New module 'unicase/u32-is-invariant'.
27732         * lib/unicase/u32-is-invariant.c: New file.
27733         * modules/unicase/u32-is-invariant: New file.
27734
27735         New module 'unicase/u16-is-invariant'.
27736         * lib/unicase/u16-is-invariant.c: New file.
27737         * modules/unicase/u16-is-invariant: New file.
27738
27739         New module 'unicase/u8-is-invariant'.
27740         * lib/unicase/u8-is-invariant.c: New file.
27741         * lib/unicase/invariant.h: New file.
27742         * lib/unicase/u-is-invariant.h: New file.
27743         * modules/unicase/u8-is-invariant: New file.
27744
27745         Tests for module 'unicase/u32-casecoll'.
27746         * modules/unicase/u32-casecoll-tests: New file.
27747         * tests/unicase/test-u32-casecoll.c: New file.
27748
27749         Tests for module 'unicase/u16-casecoll'.
27750         * modules/unicase/u16-casecoll-tests: New file.
27751         * tests/unicase/test-u16-casecoll.c: New file.
27752
27753         Tests for module 'unicase/u8-casecoll'.
27754         * modules/unicase/u8-casecoll-tests: New file.
27755         * tests/unicase/test-u8-casecoll.c: New file.
27756
27757         New module 'unicase/u32-casecoll'.
27758         * lib/unicase/u32-casecoll.c: New file.
27759         * modules/unicase/u32-casecoll: New file.
27760
27761         New module 'unicase/u16-casecoll'.
27762         * lib/unicase/u16-casecoll.c: New file.
27763         * modules/unicase/u16-casecoll: New file.
27764
27765         New module 'unicase/u8-casecoll'.
27766         * lib/unicase/u8-casecoll.c: New file.
27767         * lib/unicase/u-casecoll.h: New file.
27768         * modules/unicase/u8-casecoll: New file.
27769
27770         New module 'unicase/u32-casexfrm'.
27771         * lib/unicase/u32-casexfrm.c: New file.
27772         * modules/unicase/u32-casexfrm: New file.
27773
27774         New module 'unicase/u16-casexfrm'.
27775         * lib/unicase/u16-casexfrm.c: New file.
27776         * modules/unicase/u16-casexfrm: New file.
27777
27778         New module 'unicase/u8-casexfrm'.
27779         * lib/unicase/u8-casexfrm.c: New file.
27780         * lib/unicase/u-casexfrm.h: New file.
27781         * modules/unicase/u8-casexfrm: New file.
27782
27783         Tests for module 'unicase/u32-casecmp'.
27784         * modules/unicase/u32-casecmp-tests: New file.
27785         * tests/unicase/test-u32-casecmp.c: New file.
27786
27787         Tests for module 'unicase/u16-casecmp'.
27788         * modules/unicase/u16-casecmp-tests: New file.
27789         * tests/unicase/test-u16-casecmp.c: New file.
27790
27791         Tests for module 'unicase/u8-casecmp'.
27792         * modules/unicase/u8-casecmp-tests: New file.
27793         * tests/unicase/test-u8-casecmp.c: New file.
27794         * tests/unicase/test-casecmp.h: New file.
27795
27796         New module 'unicase/u32-casecmp'.
27797         * lib/unicase/u32-casecmp.c: New file.
27798         * modules/unicase/u32-casecmp: New file.
27799
27800         New module 'unicase/u16-casecmp'.
27801         * lib/unicase/u16-casecmp.c: New file.
27802         * modules/unicase/u16-casecmp: New file.
27803
27804         New module 'unicase/u8-casecmp'.
27805         * lib/unicase/u8-casecmp.c: New file.
27806         * lib/unicase/u-casecmp.h: New file.
27807         * modules/unicase/u8-casecmp: New file.
27808
27809         Tests for module 'unicase/u32-casefold'.
27810         * modules/unicase/u32-casefold-tests: New file.
27811         * tests/unicase/test-u32-casefold.c: New file.
27812
27813         Tests for module 'unicase/u16-casefold'.
27814         * modules/unicase/u16-casefold-tests: New file.
27815         * tests/unicase/test-u16-casefold.c: New file.
27816
27817         Tests for module 'unicase/u8-casefold'.
27818         * modules/unicase/u8-casefold-tests: New file.
27819         * tests/unicase/test-u8-casefold.c: New file.
27820
27821         New module 'unicase/u32-casefold'.
27822         * lib/unicase/u32-casefold.c: New file.
27823         * modules/unicase/u32-casefold: New file.
27824
27825         New module 'unicase/u16-casefold'.
27826         * lib/unicase/u16-casefold.c: New file.
27827         * modules/unicase/u16-casefold: New file.
27828
27829         New module 'unicase/u8-casefold'.
27830         * lib/unicase/u8-casefold.c: New file.
27831         * lib/unicase/u-casefold.h: New file.
27832         * modules/unicase/u8-casefold: New file.
27833
27834         New module 'unicase/tocasefold'.
27835         * lib/unicase/casefold.h: New file.
27836         * lib/unicase/tocasefold.c: New file.
27837         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
27838         * modules/unicase/tocasefold: New file.
27839
27840         Tests for module 'unicase/u32-totitle'.
27841         * modules/unicase/u32-totitle-tests: New file.
27842         * tests/unicase/test-u32-totitle.c: New file.
27843
27844         Tests for module 'unicase/u16-totitle'.
27845         * modules/unicase/u16-totitle-tests: New file.
27846         * tests/unicase/test-u16-totitle.c: New file.
27847
27848         Tests for module 'unicase/u8-totitle'.
27849         * modules/unicase/u8-totitle-tests: New file.
27850         * tests/unicase/test-u8-totitle.c: New file.
27851
27852         New module 'unicase/u32-totitle'.
27853         * lib/unicase/u32-totitle.c: New file.
27854         * modules/unicase/u32-totitle: New file.
27855
27856         New module 'unicase/u16-totitle'.
27857         * lib/unicase/u16-totitle.c: New file.
27858         * modules/unicase/u16-totitle: New file.
27859
27860         New module 'unicase/u8-totitle'.
27861         * lib/unicase/u8-totitle.c: New file.
27862         * lib/unicase/u-totitle.h: New file.
27863         * modules/unicase/u8-totitle: New file.
27864
27865         Tests for module 'unicase/u32-tolower'.
27866         * modules/unicase/u32-tolower-tests: New file.
27867         * tests/unicase/test-u32-tolower.c: New file.
27868
27869         Tests for module 'unicase/u16-tolower'.
27870         * modules/unicase/u16-tolower-tests: New file.
27871         * tests/unicase/test-u16-tolower.c: New file.
27872
27873         Tests for module 'unicase/u8-tolower'.
27874         * modules/unicase/u8-tolower-tests: New file.
27875         * tests/unicase/test-u8-tolower.c: New file.
27876
27877         New module 'unicase/u32-tolower'.
27878         * lib/unicase/u32-tolower.c: New file.
27879         * modules/unicase/u32-tolower: New file.
27880
27881         New module 'unicase/u16-tolower'.
27882         * lib/unicase/u16-tolower.c: New file.
27883         * modules/unicase/u16-tolower: New file.
27884
27885         New module 'unicase/u8-tolower'.
27886         * lib/unicase/u8-tolower.c: New file.
27887         * modules/unicase/u8-tolower: New file.
27888
27889         Tests for module 'unicase/u32-toupper'.
27890         * modules/unicase/u32-toupper-tests: New file.
27891         * tests/unicase/test-u32-toupper.c: New file.
27892
27893         Tests for module 'unicase/u16-toupper'.
27894         * modules/unicase/u16-toupper-tests: New file.
27895         * tests/unicase/test-u16-toupper.c: New file.
27896
27897         Tests for module 'unicase/u8-toupper'.
27898         * modules/unicase/u8-toupper-tests: New file.
27899         * tests/unicase/test-u8-toupper.c: New file.
27900
27901         New module 'unicase/u32-toupper'.
27902         * lib/unicase/u32-toupper.c: New file.
27903         * modules/unicase/u32-toupper: New file.
27904
27905         New module 'unicase/u16-toupper'.
27906         * lib/unicase/u16-toupper.c: New file.
27907         * modules/unicase/u16-toupper: New file.
27908
27909         New module 'unicase/u8-toupper'.
27910         * lib/unicase/u8-toupper.c: New file.
27911         * modules/unicase/u8-toupper: New file.
27912
27913         New module 'unicase/u32-casemap'.
27914         * lib/unicase/u32-casemap.c: New file.
27915         * modules/unicase/u32-casemap: New file.
27916
27917         New module 'unicase/u16-casemap'.
27918         * lib/unicase/u16-casemap.c: New file.
27919         * modules/unicase/u16-casemap: New file.
27920
27921         New module 'unicase/u8-casemap'.
27922         * lib/unicase/unicasemap.h: New file.
27923         * lib/unicase/u8-casemap.c: New file.
27924         * lib/unicase/u-casemap.h: New file.
27925         * modules/unicase/u8-casemap: New file.
27926
27927         New module 'unicase/special-casing'.
27928         * lib/unicase/special-casing.h: New file.
27929         * lib/unicase/special-casing.c: New file.
27930         * lib/unicase/special-casing-table.gperf: New file, generated by
27931         gen-uni-tables.c.
27932         * modules/unicase/special-casing: New file.
27933
27934         Tests for module 'unicase/locale-language'.
27935         * modules/unicase/locale-language-tests: New file.
27936         * tests/unicase/test-locale-language.sh: New file.
27937         * tests/unicase/test-locale-language.c: New file.
27938
27939         New module 'unicase/locale-language'.
27940         * lib/unicase/locale-language.c: New file.
27941         * lib/unicase/locale-languages.gperf: New file.
27942         * modules/unicase/locale-language: New file.
27943
27944         Generate more tables for case conversion and case folding.
27945         * lib/gen-uni-tables.c (SCC_*): New enum items.
27946         (struct special_casing_rule): New type.
27947         (casing_rules, num_casing_rules, allocated_casing_rules): New
27948         variables.
27949         (add_casing_rule, fill_casing_rules): New functions.
27950         (struct casefold_rule): New type.
27951         (casefolding_rules, num_casefolding_rules,
27952         allocated_casefolding_rules): New variables.
27953         (fill_casefolding_rules): New function.
27954         (unicode_casefold): New variable.
27955         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
27956         sort_casing_rules, output_casing_rules): New functions.
27957         (main): Accept to more arguments: SpecialCasing.txt and
27958         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
27959         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
27960         Output mapping for casefolding.
27961
27962         * lib/unicase.h: Include stdbool.h, uninorm.h.
27963         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
27964         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
27965         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
27966         arguments.
27967         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
27968         resultp arguments.
27969         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
27970         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
27971         resultp arguments.
27972         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
27973         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
27974         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
27975         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
27976         declarations.
27977         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
27978
27979 2009-03-08  Bruno Haible  <bruno@clisp.org>
27980
27981         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
27982         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
27983         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
27984         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
27985
27986 2009-03-07  Bruno Haible  <bruno@clisp.org>
27987
27988         Adjust u*_normcmp, u*_normcoll API.
27989         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
27990         u16_normcoll, u32_normcoll): Change failure conventions.
27991         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
27992         errno and return -1.
27993         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
27994
27995 2009-03-07  Bruno Haible  <bruno@clisp.org>
27996
27997         Tests for module 'uninorm/u32-normcoll'.
27998         * modules/uninorm/u32-normcoll-tests: New file.
27999         * tests/uninorm/test-u32-normcoll.c: New file.
28000
28001         Tests for module 'uninorm/u16-normcoll'.
28002         * modules/uninorm/u16-normcoll-tests: New file.
28003         * tests/uninorm/test-u16-normcoll.c: New file.
28004
28005         Tests for module 'uninorm/u8-normcoll'.
28006         * modules/uninorm/u8-normcoll-tests: New file.
28007         * tests/uninorm/test-u8-normcoll.c: New file.
28008
28009 2009-03-07  Bruno Haible  <bruno@clisp.org>
28010
28011         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
28012         tests/uninorm/test-u32-normcmp.c.
28013         * tests/uninorm/test-u32-normcmp.c: Include it.
28014         (test_nonascii): New function, extracted from main. Add some more
28015         tests.
28016         (main): Invoke test_ascii and test_nonascii.
28017         * modules/uninorm/u32-normcmp-tests (Files): Add
28018         tests/uninorm/test-u32-normcmp.h.
28019         (Depends-on): Remove uninorm/u32-normcmp.
28020
28021         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
28022         tests/uninorm/test-u16-normcmp.c.
28023         * tests/uninorm/test-u16-normcmp.c: Include it.
28024         (test_nonascii): New function, extracted from main. Add some more
28025         tests.
28026         (main): Invoke test_ascii and test_nonascii.
28027         * modules/uninorm/u16-normcmp-tests (Files): Add
28028         tests/uninorm/test-u16-normcmp.h.
28029         (Depends-on): Remove uninorm/u16-normcmp.
28030
28031         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
28032         tests/uninorm/test-u8-normcmp.c.
28033         * tests/uninorm/test-u8-normcmp.c: Include it.
28034         (test_nonascii): New function, extracted from main. Add some more
28035         tests.
28036         (main): Invoke test_ascii and test_nonascii.
28037         * modules/uninorm/u8-normcmp-tests (Files): Add
28038         tests/uninorm/test-u8-normcmp.h.
28039         (Depends-on): Remove uninorm/u8-normcmp.
28040
28041 2009-03-07  Bruno Haible  <bruno@clisp.org>
28042
28043         New module 'uninorm/u32-normcoll'.
28044         * lib/uninorm/u32-normcoll.c: New file.
28045         * modules/uninorm/u32-normcoll: New file.
28046
28047         New module 'uninorm/u16-normcoll'.
28048         * lib/uninorm/u16-normcoll.c: New file.
28049         * modules/uninorm/u16-normcoll: New file.
28050
28051         New module 'uninorm/u8-normcoll'.
28052         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
28053         declarations.
28054         * lib/uninorm/u8-normcoll.c: New file.
28055         * lib/uninorm/u-normcoll.h: New file.
28056         * modules/uninorm/u8-normcoll: New file.
28057
28058         New module 'uninorm/u32-normxfrm'.
28059         * lib/uninorm/u32-normxfrm.c: New file.
28060         * modules/uninorm/u32-normxfrm: New file.
28061
28062         New module 'uninorm/u16-normxfrm'.
28063         * lib/uninorm/u16-normxfrm.c: New file.
28064         * modules/uninorm/u16-normxfrm: New file.
28065
28066         New module 'uninorm/u8-normxfrm'.
28067         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
28068         declarations.
28069         * lib/uninorm/u8-normxfrm.c: New file.
28070         * lib/uninorm/u-normxfrm.h: New file.
28071         * modules/uninorm/u8-normxfrm: New file.
28072
28073 2009-03-07  Bruno Haible  <bruno@clisp.org>
28074
28075         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
28076         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
28077         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
28078
28079 2009-03-07  Bruno Haible  <bruno@clisp.org>
28080
28081         New module 'memxfrm'.
28082         * lib/memxfrm.h: New file.
28083         * lib/memxfrm.c: New file.
28084         * modules/memxfrm: New file.
28085
28086 2009-03-07  Bruno Haible  <bruno@clisp.org>
28087
28088         New module 'memcmp2'.
28089         * lib/memcmp2.h: New file.
28090         * lib/memcmp2.c: New file.
28091         * modules/memcmp2: New file.
28092
28093 2009-03-07  Bruno Haible  <bruno@clisp.org>
28094
28095         Tests for module 'uninorm/decomposing-form'.
28096         * modules/uninorm/decomposing-form-tests: New file.
28097         * tests/uninorm/test-decomposing-form.c: New file.
28098
28099         New module 'uninorm/decomposing-form'.
28100         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
28101         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
28102         Add 'decomposing_variant' field.
28103         * lib/uninorm/decomposing-form.c: New file.
28104         * lib/uninorm/nfc.c (uninorm_nfc): Update.
28105         * lib/uninorm/nfd.c (uninorm_nfd): Update.
28106         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
28107         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
28108         * modules/uninorm/decomposing-form: New file.
28109         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
28110         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
28111
28112 2009-03-07  Bruno Haible  <bruno@clisp.org>
28113
28114         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
28115         strings.
28116
28117 2009-03-06  Bruno Haible  <bruno@clisp.org>
28118
28119         Tests for module 'uninorm/u32-normcmp'.
28120         * tests/uninorm/test-u32-normcmp.c: New file.
28121         * modules/uninorm/u32-normcmp-tests: New file.
28122
28123         Tests for module 'uninorm/u16-normcmp'.
28124         * tests/uninorm/test-u16-normcmp.c: New file.
28125         * modules/uninorm/u16-normcmp-tests: New file.
28126
28127         Tests for module 'uninorm/u8-normcmp'.
28128         * tests/uninorm/test-u8-normcmp.c: New file.
28129         * modules/uninorm/u8-normcmp-tests: New file.
28130
28131         New module 'uninorm/u32-normcmp'.
28132         * lib/uninorm/u32-normcmp.c: New file.
28133         * modules/uninorm/u32-normcmp: New file.
28134
28135         New module 'uninorm/u16-normcmp'.
28136         * lib/uninorm/u16-normcmp.c: New file.
28137         * modules/uninorm/u16-normcmp: New file.
28138
28139         New module 'uninorm/u8-normcmp'.
28140         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
28141         declarations.
28142         * lib/uninorm/u8-normcmp.c: New file.
28143         * lib/uninorm/u-normcmp.h: New file.
28144         * modules/uninorm/u8-normcmp: New file.
28145
28146 2009-03-06  Bruno Haible  <bruno@clisp.org>
28147
28148         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
28149         Reported by Eric Blake.
28150
28151 2009-03-06  Eric Blake  <ebb9@byu.net>
28152             Bruno Haible  <bruno@clisp.org>
28153
28154         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
28155         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
28156         condition.
28157         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
28158         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
28159         condition.
28160         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
28161
28162 2009-03-06  Eric Blake  <ebb9@byu.net>
28163
28164         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
28165         to avoid compiler warnings.
28166         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
28167
28168 2009-03-05  Bruno Haible  <bruno@clisp.org>
28169
28170         * tests/test-ftell.c (main): Disable test beyond end of file on
28171         FreeMiNT.
28172         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
28173
28174 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
28175
28176         * lib/filevercmp.c: Move hidden files up in ordering.
28177         * tests/test-filevercmp.c: Add tests for hidden files.
28178
28179 2009-03-04  Bruno Haible  <bruno@clisp.org>
28180
28181         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
28182         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
28183         AM_CFLAGS.
28184         Reported by Simon Josefsson.
28185
28186 2009-03-03  Bruno Haible  <bruno@clisp.org>
28187
28188         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
28189         Reported by Simon Josefsson.
28190
28191         * doc/ld-version-script.texi: Update node reference.
28192
28193 2009-03-03  Bruno Haible  <bruno@clisp.org>
28194
28195         * modules/visibility (License): Change to 'unlimited'.
28196         Suggested by Simon Josefsson.
28197
28198 2009-03-03  Jim Meyering  <meyering@redhat.com>
28199
28200         unlinkdir: cannot_unlink_dir may modify process state
28201         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
28202         it's neither thread-safe nor appropriate for use in a library.
28203
28204 2009-03-03  Eric Blake  <ebb9@byu.net>
28205
28206         test-closein: silence test under Darwin
28207         * tests/test-closein.sh: Ignore stderr from cat, since we don't
28208         care if it dies from EPIPE or EBADF.
28209
28210 2009-03-03  Bruno Haible  <bruno@clisp.org>
28211
28212         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
28213         earlier.
28214         * doc/visibility.texi: Fix @node and @section.
28215
28216 2009-03-03  Simon Josefsson  <simon@josefsson.org>
28217
28218         * doc/gnulib.texi: Link to sections for ld version script and
28219         visibility.
28220         * doc/visibility.texi: Add @node and @section.
28221         * modules/ld-version-script: New module.
28222         * m4/ld-version-script.m4: New file.
28223         * doc/ld-version-script.texi: New file.
28224
28225 2009-03-02  David Lutterkort  <lutter@redhat.com>
28226
28227         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
28228         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28229
28230 2009-03-02  Bruno Haible  <bruno@clisp.org>
28231
28232         * doc/visibility.texi: Mention libtool's -export-symbols option.
28233
28234 2009-03-02  Jim Meyering  <meyering@redhat.com>
28235
28236         announce-gen: new option: --no-print-checksums
28237         * build-aux/announce-gen (usage): Describe it.
28238         (print_checksums): Print a newline here, not in the [*] footnote.
28239         (main): Honor it.
28240
28241 2009-03-01  Bruno Haible  <bruno@clisp.org>
28242
28243         Use socklen_t in the native Windows replacements prototypes.
28244         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
28245         instead of 'int'.
28246         * lib/getsockopt.c (rpl_getsockopt): Likewise.
28247         * lib/setsockopt.c (rpl_setsockopt): Likewise.
28248         * modules/getsockopt (Depends-on): Add socklen.
28249         * modules/setsockopt (Depends-on): Add socklen.
28250
28251 2009-03-01  Bruno Haible  <bruno@clisp.org>
28252
28253         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
28254         least 4.2.
28255
28256 2009-03-01  Eric Blake  <ebb9@byu.net>
28257             Bruno Haible  <bruno@clisp.org>
28258
28259         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
28260         error messages.
28261         * lib/wait-process.c (wait_subprocess): Omit error message about
28262         deadly signal sent to the child of termsigp != NULL.
28263
28264 2009-03-01  Eric Blake  <ebb9@byu.net>
28265
28266         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
28267
28268 2009-03-01  Bruno Haible  <bruno@clisp.org>
28269
28270         Avoid a gcc warning.
28271         * tests/test-sched.c (b): Make global.
28272         Reported by Eric Blake.
28273
28274 2009-01-19  Martin Lambers  <marlam@marlam.de>
28275
28276         Provide POSIX semantics for socket timeout options on W32.
28277         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
28278         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
28279         * modules/setsockopt: Depend on sys_time module for struct timeval.
28280         * modules/getsockopt: Depend on sys_time module for struct timeval.
28281
28282 2009-03-01  Simon Josefsson  <simon@josefsson.org>
28283
28284         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
28285         __USE_GNU, for consistency with netdb.in.h.
28286         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28287
28288 2009-03-01  Bruno Haible  <bruno@clisp.org>
28289
28290         More support for FreeMiNT.
28291         * lib/fseeko.c (rpl_fseeko): Complete last commit.
28292         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28293
28294 2009-03-01  Bruno Haible  <bruno@clisp.org>
28295
28296         More support for FreeMiNT.
28297         * lib/fpurge.c (fpurge): Correct last commit.
28298         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28299
28300 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28301
28302         Fix unportable awk script in vc-list-files.
28303         * build-aux/vc-list-files: In the replacement awk script, use
28304         substr with a second argument of 1, not zero.
28305         Report by Simon Josefsson.
28306
28307 2009-02-28  Bruno Haible  <bruno@clisp.org>
28308
28309         More support for FreeMiNT.
28310         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
28311         to FreeMiNT today.
28312         * lib/fwriting.c (fwriting): Likewise.
28313         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
28314
28315 2009-02-28  Bruno Haible  <bruno@clisp.org>
28316
28317         * tests/test-freadseek.c (main): Disable test beyond end of file on
28318         FreeMiNT.
28319         * tests/test-ftello.c (main): Likewise.
28320         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
28321
28322 2009-02-28  Bruno Haible  <bruno@clisp.org>
28323
28324         Add tentative support for FreeMiNT.
28325         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
28326         * lib/fpurge.c (fpurge): Likewise.
28327         * lib/freadable.c (freadable): Likewise.
28328         * lib/freading.c (freading): Likewise.
28329         * lib/freadptr.c (freadptr): Likewise.
28330         * lib/freadseek.c (freadptrinc): Likewise.
28331         * lib/fseeko.c (rpl_fseeko): Likewise.
28332         * lib/fseterr.c (fseterr): Likewise.
28333         * lib/fwritable.c (fwritable): Likewise.
28334         * lib/fwriting.c (fwriting): Likewise.
28335         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
28336         Hourihane.
28337         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28338
28339 2009-02-28  Bruno Haible  <bruno@clisp.org>
28340
28341         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
28342         SIGCHLD.
28343         Reported by Jim Meyering.
28344
28345 2009-02-28  Bruno Haible  <bruno@clisp.org>
28346
28347         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
28348         Mention the results of these tests on various platforms.
28349         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
28350         order.
28351         * doc/posix-functions/printf.texi: Likewise.
28352         * doc/posix-functions/snprintf.texi: Likewise.
28353         * doc/posix-functions/sprintf.texi: Likewise.
28354         * doc/posix-functions/vfprintf.texi: Likewise.
28355         * doc/posix-functions/vprintf.texi: Likewise.
28356         * doc/posix-functions/vsnprintf.texi: Likewise.
28357         * doc/posix-functions/vsprintf.texi: Likewise.
28358         * doc/glibc-functions/obstack_printf.texi: Likewise.
28359         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
28360
28361 2009-02-28  Bruno Haible  <bruno@clisp.org>
28362
28363         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
28364         Reported by Loïc Minier <lool@dooz.org>.
28365
28366 2009-02-27  Bruno Haible  <bruno@clisp.org>
28367
28368         * gnulib-tool (func_import): Make the sed expression used to create the
28369         sed script for updating the .gitignore file POSIX compliant.
28370         Reported by Eric Blake.
28371
28372 2009-02-27  Bruno Haible  <bruno@clisp.org>
28373
28374         * gnulib-tool (sed): Don't alias as "sed --posix".
28375         Reported by Eric Blake.
28376
28377 2009-02-27  Bruno Haible  <bruno@clisp.org>
28378
28379         Avoid test link errors.
28380         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
28381         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
28382         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
28383         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
28384         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28385
28386 2009-02-27  Bruno Haible  <bruno@clisp.org>
28387
28388         Avoid spurious "(cached)" in configure output.
28389         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
28390         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
28391         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
28392         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
28393         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
28394         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
28395         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
28396         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
28397         Reported by Eric Blake.
28398
28399 2009-02-27  Eric Blake  <ebb9@byu.net>
28400
28401         printf: fix regression in previous patch
28402         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
28403
28404 2009-02-27  Bruno Haible  <bruno@clisp.org>
28405
28406         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
28407         value.
28408         * lib/stdint.in.h: Likewise.
28409         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
28410
28411 2009-02-27  Eric Blake  <ebb9@byu.net>
28412
28413         doc: mention more functions added in cygwin 1.7.0
28414         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
28415         addition.
28416         * doc/posix-functions/open_wmemstream.texi: Likewise.
28417         * doc/posix-functions/wcsnlen.texi: Likewise.
28418         * doc/posix-functions/wcsnrtombs.texi: Likewise.
28419         * doc/posix-functions/wcstod.texi: Likewise.
28420         * doc/posix-functions/wcstof.texi: Likewise.
28421         * doc/posix-functions/wcstoimax.texi: Likewise.
28422         * doc/posix-functions/wcstok.texi: Likewise.
28423         * doc/posix-functions/wcstoumax.texi: Likewise.
28424
28425         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
28426         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
28427         * doc/posix-functions/fprintf.texi: Update.
28428         * doc/posix-functions/printf.texi: Update.
28429         * doc/posix-functions/snprintf.texi: Update.
28430         * doc/posix-functions/sprintf.texi: Update.
28431         * doc/posix-functions/vfprintf.texi: Update.
28432         * doc/posix-functions/vprintf.texi: Update.
28433         * doc/posix-functions/vsnprintf.texi: Update.
28434         * doc/posix-functions/vsprintf.texi: Update.
28435         * doc/glibc-functions/obstack_printf.texi: Update.
28436         * doc/glibc-functions/obstack_vprintf.texi: Update.
28437
28438 2009-02-26  Eric Blake  <ebb9@byu.net>
28439
28440         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
28441         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
28442         compilation bug by using runtime conversion.
28443         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
28444         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
28445         * modules/ceill-tests (Files): Use nan.h.
28446         * modules/floorl-tests (Files): Likewise.
28447         * modules/frexpl-tests (Files): Likewise.
28448         * modules/isnanl-tests (Files): Likewise.
28449         * modules/ldexpl-tests (Files): Likewise.
28450         * modules/roundl-tests (Files): Likewise.
28451         * modules/truncl-tests (Files): Likewise.
28452         * tests/test-ceill.c (main): Use a working NaN.
28453         * tests/test-floorl.c (main): Likewise.
28454         * tests/test-frexpl.c (main): Likewise.
28455         * tests/test-isnan.c (test_long_double): Likewise.
28456         * tests/test-isnanl.h (main): Likewise.
28457         * tests/test-ldexpl.h (main): Likewise.
28458         * tests/test-roundl.h (main): Likewise.
28459         * tests/test-truncl.h (main): Likewise.
28460         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
28461
28462 2009-02-26  Eric Blake  <ebb9@byu.net>
28463             Bruno Haible  <bruno@clisp.org>
28464
28465         Work around a *printf bug with %ls on Solaris.
28466         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
28467         precision is specified, sprintf stops converting the wide string
28468         argument when the number of bytes that have been produced by this
28469         conversion equals or exceeds the precision.
28470         * doc/posix-functions/fprintf.texi: Update.
28471         * doc/posix-functions/printf.texi: Update.
28472         * doc/posix-functions/snprintf.texi: Update.
28473         * doc/posix-functions/sprintf.texi: Update.
28474         * doc/posix-functions/vfprintf.texi: Update.
28475         * doc/posix-functions/vprintf.texi: Update.
28476         * doc/posix-functions/vsnprintf.texi: Update.
28477         * doc/posix-functions/vsprintf.texi: Update.
28478         * doc/glibc-functions/obstack_printf.texi: Update.
28479         * doc/glibc-functions/obstack_vprintf.texi: Update.
28480
28481 2009-02-26  Eric Blake  <ebb9@byu.net>
28482
28483         stdlib: favor compiler check of random.h
28484         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
28485         to avoid an ObjC random.h installed by Swarm.
28486
28487 2009-02-26  Bruno Haible  <bruno@clisp.org>
28488
28489         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
28490         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
28491         Reported by Gary V. Vaughan <gary@gnu.org>.
28492
28493 2009-02-26  Bruno Haible  <bruno@clisp.org>
28494
28495         Fix *printf behaviour regarding the %ls directive.
28496         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
28497         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
28498         NEED_PRINTF_DIRECTIVE_LS.
28499         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
28500         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
28501         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
28502         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
28503         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
28504         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
28505         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
28506         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
28507         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
28508         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
28509         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
28510         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
28511         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
28512         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
28513         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
28514         * doc/posix-functions/fprintf.texi: Update.
28515         * doc/posix-functions/printf.texi: Update.
28516         * doc/posix-functions/snprintf.texi: Update.
28517         * doc/posix-functions/sprintf.texi: Update.
28518         * doc/posix-functions/vfprintf.texi: Update.
28519         * doc/posix-functions/vprintf.texi: Update.
28520         * doc/posix-functions/vsnprintf.texi: Update.
28521         * doc/posix-functions/vsprintf.texi: Update.
28522         * doc/glibc-functions/obstack_printf.texi: Update.
28523         * doc/glibc-functions/obstack_vprintf.texi: Update.
28524         Reported by Eric Blake.
28525
28526 2009-02-25  Bruno Haible  <bruno@clisp.org>
28527
28528         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
28529         with known value.
28530         Reported by Gary V. Vaughan <gary@gnu.org>.
28531
28532 2009-02-25  Bruno Haible  <bruno@clisp.org>
28533
28534         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
28535         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
28536         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
28537         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
28538         Reported by Gary V. Vaughan <gary@gnu.org>.
28539
28540 2009-02-25  Bruno Haible  <bruno@clisp.org>
28541
28542         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
28543         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
28544         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
28545         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
28546         Reported by Gary V. Vaughan <gary@gnu.org>.
28547
28548 2009-02-25  Eric Blake  <ebb9@byu.net>
28549
28550         tests: skip fseek/ftell tests if ungetc is broken
28551         * m4/ungetc.m4: New file.
28552         * modules/fseek-tests: Split test, so ungetc dependency is
28553         separate from rest of test.
28554         * modules/fseeko-tests: Likewise.
28555         * modules/ftell-tests: Likewise.
28556         * modules/ftello-tests: Likewise.
28557         * tests/test-fseek.c (main): Isolate ungetc dependency.
28558         * tests/test-fseeko.c (main): Likewise.
28559         * tests/test-ftell.c (main): Likewise.
28560         * tests/test-ftello.c (main): Likewise.
28561         * tests/test-fseek2.sh: New file.
28562         * tests/test-fseeko2.sh: Likewise.
28563         * tests/test-ftell2.sh: Likewise.
28564         * tests/test-ftello2.sh: Likewise.
28565
28566 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
28567
28568         test-getaddrinfo: fix usage of skip return code 77
28569         * tests/test-gettaddrinfo.c: Return skip code 77 only
28570         for first occurance of skip (4x77 is not 77)
28571
28572 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
28573
28574         strtod: avoid C99 decl-after-statement
28575         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
28576
28577 2009-02-24  Eric Blake  <ebb9@byu.net>
28578
28579         strtod: detect HP-UX 11.31 bug
28580         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
28581         Reported by Gary V. Vaughan.
28582
28583 2009-02-23  Bruno Haible  <bruno@clisp.org>
28584
28585         Fix invalid read past end of memory block.
28586         * lib/vasnprintf.c (DCHAR_SET): Define.
28587         (local_wcslen): Define only when needed.
28588         (local_strnlen, local_wcsnlen): New functions.
28589         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
28590         directives that involve a conversion ourselves.
28591         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
28592         wcsnlen, mbrtowc, wcrtomb.
28593         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
28594         * tests/test-vasprintf-posix.c (test_function): Likewise.
28595         * tests/test-snprintf-posix.h (test_function): Likewise.
28596         * tests/test-sprintf-posix.h (test_function): Likewise.
28597         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28598
28599 2009-02-22  Bruno Haible  <bruno@clisp.org>
28600
28601         Implement new clarified decomposition of Hangul syllables.
28602         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
28603         of type LTV, return only a pairwise decomposition.
28604         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
28605         Likewise.
28606         * tests/uninorm/test-decomposition.c (main): Updated expected result.
28607         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
28608         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
28609
28610 2009-02-22  Bruno Haible  <bruno@clisp.org>
28611
28612         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
28613         zero-length results and shrink excess allocated memory.
28614         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
28615         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
28616         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
28617         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
28618         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
28619         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
28620         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
28621         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
28622         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
28623         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
28624         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
28625         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
28626
28627 2009-02-21  Bruno Haible  <bruno@clisp.org>
28628
28629         * doc/gnulib.texi: Include safe-alloc.texi earlier.
28630         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
28631         spaces after a period. Put a space between a macro name and its
28632         argument list. Trivial rewordings.
28633         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
28634         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
28635         (main): Return 0 explicitly.
28636
28637 2009-02-21  Bruno Haible  <bruno@clisp.org>
28638
28639         Tests for module 'uninorm/filter'.
28640         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
28641         * modules/uninorm/filter-tests: New file.
28642
28643         New module 'uninorm/filter'.
28644         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
28645         uninorm_filter_flush, uninorm_filter_free): New declarations.
28646         * lib/uninorm/uninorm-filter.c: New file.
28647         * modules/uninorm/filter: New file.
28648
28649 2009-02-21  Bruno Haible  <bruno@clisp.org>
28650
28651         Tests for module 'uninorm/nfkc'.
28652         * tests/uninorm/test-nfkc.c: New file.
28653         * tests/uninorm/test-u8-nfkc.c: New file.
28654         * tests/uninorm/test-u16-nfkc.c: New file.
28655         * tests/uninorm/test-u32-nfkc.c: New file.
28656         * tests/uninorm/test-u32-nfkc-big.sh: New file.
28657         * tests/uninorm/test-u32-nfkc-big.c: New file.
28658         * modules/uninorm/nfkc-tests: New file.
28659
28660         New module 'uninorm/nfkc'.
28661         * lib/uninorm/nfkc.c: New file.
28662         * modules/uninorm/nfkc: New file.
28663
28664         Tests for module 'uninorm/nfkd'.
28665         * tests/uninorm/test-nfkd.c: New file.
28666         * tests/uninorm/test-u8-nfkd.c: New file.
28667         * tests/uninorm/test-u16-nfkd.c: New file.
28668         * tests/uninorm/test-u32-nfkd.c: New file.
28669         * tests/uninorm/test-u32-nfkd-big.sh: New file.
28670         * tests/uninorm/test-u32-nfkd-big.c: New file.
28671         * modules/uninorm/nfkd-tests: New file.
28672
28673         New module 'uninorm/nfkd'.
28674         * lib/uninorm/nfkd.c: New file.
28675         * modules/uninorm/nfkd: New file.
28676
28677         Tests for module 'uninorm/nfc'.
28678         * tests/uninorm/test-nfc.c: New file.
28679         * tests/uninorm/test-u8-nfc.c: New file.
28680         * tests/uninorm/test-u16-nfc.c: New file.
28681         * tests/uninorm/test-u32-nfc.c: New file.
28682         * tests/uninorm/test-u32-nfc-big.sh: New file.
28683         * tests/uninorm/test-u32-nfc-big.c: New file.
28684         * modules/uninorm/nfc-tests: New file.
28685
28686         New module 'uninorm/nfc'.
28687         * lib/uninorm/nfc.c: New file.
28688         * modules/uninorm/nfc: New file.
28689
28690         Tests for module 'uninorm/nfd'.
28691         * tests/uninorm/test-nfd.c: New file.
28692         * tests/uninorm/test-u8-nfd.c: New file.
28693         * tests/uninorm/test-u16-nfd.c: New file.
28694         * tests/uninorm/test-u32-nfd.c: New file.
28695         * tests/uninorm/test-u32-nfd-big.sh: New file.
28696         * tests/uninorm/test-u32-nfd-big.c: New file.
28697         * tests/uninorm/test-u32-normalize-big.h: New file.
28698         * tests/uninorm/test-u32-normalize-big.c: New file.
28699         * tests/uninorm/NormalizationTest.txt: New file, created from
28700         Unicode 5.1.0 NormalizationTest.txt.
28701         * modules/uninorm/nfd-tests: New file.
28702
28703         New module 'uninorm/nfd'.
28704         * lib/uninorm/nfd.c: New file.
28705         * modules/uninorm/nfd: New file.
28706
28707         New module 'uninorm/u32-normalize'.
28708         * lib/uninorm/u32-normalize.c: New file.
28709         * modules/uninorm/u32-normalize: New file.
28710
28711         New module 'uninorm/u16-normalize'.
28712         * lib/uninorm/u16-normalize.c: New file.
28713         * modules/uninorm/u16-normalize: New file.
28714
28715         New module 'uninorm/u8-normalize'.
28716         * lib/uninorm/u8-normalize.c: New file.
28717         * lib/uninorm/normalize-internal.h: New file.
28718         * lib/uninorm/u-normalize-internal.h: New file.
28719         * modules/uninorm/u8-normalize: New file.
28720
28721         New module 'uninorm/decompose-internal'.
28722         * lib/uninorm/decompose-internal.c: New file.
28723         * modules/uninorm/decompose-internal: New file.
28724
28725         Tests for module 'uninorm/composition'.
28726         * tests/uninorm/test-composition.c: New file.
28727         * modules/uninorm/composition-tests: New file.
28728
28729         New module 'uninorm/composition'.
28730         * lib/uninorm/composition.c: New file.
28731         * lib/uninorm/composition-table.gperf: New file, generated by
28732         gen-uni-tables.
28733         * modules/uninorm/composition: New file.
28734
28735         Tests for module 'uninorm/compat-decomposition'.
28736         * tests/uninorm/test-compat-decomposition.c: New file.
28737         * modules/uninorm/compat-decomposition-tests: New file.
28738
28739         New module 'uninorm/compat-decomposition'.
28740         * lib/uninorm/decompose-internal.h: New file.
28741         * lib/uninorm/compat-decomposition.c: New file.
28742         * modules/uninorm/compat-decomposition: New file.
28743
28744         Tests for module 'uninorm/canonical-decomposition'.
28745         * tests/uninorm/test-canonical-decomposition.c: New file.
28746         * modules/uninorm/canonical-decomposition-tests: New file.
28747
28748         New module 'uninorm/canonical-decomposition'.
28749         * lib/uninorm/canonical-decomposition.c: New file.
28750         * modules/uninorm/canonical-decomposition: New file.
28751
28752         Tests for module 'uninorm/decomposition'.
28753         * tests/uninorm/test-decomposition.c: New file.
28754         * modules/uninorm/decomposition-tests: New file.
28755
28756         New module 'uninorm/decomposition'.
28757         * lib/uninorm/decomposition.c: New file.
28758         * modules/uninorm/decomposition: New file.
28759
28760         New module 'uninorm/decomposition-table'.
28761         * lib/uninorm/decomposition-table.h: New file.
28762         * lib/uninorm/decomposition-table.c: New file.
28763         * lib/uninorm/decomposition-table1.h: New file, generated by
28764         gen-uni-tables.
28765         * lib/uninorm/decomposition-table2.h: New file, generated by
28766         gen-uni-tables.
28767         * modules/uninorm/decomposition-table: New file.
28768
28769         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
28770         (UC_DECOMP_*): New enumeration items.
28771         (get_decomposition): New function.
28772         (struct decomp_table): New type.
28773         (output_decomposition, output_decomposition_tables): New functions.
28774         (unicode_composition_exclusions): New variable.
28775         (fill_composition_exclusions, debug_output_composition_tables): New
28776         functions.
28777         (main): Accept one more argument. Invoke fill_composition_exclusions.
28778         Output decomposition and composition tables.
28779
28780         New module 'uninorm/base'.
28781         * lib/uninorm.h: New file.
28782         * lib/unictype.h: Update comment.
28783         * modules/uninorm/base: New file.
28784
28785 2009-02-21  David Lutterkort  <lutter@redhat.com>
28786
28787         Tests for module 'safe-alloc'.
28788         * tests/test-safe-alloc.c: New file.
28789         * modules/safe-alloc-tests: New file.
28790
28791         New module 'safe-alloc'.
28792         * lib/safe-alloc.h: New file.
28793         * lib/safe-alloc.c: New file.
28794         * m4/safe-alloc.m4: New file.
28795         * modules/safe-alloc: New file.
28796         * doc/safe-alloc.texi: New file.
28797         * doc/gnulib.texi: Include it.
28798         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
28799         safe-alloc.
28800
28801 2009-02-18  Bruno Haible  <bruno@clisp.org>
28802
28803         Fix link error on non-glibc systems.
28804         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
28805         variable.
28806         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28807
28808 2009-02-18  Jim Meyering  <meyering@redhat.com>
28809
28810         fts: avoid used-uninitialized error due to recent change
28811         * lib/fts.c (fts_read): Guard uses of the new member,
28812         parent->fts_n_dirs_remaining, since it's not relevant for
28813         the parent of a directory specified on the command-line.
28814
28815 2009-02-17  James Youngman  <jay@gnu.org>
28816             Bruno Haible  <bruno@clisp.org>
28817
28818         * m4/include_next.m4: Reformulate comment.
28819
28820 2009-02-16  Jim Meyering  <meyering@redhat.com>
28821
28822         fts: add #if guards so that the fts_lgpl module still builds
28823         * lib/fts.c: Guard just-added hash-table-using parts with
28824         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
28825         Reported by Simon Josefsson.
28826
28827 2009-02-15  Bruno Haible  <bruno@clisp.org>
28828
28829         * modules/array-mergesort-tests: New file.
28830         * tests/test-array-mergesort.c: New file.
28831
28832         New module 'array-mergesort'.
28833         * modules/array-mergesort: New file.
28834         * lib/array-mergesort.h: New file.
28835
28836 2009-02-15  Bruno Haible  <bruno@clisp.org>
28837
28838         Fix 2009-02-07 commit.
28839         * lib/gen-uni-tables.c (output_predicate, output_category,
28840         output_combclass, output_bidi_category, output_decimal_digit,
28841         output_digit, output_numeric, output_mirror, output_scripts,
28842         output_ident_category, output_simple_mapping): Fix format directives.
28843         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
28844
28845 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
28846
28847         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
28848         fixes are available from IBM.
28849
28850 2009-02-13  Jim Meyering  <meyering@redhat.com>
28851
28852         fts: arrange not to stat non-directories in more cases
28853         This makes GNU find (when it doesn't need to stat each file)
28854         *much* more efficient at traversing reiserfs file systems.
28855         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
28856         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
28857         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
28858         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
28859         (leaf_optimization_applies): New function.
28860         (LCO_hash, LCO_compare): New helper functions.
28861         (link_count_optimize_ok): New function.
28862         (fts_stat): Initialize new member (if dir).
28863         (fts_read): Decrement parent's fts_n_dirs_remaining count if
28864         we've just stat'ed a directory.  Skip the stat call when possible.
28865         ---
28866         Note this AFS-related exchange:
28867         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
28868         and note find's pioctl call in find/fstype.c.
28869         But that is necessary only if you want to enable the
28870         optimization for AFS, and for now, I don't.
28871
28872         fts: move a function definition "up" (no semantic change)
28873         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
28874         "up" to precede upcoming use of a related function.
28875
28876 2009-02-11  Jim Meyering  <meyering@redhat.com>
28877
28878         fts: correct internal computation of nlinks (optimization-related)
28879         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
28880         whether the current entry is a directory, so don't test it.
28881
28882 2009-02-10  Bruno Haible  <bruno@clisp.org>
28883
28884         Tests for module 'uniwbrk/ulc-wordbreaks'.
28885         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
28886         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
28887         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
28888
28889         Tests for module 'uniwbrk/u32-wordbreaks'.
28890         * modules/uniwbrk/u32-wordbreaks-tests: New file.
28891         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
28892
28893         Tests for module 'uniwbrk/u16-wordbreaks'.
28894         * modules/uniwbrk/u16-wordbreaks-tests: New file.
28895         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
28896
28897         Tests for module 'uniwbrk/u8-wordbreaks'.
28898         * modules/uniwbrk/u8-wordbreaks-tests: New file.
28899         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
28900
28901 2009-02-10  Bruno Haible  <bruno@clisp.org>
28902
28903         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
28904         property.
28905         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
28906         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
28907         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
28908
28909 2009-02-10  Simon Josefsson  <simon@josefsson.org>
28910
28911         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
28912         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
28913
28914 2009-02-10  Bruno Haible  <bruno@clisp.org>
28915
28916         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
28917         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
28918         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
28919         * lib/unilbrk/u8-possible-linebreaks.c: Update.
28920         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
28921         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
28922
28923 2009-02-09  Simon Josefsson  <simon@josefsson.org>
28924
28925         * lib/sockets.h (gl_fd_to_handle): New function.
28926
28927         * tests/test-sockets.c: Call gl_fd_to_handle.
28928
28929 2009-02-09  Bruno Haible  <bruno@clisp.org>
28930
28931         * doc/havelib.texi: Document the conventions on bi-arch systems.
28932
28933 2009-02-08  Bruno Haible  <bruno@clisp.org>
28934
28935         Document the AC_LIB_LINKFLAGS macro.
28936         * doc/havelib.texi: New file, mostly written on 2005-05-24.
28937         * doc/gnulib.texi: Include it.
28938
28939 2009-02-08  Bruno Haible  <bruno@clisp.org>
28940
28941         Fix wrong order of sections, compared to TOC.
28942         * doc/gnulib.texi: Include relocatable-maint.texi after the
28943         "Regular expressions" node, not before.
28944
28945 2009-02-08  Bruno Haible  <bruno@clisp.org>
28946
28947         Tests for module 'unicase/totitle'.
28948         * modules/unicase/totitle-tests: New file.
28949
28950         Tests for module 'unicase/tolower'.
28951         * modules/unicase/tolower-tests: New file.
28952
28953         Tests for module 'unicase/toupper'.
28954         * modules/unicase/toupper-tests: New file.
28955         * tests/unicase/test-mapping-part1.h: New file.
28956         * tests/unicase/test-mapping-part2.h: New file.
28957
28958         New module 'unicase/totitle'.
28959         * modules/unicase/totitle: New file.
28960         * lib/unicase/totitle.c: New file.
28961
28962         New module 'unicase/tolower'.
28963         * modules/unicase/tolower: New file.
28964         * lib/unicase/tolower.c: New file.
28965
28966         New module 'unicase/toupper'.
28967         * modules/unicase/toupper: New file.
28968         * lib/unicase/toupper.c: New file.
28969         * lib/unicase/simple-mapping.h: New file.
28970
28971         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
28972         (mapping_table): New structure.
28973         (output_simple_mapping): New function.
28974         (main): Invoke output_simple_mapping_test and output_simple_mapping.
28975         * modules/gen-uni-tables (Description): Update.
28976         * lib/unicase/toupper.h: New file, automatically generated by
28977         gen-uni-tables.
28978         * lib/unicase/tolower.h: New file, automatically generated by
28979         gen-uni-tables.
28980         * lib/unicase/totitle.h: New file, automatically generated by
28981         gen-uni-tables.
28982         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
28983         gen-uni-tables.
28984         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
28985         gen-uni-tables.
28986         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
28987         gen-uni-tables.
28988
28989         New module 'unicase/base'.
28990         * modules/unicase/base: New file.
28991         * lib/unicase.h: New file.
28992
28993 2009-02-08  Bruno Haible  <bruno@clisp.org>
28994
28995         New module 'uniwbrk/ulc-wordbreaks'.
28996         * modules/uniwbrk/ulc-wordbreaks: New file.
28997         * lib/uniwbrk/ulc-wordbreaks.c: New file.
28998
28999         New module 'uniwbrk/u32-wordbreaks'.
29000         * modules/uniwbrk/u32-wordbreaks: New file.
29001         * lib/uniwbrk/u32-wordbreaks.c: New file.
29002
29003         New module 'uniwbrk/u16-wordbreaks'.
29004         * modules/uniwbrk/u16-wordbreaks: New file.
29005         * lib/uniwbrk/u16-wordbreaks.c: New file.
29006
29007         New module 'uniwbrk/u8-wordbreaks'.
29008         * modules/uniwbrk/u8-wordbreaks: New file.
29009         * lib/uniwbrk/u8-wordbreaks.c: New file.
29010         * lib/uniwbrk/u-wordbreaks.h: New file.
29011
29012         New module 'uniwbrk/table'.
29013         * modules/uniwbrk/table: New file.
29014         * lib/uniwbrk/wbrktable.h: New file.
29015         * lib/uniwbrk/wbrktable.c: New file.
29016
29017         New module 'uniwbrk/wordbreak-property'.
29018         * modules/uniwbrk/wordbreak-property: New file.
29019         * lib/uniwbrk/wordbreak-property.c: New file.
29020
29021         * lib/gen-uni-tables.c (WBP_*): New enum items.
29022         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
29023         (unicode_org_wbp): New variable.
29024         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
29025         New functions.
29026         (wbp_table): New structure.
29027         (output_wbp, output_wbrk_tables): New functions.
29028         (main): Accept additional argument. Invoke fill_org_wbp,
29029         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
29030         output_wbrk_tables.
29031         * modules/gen-uni-tables (Description): Update.
29032         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
29033         gen-uni-tables.
29034
29035         New module 'uniwbrk/base'.
29036         * modules/uniwbrk/base: New file.
29037         * lib/uniwbrk.h: New file.
29038
29039 2009-02-08  Bruno Haible  <bruno@clisp.org>
29040
29041         Update to Unicode 5.1.0.
29042         * lib/gen-uni-tables.c (is_property_alphabetic): Include
29043         U+2185..U+2188.
29044         (is_property_default_ignorable_code_point): Don't include characters
29045         of category Cc or Cs and not-a-characters.
29046         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
29047         U+0D79, U+109E, U+109F, U+A60C.
29048         * lib/unictype/bidi_of.h: Regenerated.
29049         * lib/unictype/blocks.h: Regenerated.
29050         * lib/unictype/categ_C.h: Regenerated.
29051         * lib/unictype/categ_Cf.h: Regenerated.
29052         * lib/unictype/categ_Cn.h: Regenerated.
29053         * lib/unictype/categ_L.h: Regenerated.
29054         * lib/unictype/categ_Ll.h: Regenerated.
29055         * lib/unictype/categ_Lm.h: Regenerated.
29056         * lib/unictype/categ_Lo.h: Regenerated.
29057         * lib/unictype/categ_Lu.h: Regenerated.
29058         * lib/unictype/categ_M.h: Regenerated.
29059         * lib/unictype/categ_Mc.h: Regenerated.
29060         * lib/unictype/categ_Me.h: Regenerated.
29061         * lib/unictype/categ_Mn.h: Regenerated.
29062         * lib/unictype/categ_N.h: Regenerated.
29063         * lib/unictype/categ_Nd.h: Regenerated.
29064         * lib/unictype/categ_Nl.h: Regenerated.
29065         * lib/unictype/categ_No.h: Regenerated.
29066         * lib/unictype/categ_P.h: Regenerated.
29067         * lib/unictype/categ_Pd.h: Regenerated.
29068         * lib/unictype/categ_Pe.h: Regenerated.
29069         * lib/unictype/categ_Pf.h: Regenerated.
29070         * lib/unictype/categ_Pi.h: Regenerated.
29071         * lib/unictype/categ_Po.h: Regenerated.
29072         * lib/unictype/categ_Ps.h: Regenerated.
29073         * lib/unictype/categ_S.h: Regenerated.
29074         * lib/unictype/categ_Sk.h: Regenerated.
29075         * lib/unictype/categ_Sm.h: Regenerated.
29076         * lib/unictype/categ_So.h: Regenerated.
29077         * lib/unictype/categ_of.h: Regenerated.
29078         * lib/unictype/combining.h: Regenerated.
29079         * lib/unictype/ctype_alnum.h: Regenerated.
29080         * lib/unictype/ctype_alpha.h: Regenerated.
29081         * lib/unictype/ctype_graph.h: Regenerated.
29082         * lib/unictype/ctype_lower.h: Regenerated.
29083         * lib/unictype/ctype_print.h: Regenerated.
29084         * lib/unictype/ctype_punct.h: Regenerated.
29085         * lib/unictype/ctype_upper.h: Regenerated.
29086         * lib/unictype/decdigit.h: Regenerated.
29087         * lib/unictype/digit.h: Regenerated.
29088         * lib/unictype/mirror.h: Regenerated.
29089         * lib/unictype/numeric.h: Regenerated.
29090         * lib/unictype/pr_alphabetic.h: Regenerated.
29091         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
29092         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
29093         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
29094         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
29095         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
29096         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
29097         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
29098         * lib/unictype/pr_combining.h: Regenerated.
29099         * lib/unictype/pr_dash.h: Regenerated.
29100         * lib/unictype/pr_decimal_digit.h: Regenerated.
29101         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
29102         * lib/unictype/pr_deprecated.h: Regenerated.
29103         * lib/unictype/pr_diacritic.h: Regenerated.
29104         * lib/unictype/pr_extender.h: Regenerated.
29105         * lib/unictype/pr_format_control.h: Regenerated.
29106         * lib/unictype/pr_grapheme_base.h: Regenerated.
29107         * lib/unictype/pr_grapheme_extend.h: Regenerated.
29108         * lib/unictype/pr_grapheme_link.h: Regenerated.
29109         * lib/unictype/pr_id_continue.h: Regenerated.
29110         * lib/unictype/pr_id_start.h: Regenerated.
29111         * lib/unictype/pr_ideographic.h: Regenerated.
29112         * lib/unictype/pr_ignorable_control.h: Regenerated.
29113         * lib/unictype/pr_lowercase.h: Regenerated.
29114         * lib/unictype/pr_math.h: Regenerated.
29115         * lib/unictype/pr_numeric.h: Regenerated.
29116         * lib/unictype/pr_other_alphabetic.h: Regenerated.
29117         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
29118         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
29119         * lib/unictype/pr_other_id_continue.h: Regenerated.
29120         * lib/unictype/pr_other_lowercase.h: Regenerated.
29121         * lib/unictype/pr_other_math.h: Regenerated.
29122         * lib/unictype/pr_punctuation.h: Regenerated.
29123         * lib/unictype/pr_sentence_terminal.h: Regenerated.
29124         * lib/unictype/pr_soft_dotted.h: Regenerated.
29125         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
29126         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
29127         * lib/unictype/pr_unified_ideograph.h: Regenerated.
29128         * lib/unictype/pr_uppercase.h: Regenerated.
29129         * lib/unictype/pr_xid_continue.h: Regenerated.
29130         * lib/unictype/pr_xid_start.h: Regenerated.
29131         * lib/unictype/pr_zero_width.h: Regenerated.
29132         * lib/unictype/scripts.h: Regenerated.
29133         * lib/unictype/scripts_byname.gperf: Regenerated.
29134         * lib/unictype/sy_java_ident.h: Regenerated.
29135         * lib/unilbrk/lbrkprop1.h: Regenerated.
29136         * lib/unilbrk/lbrkprop2.h: Regenerated.
29137         * tests/unictype/test-categ_C.c: Regenerated.
29138         * tests/unictype/test-categ_Cf.c: Regenerated.
29139         * tests/unictype/test-categ_Cn.c: Regenerated.
29140         * tests/unictype/test-categ_L.c: Regenerated.
29141         * tests/unictype/test-categ_Ll.c: Regenerated.
29142         * tests/unictype/test-categ_Lm.c: Regenerated.
29143         * tests/unictype/test-categ_Lo.c: Regenerated.
29144         * tests/unictype/test-categ_Lu.c: Regenerated.
29145         * tests/unictype/test-categ_M.c: Regenerated.
29146         * tests/unictype/test-categ_Mc.c: Regenerated.
29147         * tests/unictype/test-categ_Me.c: Regenerated.
29148         * tests/unictype/test-categ_Mn.c: Regenerated.
29149         * tests/unictype/test-categ_N.c: Regenerated.
29150         * tests/unictype/test-categ_Nd.c: Regenerated.
29151         * tests/unictype/test-categ_Nl.c: Regenerated.
29152         * tests/unictype/test-categ_No.c: Regenerated.
29153         * tests/unictype/test-categ_P.c: Regenerated.
29154         * tests/unictype/test-categ_Pd.c: Regenerated.
29155         * tests/unictype/test-categ_Pe.c: Regenerated.
29156         * tests/unictype/test-categ_Pf.c: Regenerated.
29157         * tests/unictype/test-categ_Pi.c: Regenerated.
29158         * tests/unictype/test-categ_Po.c: Regenerated.
29159         * tests/unictype/test-categ_Ps.c: Regenerated.
29160         * tests/unictype/test-categ_S.c: Regenerated.
29161         * tests/unictype/test-categ_Sk.c: Regenerated.
29162         * tests/unictype/test-categ_Sm.c: Regenerated.
29163         * tests/unictype/test-categ_So.c: Regenerated.
29164         * tests/unictype/test-ctype_alnum.c: Regenerated.
29165         * tests/unictype/test-ctype_alpha.c: Regenerated.
29166         * tests/unictype/test-ctype_graph.c: Regenerated.
29167         * tests/unictype/test-ctype_lower.c: Regenerated.
29168         * tests/unictype/test-ctype_print.c: Regenerated.
29169         * tests/unictype/test-ctype_punct.c: Regenerated.
29170         * tests/unictype/test-ctype_upper.c: Regenerated.
29171         * tests/unictype/test-decdigit.h: Regenerated.
29172         * tests/unictype/test-digit.h: Regenerated.
29173         * tests/unictype/test-numeric.h: Regenerated.
29174         * tests/unictype/test-pr_alphabetic.c: Regenerated.
29175         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
29176         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
29177         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
29178         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
29179         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
29180         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
29181         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
29182         * tests/unictype/test-pr_combining.c: Regenerated.
29183         * tests/unictype/test-pr_dash.c: Regenerated.
29184         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
29185         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
29186         * tests/unictype/test-pr_deprecated.c: Regenerated.
29187         * tests/unictype/test-pr_diacritic.c: Regenerated.
29188         * tests/unictype/test-pr_extender.c: Regenerated.
29189         * tests/unictype/test-pr_format_control.c: Regenerated.
29190         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
29191         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
29192         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
29193         * tests/unictype/test-pr_id_continue.c: Regenerated.
29194         * tests/unictype/test-pr_id_start.c: Regenerated.
29195         * tests/unictype/test-pr_ideographic.c: Regenerated.
29196         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
29197         * tests/unictype/test-pr_lowercase.c: Regenerated.
29198         * tests/unictype/test-pr_math.c: Regenerated.
29199         * tests/unictype/test-pr_numeric.c: Regenerated.
29200         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
29201         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
29202         Regenerated.
29203         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
29204         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
29205         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
29206         * tests/unictype/test-pr_other_math.c: Regenerated.
29207         * tests/unictype/test-pr_punctuation.c: Regenerated.
29208         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
29209         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
29210         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
29211         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
29212         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
29213         * tests/unictype/test-pr_uppercase.c: Regenerated.
29214         * tests/unictype/test-pr_xid_continue.c: Regenerated.
29215         * tests/unictype/test-pr_xid_start.c: Regenerated.
29216         * tests/unictype/test-pr_zero_width.c: Regenerated.
29217
29218         Update to Unicode 5.1.0.
29219         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
29220         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
29221         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
29222         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
29223         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
29224         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
29225         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
29226         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
29227         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
29228         (nonspacing_table_ind): Update.
29229         * tests/uniwidth/test-uc_width2.sh: Update expected result.
29230
29231         Update to Unicode 5.1.0.
29232         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
29233         code transform.
29234         * lib/uniname/uniname.c (unicode_character_name,
29235         unicode_name_character): Add the range 0x1Fxxx to the code transform.
29236         * lib/uniname/uninames.h: Regenerated.
29237         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
29238
29239 2009-02-07  Bruno Haible  <bruno@clisp.org>
29240
29241         Merge gen-ctype and gen-lbrk into a single program.
29242         * lib/gen-uni-tables.c: New file, incorporating
29243         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
29244         Add directory prefixes to the names of the generated files.
29245         * lib/unictype/gen-ctype.c: Remove file.
29246         * lib/unilbrk/gen-lbrk.c: Remove file.
29247         * modules/gen-uni-tables: New file.
29248         * modules/unictype/gen-ctype: Remove file.
29249         * modules/unilbrk/gen-lbrk: Remove file.
29250
29251 2009-02-07  Bruno Haible  <bruno@clisp.org>
29252
29253         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
29254
29255         New module 'unistr/u32-strcoll'.
29256         * modules/unistr/u32-strcoll: New file.
29257         * lib/unistr/u32-strcoll.c: New file.
29258
29259         New module 'unistr/u16-strcoll'.
29260         * modules/unistr/u16-strcoll: New file.
29261         * lib/unistr/u16-strcoll.c: New file.
29262
29263         New module 'unistr/u8-strcoll'.
29264         * modules/unistr/u8-strcoll: New file.
29265         * lib/unistr/u8-strcoll.c: New file.
29266         * lib/unistr/u-strcoll.h: New file.
29267
29268 2009-02-07  Bruno Haible  <bruno@clisp.org>
29269
29270         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
29271         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
29272         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
29273         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
29274         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
29275         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
29276
29277 2009-02-07  Bruno Haible  <bruno@clisp.org>
29278
29279         Make 64-bit clean.
29280         * lib/unictype/gen-ctype.c (output_predicate, output_category,
29281         output_combclass, output_bidi_category, output_decimal_digit,
29282         output_digit, output_numeric, output_mirror, output_scripts,
29283         output_ident_category): Use proper width specifier in format strings.
29284
29285 2009-02-07  Bruno Haible  <bruno@clisp.org>
29286
29287         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
29288         failure behaviour.
29289
29290 2009-02-07  Jim Meyering  <meyering@redhat.com>
29291
29292         regex: avoid compilation failure with upcoming gcc-4.4
29293         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
29294         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
29295         "... error: integer overflow in preprocessor expression".
29296
29297 2009-02-05  Ben Pfaff  <blp@gnu.org>
29298
29299         Fix link errors on Windows when close module is used.
29300         * modules/close: Add $(LIB_CLOSE) to Link section.
29301         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
29302         $(LIB_CLOSE) on Windows.
29303
29304 2009-02-05  Jim Meyering  <meyering@redhat.com>
29305
29306         still avoid unused-parameter warnings, but do it cleanly
29307         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
29308         (get_fs_usage): Cast to void instead.
29309         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
29310         (dev_from_mount_options, read_file_system_list): Cast to void.
29311         Prompted by Bruno Haible.
29312
29313 2009-02-04  Jim Meyering  <meyering@redhat.com>
29314
29315         fsusage.c: correct copyright year
29316         * lib/fsusage.c: Reflect year in which the change is pushed into
29317
29318         avoid misc. warnings
29319         * lib/fsusage.c (UNUSED_PARAM): Define.
29320         (get_fs_usage): Mark parameter "disk" as unused.
29321         * lib/getugroups.c (getgrent): Use "void" in prototype.
29322         * lib/mountlist.c: Mark unused parameters.
29323         (read_file_system_list): Declare a local with "const".
29324         * lib/nanosleep.c (getnow): Declare static.
29325         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
29326
29327         dirfd: set errno upon failure
29328         * lib/dirfd.c: Include <errno.h>.
29329         Set errno to ENOTSUP when returning -1.
29330         * modules/dirfd (Depends-on): Add errno.
29331         Suggested by John Kodis <kodis@comcast.net>.
29332
29333 2009-02-01  Bruno Haible  <bruno@clisp.org>
29334
29335         Don't assume sizeof (long) >= sizeof (void *).
29336         * lib/memcmp.c: Include stdint.h.
29337         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
29338         srcp2 to 'const byte *'.
29339         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
29340         types to uintptr_t.
29341         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
29342         * modules/memcmp (Depends-on): Add stdint.
29343         Reported by Ozkan Sezer <sezeroz@gmail.com>.
29344
29345 2009-01-30  Eric Blake  <ebb9@byu.net>
29346
29347         fix more require-before-expand issues
29348         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
29349         expand, AC_PROG_AWK.
29350         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
29351
29352 2009-01-28  Eric Blake  <ebb9@byu.net>
29353
29354         version-etc: use consistent URL formatting
29355         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
29356         Improve formatting.  Use fputs for string without %.
29357
29358 2009-01-28  Jim Meyering  <meyering@redhat.com>
29359
29360         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
29361         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
29362         "underquoted definition of NAME" from autoconf-2.59.
29363
29364 2009-01-28  Bruno Haible  <bruno@clisp.org>
29365
29366         * doc/gnulib.texi: Add "Obsolete modules" to index.
29367
29368 2009-01-28  Jim Meyering  <meyering@redhat.com>
29369
29370         useless-if-before-free: recognize more variants
29371         * build-aux/useless-if-before-free: Also recognize e.g.,
29372         if (NULL != p) free (p);
29373
29374 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
29375
29376         test-getaddrinfo: skip (don't fail) this test when there's no network
29377         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
29378         on the presumption that it means you lack network access.
29379
29380 2009-01-26  Jim Meyering  <meyering@redhat.com>
29381
29382         fflush: avoid warnings on modern systems
29383         * lib/fflush.c (rpl_fflush): Move declarations of locals,
29384         pos and result, into scopes where they're used.
29385
29386 2009-01-26  Eric Blake  <ebb9@byu.net>
29387
29388         Silence warning reintroduced by recent extensions patch.
29389         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
29390         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
29391         autoconf.
29392
29393         Backport improved autoconf semantics of AC_DEFUN_ONCE.
29394         * m4/00gnulib.m4: New file.
29395         * gnulib-tool (func_get_filelist): Always use it.
29396         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
29397         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
29398
29399 2009-01-25  Bruno Haible  <bruno@clisp.org>
29400
29401         Make test-quotearg work on MacOS X and AIX.
29402         * tests/test-quotearg.sh: New file.
29403         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
29404         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
29405         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
29406         include <libintl.h>.
29407         (fake_locale): Remove variable.
29408         (gettext, dgettext, dcgettext): Remove functions.
29409         (main): Instead of setting a fake locale, set a real locale. Call
29410         textdomain and bindtextdomain.
29411         * modules/quotearg-tests (Files): Add the new files.
29412         (Depends-on): Add gettext, setenv, unsetenv.
29413         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
29414         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
29415         Augment TESTS_ENVIRONMENT.
29416
29417 2009-01-25  Bruno Haible  <bruno@clisp.org>
29418
29419         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
29420         fr_FR.ISO8859-1 locale on MacOS X.
29421         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
29422         ja_JP.eucJP locale on MacOS X.
29423         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
29424         zh_CN.GB18030 locale on MacOS X.
29425
29426 2009-01-25  Bruno Haible  <bruno@clisp.org>
29427
29428         Avoid link errors on MacOS X 10.3.
29429         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
29430         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
29431
29432 2009-01-25  Bruno Haible  <bruno@clisp.org>
29433
29434         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
29435         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
29436         * modules/pipe (Files): Remove m4/posix_spawn.m4.
29437         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
29438         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
29439         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
29440         posix_spawnattr_init, posix_spawnattr_setsigmask,
29441         posix_spawnattr_setflags, posix_spawnattr_destroy.
29442
29443         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
29444         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
29445         * modules/execute (Files): Remove m4/posix_spawn.m4.
29446         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
29447         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
29448         posix_spawnattr_init, posix_spawnattr_setsigmask,
29449         posix_spawnattr_setflags, posix_spawnattr_destroy.
29450
29451 2009-01-25  Bruno Haible  <bruno@clisp.org>
29452
29453         * lib/glthread/threadlib.c: Include <stdlib.h>.
29454
29455 2009-01-25  Bruno Haible  <bruno@clisp.org>
29456
29457         * lib/glthread/threadlib.c (dummy): New declaration.
29458
29459 2009-01-25  Bruno Haible  <bruno@clisp.org>
29460
29461         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
29462         multibyte characters also for the GB18030 encoding. Don't crash when
29463         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
29464
29465 2009-01-25  Bruno Haible  <bruno@clisp.org>
29466
29467         Avoid redefining 'struct random_data' on OSF/1 5.1.
29468         * lib/stdlib.in.h: Include <random.h> if it exists.
29469         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
29470         HAVE_RANDOM_H. Include <random.h> when testing whether
29471         'struct random_data' exists.
29472         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
29473
29474 2009-01-25  Bruno Haible  <bruno@clisp.org>
29475
29476         Don't install charset.alias on MacOS X >= 10.3.
29477         * lib/localcharset.c (DARWIN7): New macro.
29478         (get_charset_aliases): Hardcode the result for Darwin7.
29479         * modules/localcharset (install-exec-local): Don't install
29480         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
29481
29482 2009-01-25  Bruno Haible  <bruno@clisp.org>
29483
29484         Don't install charset.alias on mingw and Cygwin.
29485         * modules/localcharset (install-exec-local): Don't install
29486         charset.alias on mingw and Cygwin, if the file does not yet exist.
29487         The result for these platforms is hardcoded in localcharset.c.
29488
29489 2009-01-25  Bruno Haible  <bruno@clisp.org>
29490
29491         Make it possible again to use AC_GNU_SOURCE together with gnulib.
29492         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
29493         before requiring AC_USE_SYSTEM_EXTENSIONS.
29494
29495 2009-01-25  Jim Meyering  <meyering@redhat.com>
29496
29497         c-strtod: avoid warnings
29498         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
29499         "assignment discards qualifiers from pointer target type" warnings.
29500
29501 2009-01-24  Bruno Haible  <bruno@clisp.org>
29502
29503         Add support for non-UTF-8 locales on MacOS X.
29504         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
29505         canonical encodings. For Darwin 7 and newer, don't map traditional
29506         encodings to UTF-8.
29507         Reported by Vincent Lefevre <vincent@vinc17.org>
29508         at <http://savannah.gnu.org/bugs/?25235>.
29509
29510 2009-01-24  Bruno Haible  <bruno@clisp.org>
29511
29512         * doc/gnulib.texi (Obsolete modules): New section.
29513         Reported by Mike Frysinger <vapier@gentoo.org>.
29514
29515 2009-01-24  Bruno Haible  <bruno@clisp.org>
29516
29517         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
29518         (%.dvi): New rule.
29519
29520 2009-01-24  Bruno Haible  <bruno@clisp.org>
29521
29522         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
29523         Reported by Eric Blake.
29524
29525 2009-01-24  Bruno Haible  <bruno@clisp.org>
29526
29527         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
29528         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
29529         Reported by Gary V. Vaughan <gary@gnu.org>.
29530
29531 2009-01-24  Bruno Haible  <bruno@clisp.org>
29532
29533         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
29534
29535 2009-01-23  Bruno Haible  <bruno@clisp.org>
29536
29537         Make c-strtod, c-strtold usable in libraries.
29538         * lib/c-strtod.c: Include string.h instead of xalloc.h.
29539         (C_STRTOD): Call strdup instead of xstrdup.
29540         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
29541         * modules/c-strtold (Depends-on): Likewise.
29542         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
29543         * NEWS: Mention the change.
29544         Reported by Michael Gold <mgold@ncf.ca>.
29545
29546 2009-01-23  Jim Meyering  <meyering@redhat.com>
29547
29548         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
29549         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
29550         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
29551
29552 2009-01-23  Simon Josefsson  <simon@josefsson.org>
29553
29554         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
29555         GNU CoreUtils.
29556         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
29557         * modules/version-etc (Description): Update.
29558
29559 2009-01-22  Bruno Haible  <bruno@clisp.org>
29560
29561         Cache the C locale object.
29562         * lib/c-strtod.c (c_locale_cache): New variable.
29563         (c_locale): New function.
29564         (C_STRTOD): Use it, and don't call freelocale.
29565         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
29566         Suggested by Paolo Bonzini.
29567
29568 2009-01-21  Bruno Haible  <bruno@clisp.org>
29569
29570         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
29571         conditions other than overflow.
29572
29573 2009-01-21  Bruno Haible  <bruno@clisp.org>
29574
29575         * lib/c-strtod.c: Include errno.h.
29576         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
29577         value from STRTOD_L and STRTOD.
29578
29579 2009-01-21  Bruno Haible  <bruno@clisp.org>
29580         and Jim Meyering  <meyering@redhat.com>
29581
29582         nanosleep: skip configure test (fail it) for apple universal builds
29583         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
29584         universal builds, assume that nanosleep does not work.
29585         * modules/nanosleep (Depends-on): Add multiarch.
29586
29587         mktime: skip configure test (fail it) for apple universal builds
29588         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
29589         universal builds, assume that mktime does not work.
29590         * modules/mktime (Depends-on): Add multiarch.
29591
29592 2009-01-21  Eric Blake  <ebb9@byu.net>
29593
29594         multiarch: avoid expand-before-require warning
29595         * modules/multiarch (configure.ac): Require, rather than expand,
29596         gl_MULTIARCH.
29597         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
29598         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
29599         enforce that all clients require it.  Partial reversion of
29600         2008-12-29 patch.
29601
29602         error: avoid expand-before-require warning
29603         * modules/errno (configure.ac): Require, rather than expand,
29604         gl_HEADER_ERRNO_H.
29605         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
29606         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
29607         enforce that all clients require it.
29608
29609         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
29610         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
29611         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
29612         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
29613
29614 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
29615
29616         Revert:
29617         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
29618
29619         regex: do not depend on obsolete modules.
29620         * modules/regex: Remove memcmp and memmove.
29621
29622 2009-01-20  Bruno Haible  <bruno@clisp.org>
29623
29624         Make the 'link' module link on Windows NT 4.
29625         * lib/link.c (_WIN32_WINNT): Don't define.
29626         (CreateHardLinkFuncType): New type.
29627         (CreateHardLinkFunc, initialized): New variables.
29628         (initialize): New function.
29629         (link): Invoke CreateHardLink indirectly through the function pointer.
29630
29631 2009-01-20  Bruno Haible  <bruno@clisp.org>
29632
29633         Fix compilation failure on mingw.
29634         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
29635
29636 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
29637
29638         * doc/c-strtod.texi: Mention a couple of restrictions.
29639
29640 2009-01-20  Jim Meyering  <meyering@redhat.com>
29641
29642         gettimeofday: move more declarations out of functions
29643         * lib/gettimeofday.c: Move extern declarations of tzset and
29644         gmtime out of containing functions.  Prompted by Bruno Haible.
29645
29646 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
29647
29648         regex: do not depend on obsolete modules.
29649         * modules/regex: Remove memcmp and memmove.
29650
29651 2009-01-19  Bruno Haible  <bruno@clisp.org>
29652
29653         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
29654         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
29655         gl_BIGENDIAN, not AC_C_BIGENDIAN.
29656         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
29657         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
29658
29659 2009-01-19  Bruno Haible  <bruno@clisp.org>
29660
29661         * tests/test-link.c: Include <errno.h>.
29662         (main): Exit with code 77 when a hard link cannot be created due to
29663         the file system.
29664         * tests/test-link.sh: Skip test when a hard link cannot be created due
29665         to the file system.
29666         Suggested by Eric Blake.
29667
29668 2009-01-19  Martin Lambers  <marlam@marlam.de>
29669
29670         * modules/link-tests: New file.
29671         * tests/test-link.sh: New file.
29672         * tests/test-link.c: New file.
29673
29674 2009-01-19  Eric Blake  <ebb9@byu.net>
29675
29676         doc: mention another function added in cygwin 1.7.0
29677         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
29678         Another new function in cygwin 1.7.
29679
29680 2009-01-19  Bruno Haible  <bruno@clisp.org>
29681
29682         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
29683         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
29684         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
29685         gl_BIGENDIAN, not AC_C_BIGENDIAN.
29686         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
29687         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
29688         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
29689         * m4/md4.m4 (gl_MD4): Likewise.
29690         * m4/md5.m4 (gl_MD5): Likewise.
29691         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
29692         * m4/sha1.m4 (gl_SHA1): Likewise.
29693         * m4/sha256.m4 (gl_SHA256): Likewise.
29694         * m4/sha512.m4 (gl_SHA512): Likewise.
29695
29696 2009-01-19  Bruno Haible  <bruno@clisp.org>
29697
29698         * modules/uniname/uniname-tests (Depends-on): Add progname.
29699         * tests/uniname/test-uninames.c: Include progname.h.
29700         (main): Call set_program_name.
29701
29702         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
29703         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
29704         (main): Call set_program_name.
29705
29706         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
29707         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
29708         (main): Call set_program_name.
29709
29710         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
29711         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
29712         (main): Call set_program_name.
29713
29714         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
29715         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
29716         (main): Call set_program_name.
29717
29718         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
29719         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
29720         (main): Call set_program_name.
29721
29722         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
29723         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
29724         (main): Call set_program_name.
29725
29726         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
29727         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
29728         (main): Call set_program_name.
29729
29730         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
29731         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
29732         (main): Call set_program_name.
29733
29734 2009-01-19  Eric Blake  <ebb9@byu.net>
29735
29736         test-unistd: test previous patch
29737         * tests/test-unistd.c: Test *_FILENO macros.
29738
29739         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
29740         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
29741         Guarantee a definition.
29742         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
29743         * modules/unistd-safer (Depends-on): Add dependency on unistd.
29744         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
29745         * lib/dup-safer.c (STDERR_FILENO): Likewise.
29746         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
29747         Likewise.
29748         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
29749         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
29750         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
29751         Likewise.
29752         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
29753         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
29754         (STDERR_FILENO): Likewise.
29755         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
29756         (STDERR_FILENO): Likewise.
29757         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
29758         (STDERR_FILENO): Likewise.
29759         Reported by Elbert Pol.
29760
29761 2009-01-19  Eric Blake  <ebb9@byu.net>
29762
29763         doc: mention more functions added in cygwin 1.7.0
29764         * doc/posix-functions/abort.texi (abort): Update wording related
29765         to cygwin.
29766         * doc/posix-functions/daylight.texi (daylight): Likewise.
29767         * doc/posix-functions/optarg.texi (optarg): Likewise.
29768         * doc/posix-functions/optarg.texi (opterr): Likewise.
29769         * doc/posix-functions/optarg.texi (optind): Likewise.
29770         * doc/posix-functions/optarg.texi (optopt): Likewise.
29771         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
29772         worked in 1.5.x, and was withdrawn in 1.7.
29773         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
29774         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
29775         cygwin versions.
29776         * doc/posix-functions/perror.texi (perror): Likewise.
29777         * doc/posix-functions/printf.texi (printf): Likewise.
29778         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
29779         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
29780         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
29781         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
29782         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
29783         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
29784         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
29785         Likewise.
29786         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
29787         Likewise.
29788         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
29789         this function.
29790         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
29791         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
29792         Likewise.
29793         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
29794         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
29795         * doc/posix-functions/confstr.texi (confstr): Likewise.
29796         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
29797         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
29798         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
29799         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
29800         * doc/posix-functions/fputws.texi (fputws): Likewise.
29801         * doc/posix-functions/fwide.texi (fwide): Likewise.
29802         * doc/posix-functions/getwc.texi (getwc): Likewise.
29803         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
29804         * doc/posix-functions/putwc.texi (putwc): Likewise.
29805         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
29806         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
29807         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
29808         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
29809         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
29810         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
29811         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
29812         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
29813         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
29814         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
29815         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
29816
29817 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
29818
29819         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
29820         * lib/ioctl.c: Include <sys/ioctl.h>.
29821
29822 2009-01-19  Simon Josefsson  <simon@josefsson.org>
29823
29824         * modules/getdate-tests (Depends-on): Add progname.
29825         * tests/test-getdate.c: Use progname module, to avoid link errors
29826         on non-glibc systems.
29827
29828 2009-01-18  Simon Josefsson  <simon@josefsson.org>
29829
29830         * modules/filenamecat-tests (Depends-on): Add progname.
29831         * modules/fstrcmp-tests (Depends-on): Likewise.
29832
29833         * tests/test-filenamecat.c: Use progname module, to avoid link
29834         errors on non-glibc systems.
29835         * tests/test-fstrcmp.c: Likewise.
29836
29837 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
29838
29839         gettimeofday: avoid warning: nested extern declaration of 'localtime'
29840         * lib/gettimeofday.c: Move extern declaration out of function.
29841
29842 2009-01-18  Bruno Haible  <bruno@clisp.org>
29843
29844         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
29845         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
29846         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
29847
29848 2009-01-18  Bruno Haible  <bruno@clisp.org>
29849
29850         * lib/strftime.c (MEMPCPY): Remove unused macro.
29851         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
29852
29853 2009-01-18  Martin Lambers  <marlam@marlam.de>
29854
29855         New module 'link'.
29856         * lib/unistd.in.h (link): New declaration.
29857         * lib/link.c: New file.
29858         * m4/link.m4: New file.
29859         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
29860         HAVE_LINK.
29861         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
29862         * modules/link: New file.
29863         * doc/posix-functions/link.texi: Mention the new module.
29864
29865 2009-01-18  Bruno Haible  <bruno@clisp.org>
29866
29867         * tests/test-avltree_list.c (main): Call set_program_name.
29868         * tests/test-avltree_oset.c (main): Likewise.
29869         * tests/test-obstack-printf.c: Include progname.h.
29870         (main): Call set_program_name.
29871         * tests/test-quotearg.c: Include progname.h.
29872         (main): Call set_program_name.
29873         * tests/test-xmemdup0.c: Include progname.h.
29874         (main): Call set_program_name.
29875
29876 2009-01-18  Bruno Haible  <bruno@clisp.org>
29877
29878         New module 'alphasort'.
29879         * lib/dirent.in.h (alphasort): New declaration.
29880         * lib/alphasort.c: New file, from glibc with modifications.
29881         * m4/alphasort.m4: New file.
29882         * modules/alphasort: New file.
29883         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
29884         HAVE_ALPHASORT.
29885         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
29886         HAVE_ALPHASORT.
29887         * doc/posix-functions/alphasort.texi: Mention the new module and the
29888         portability problems.
29889
29890 2009-01-18  Bruno Haible  <bruno@clisp.org>
29891
29892         New module 'scandir'.
29893         * lib/dirent.in.h (scandir): New declaration.
29894         * lib/scandir.c: New file, from glibc with modifications.
29895         * m4/scandir.m4: New file.
29896         * modules/scandir: New file.
29897         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
29898         HAVE_SCANDIR.
29899         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
29900         HAVE_SCANDIR.
29901         * doc/posix-functions/scandir.texi: Mention the new module and the
29902         portability problems.
29903
29904 2009-01-17  Bruno Haible  <bruno@clisp.org>
29905
29906         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
29907         Update documentation.
29908         (func_remove_suffix): Escape all dots in the suffix. Update
29909         documentation.
29910         (func_filter_filelist): Update documentation.
29911         Reported by Ralf Wildenhues.
29912
29913 2009-01-17  Bruno Haible  <bruno@clisp.org>
29914
29915         * modules/dprintf-posix-tests: New file.
29916         * tests/test-dprintf-posix.sh: New file.
29917         * tests/test-dprintf-posix.c: New file.
29918
29919         New modules 'dprintf', 'dprintf-posix'.
29920         * lib/stdio.in.h (dprintf): New declaration.
29921         * lib/dprintf.c: New file.
29922         * m4/dprintf.m4: New file.
29923         * m4/dprintf-posix.m4: New file.
29924         * modules/dprintf: New file.
29925         * modules/dprintf-posix: New file.
29926         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
29927         HAVE_DPRINTF, REPLACE_DPRINTF.
29928         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
29929         HAVE_DPRINTF, REPLACE_DPRINTF.
29930         * doc/posix-functions/dprintf.texi: Mention the new modules.
29931
29932 2009-01-17  Bruno Haible  <bruno@clisp.org>
29933
29934         * modules/vdprintf-posix-tests: New file.
29935         * tests/test-vdprintf-posix.sh: New file.
29936         * tests/test-vdprintf-posix.c: New file.
29937
29938         New modules 'vdprintf', 'vdprintf-posix'.
29939         * lib/stdio.in.h (vdprintf): New declaration.
29940         * lib/vdprintf.c: New file.
29941         * m4/vdprintf.m4: New file.
29942         * m4/vdprintf-posix.m4: New file.
29943         * modules/vdprintf: New file.
29944         * modules/vdprintf-posix: New file.
29945         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
29946         HAVE_VDPRINTF, REPLACE_VDPRINTF.
29947         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
29948         HAVE_VDPRINTF, REPLACE_VDPRINTF.
29949         * doc/posix-functions/vdprintf.texi: Mention the new modules.
29950
29951 2009-01-17  Bruno Haible  <bruno@clisp.org>
29952
29953         Fix replacement of fopen on mingw.
29954         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
29955         mingw.
29956
29957 2009-01-17  Bruno Haible  <bruno@clisp.org>
29958
29959         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
29960         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
29961
29962 2009-01-17  Bruno Haible  <bruno@clisp.org>
29963
29964         Avoid test-fflush2.sh failure on mingw.
29965         * tests/test-fflush2.c: Include binary-io.h.
29966         (main): Put standard input into binary mode.
29967         * modules/fflush-tests (Depends-on): Add binary-io.
29968
29969 2009-01-17  Bruno Haible  <bruno@clisp.org>
29970
29971         * lib/wchar.in.h: In another particular situation, include only the
29972         system's <wchar.h> file.
29973         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
29974         Reported by Albert Chin-A-Young <china@thewrittenword.com>
29975         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
29976
29977 2009-01-17  Bruno Haible  <bruno@clisp.org>
29978
29979         Support for stripping executables in --enable-relocatable.
29980         * build-aux/install-reloc: Expect one more argument, or an environment
29981         variable RELOC_STRIP_PROG. If set, strip the destination program and
29982         its wrapper.
29983         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
29984         RELOC_STRIP_PROG.
29985         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
29986         to set RELOCATABLE_STRIP.
29987         * NEWS: Mention the new Makefile requirement.
29988
29989 2009-01-17  Bruno Haible  <bruno@clisp.org>
29990
29991         * build-aux/install-reloc: Remove debugging information left over by
29992         C compiler on MacOS X.
29993
29994 2009-01-17  Bruno Haible  <bruno@clisp.org>
29995
29996         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
29997         * lib/progreloc.c (find_executable): Fix type of pointer passed to
29998         _NSGetExecutablePath.
29999
30000 2009-01-16  Jim Meyering  <meyering@redhat.com>
30001
30002         strerror: avoid warnings about discarding "const"
30003         * lib/strerror.c (rpl_strerror): Instead of returning a const
30004         string from each and every "case", use a variable, and add a single
30005         cast after the switch.
30006
30007 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
30008
30009         * lib/arpa_inet.in.h: Add extern "C" block for C++.
30010
30011 2009-01-16  Bruno Haible  <bruno@clisp.org>
30012
30013         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
30014         array initializer syntax that also works in C++ mode.
30015         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30016
30017 2009-01-16  Jim Meyering  <meyering@redhat.com>
30018
30019         poll: suppress a warning
30020         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
30021         to ignore "...unsigned expression < 0 is always false" warnings.
30022
30023 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
30024
30025         poll: remove declarations of unused variables
30026         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
30027         sockbuf and optlen.
30028
30029 2009-01-15  Bruno Haible  <bruno@clisp.org>
30030
30031         Make fflush-after-ungetc POSIX compliant on BSD systems.
30032         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
30033         (clear_ungetc_buffer): Implement also for other systems.
30034         (rpl_fflush): On glibc systems, invoke
30035         clear_ungetc_buffer_preserving_position. Otherwise, invoke
30036         clear_ungetc_buffer after fetching the stream's position, not before.
30037
30038 2009-01-15  Bruno Haible  <bruno@clisp.org>
30039
30040         Make fflush-after-ungetc POSIX compliant on glibc systems.
30041         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
30042         after ungetc.
30043         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
30044         (rpl_fflush): On glibc systems, simply call the system's fflush
30045         function after clearing the ungetc buffer.
30046         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
30047         Instead, lseek only to the end of file, then use the system's fseeko
30048         for the rest. On glibc systems, reset the EOF indicator bit.
30049
30050 2009-01-15  Jim Meyering  <meyering@redhat.com>
30051
30052         openmp.m4: revert quote-adding change, for portability to older autoconf
30053         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
30054         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
30055         Simon Josefsson noticed the problem when using autoconf-2.61.
30056
30057 2009-01-15  Bruno Haible  <bruno@clisp.org>
30058
30059         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
30060         * tests/test-fflush2.c (ASSERT): Always fail.
30061         (main): Add two tests for fflush() after ungetc(), taking into account
30062         the Austin Group's clarification.
30063         Suggested by Eric Blake.
30064
30065 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
30066
30067         mktime.m4: remove K&R-style function prototypes
30068         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
30069         for the Sun C++ compiler.
30070
30071 2009-01-14  Bruno Haible  <bruno@clisp.org>
30072
30073         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
30074         while including <wchar.h>.
30075         * lib/wchar.in.h: In two particular situations on HP-UX, include only
30076         the system's <wchar.h> file.
30077         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30078
30079 2009-01-14  Bruno Haible  <bruno@clisp.org>
30080
30081         * m4/csharp.m4: Don't mention gettext on the serial number line.
30082         * m4/csharpexec.m4: Likewise.
30083         * m4/eaccess.m4: Likewise.
30084         * m4/javaexec.m4: Likewise.
30085         * m4/sig_atomic_t.m4: Likewise.
30086         * m4/tmpdir.m4: Likewise.
30087         * m4/intldir.m4: Bump gettext version.
30088         * m4/lib-ld.m4: Likewise.
30089
30090 2009-01-14  Bruno Haible  <bruno@clisp.org>
30091
30092         * lib/progname.c (set_program_name): Add more comments.
30093         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
30094
30095 2009-01-14  Simon Josefsson  <simon@josefsson.org>
30096
30097         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
30098         were sys/stat.h does not define it.
30099
30100 2009-01-14  Jim Meyering  <meyering@redhat.com>
30101
30102         many *.m4 files: improve m4 quoting
30103         99% of this change was performed by running the following commands:
30104         git ls-files | grep '\.m4$' | xargs perl -pi \
30105           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
30106           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
30107           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
30108           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
30109         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
30110         The remainder were to add Copyright dates, increment serial numbers,
30111         undo some changes in comments, exclude m4/intl.m4, and add quotes
30112         around the "1" in ",1" where the unusual spacing prohibited the
30113         above regexps from doing the job.  For more details, see
30114         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
30115         * m4/acl.m4: Modified.
30116         * m4/afs.m4: Likewise.
30117         * m4/alloca.m4: Likewise.
30118         * m4/argp.m4: Likewise.
30119         * m4/argz.m4: Likewise.
30120         * m4/atexit.m4: Likewise.
30121         * m4/bison-i18n.m4: Likewise.
30122         * m4/bison.m4: Likewise.
30123         * m4/byteswap.m4: Likewise.
30124         * m4/c-stack.m4: Likewise.
30125         * m4/c-strtod.m4: Likewise.
30126         * m4/calloc.m4: Likewise.
30127         * m4/canonicalize-lgpl.m4: Likewise.
30128         * m4/chown.m4: Likewise.
30129         * m4/clock_time.m4: Likewise.
30130         * m4/codeset.m4: Likewise.
30131         * m4/copy-file.m4: Likewise.
30132         * m4/csharp.m4: Likewise.
30133         * m4/csharpcomp.m4: Likewise.
30134         * m4/csharpexec.m4: Likewise.
30135         * m4/d-ino.m4: Likewise.
30136         * m4/d-type.m4: Likewise.
30137         * m4/dirfd.m4: Likewise.
30138         * m4/double-slash-root.m4: Likewise.
30139         * m4/eaccess.m4: Likewise.
30140         * m4/eealloc.m4: Likewise.
30141         * m4/environ.m4: Likewise.
30142         * m4/errno_h.m4: Likewise.
30143         * m4/euidaccess.m4: Likewise.
30144         * m4/execute.m4: Likewise.
30145         * m4/fatal-signal.m4: Likewise.
30146         * m4/fchdir.m4: Likewise.
30147         * m4/fcntl_h.m4: Likewise.
30148         * m4/fileblocks.m4: Likewise.
30149         * m4/filenamecat.m4: Likewise.
30150         * m4/findprog.m4: Likewise.
30151         * m4/flexmember.m4: Likewise.
30152         * m4/fnmatch.m4: Likewise.
30153         * m4/fopen.m4: Likewise.
30154         * m4/fpending.m4: Likewise.
30155         * m4/fprintf-posix.m4: Likewise.
30156         * m4/free.m4: Likewise.
30157         * m4/frexp.m4: Likewise.
30158         * m4/frexpl.m4: Likewise.
30159         * m4/fsusage.m4: Likewise.
30160         * m4/ftruncate.m4: Likewise.
30161         * m4/gc-camellia.m4: Likewise.
30162         * m4/gc-random.m4: Likewise.
30163         * m4/gc.m4: Likewise.
30164         * m4/getaddrinfo.m4: Likewise.
30165         * m4/getcwd-abort-bug.m4: Likewise.
30166         * m4/getcwd-path-max.m4: Likewise.
30167         * m4/getdate.m4: Likewise.
30168         * m4/getdomainname.m4: Likewise.
30169         * m4/getgroups.m4: Likewise.
30170         * m4/gethostname.m4: Likewise.
30171         * m4/gethrxtime.m4: Likewise.
30172         * m4/getline.m4: Likewise.
30173         * m4/getloadavg.m4: Likewise.
30174         * m4/getndelim2.m4: Likewise.
30175         * m4/getpass.m4: Likewise.
30176         * m4/gettext.m4: Likewise.
30177         * m4/gettime.m4: Likewise.
30178         * m4/gettimeofday.m4: Likewise.
30179         * m4/gnulib-common.m4: Likewise.
30180         * m4/group-member.m4: Likewise.
30181         * m4/host-os.m4: Likewise.
30182         * m4/iconv.m4: Likewise.
30183         * m4/iconv_open.m4: Likewise.
30184         * m4/inet_ntop.m4: Likewise.
30185         * m4/inet_pton.m4: Likewise.
30186         * m4/inline.m4: Likewise.
30187         * m4/intldir.m4: Likewise.
30188         * m4/intlmacosx.m4: Likewise.
30189         * m4/intmax.m4: Likewise.
30190         * m4/intmax_t.m4: Likewise.
30191         * m4/inttypes.m4: Likewise.
30192         * m4/inttypes_h.m4: Likewise.
30193         * m4/inttypes-pri.m4: Likewise.
30194         * m4/isapipe.m4: Likewise.
30195         * m4/isnand.m4: Likewise.
30196         * m4/isnanf.m4: Likewise.
30197         * m4/isnanl.m4: Likewise.
30198         * m4/javacomp.m4: Likewise.
30199         * m4/javaexec.m4: Likewise.
30200         * m4/jm-winsz1.m4: Likewise.
30201         * m4/jm-winsz2.m4: Likewise.
30202         * m4/lchown.m4: Likewise.
30203         * m4/lcmessage.m4: Likewise.
30204         * m4/ldexpl.m4: Likewise.
30205         * m4/lib-ld.m4: Likewise.
30206         * m4/lib-link.m4: Likewise.
30207         * m4/libsigsegv.m4: Likewise.
30208         * m4/link-follow.m4: Likewise.
30209         * m4/localcharset.m4: Likewise.
30210         * m4/locale-fr.m4: Likewise.
30211         * m4/locale-ja.m4: Likewise.
30212         * m4/locale-tr.m4: Likewise.
30213         * m4/locale-zh.m4: Likewise.
30214         * m4/lock.m4: Likewise.
30215         * m4/longlong.m4: Likewise.
30216         * m4/ls-mntd-fs.m4: Likewise.
30217         * m4/lstat.m4: Likewise.
30218         * m4/malloc.m4: Likewise.
30219         * m4/mathl.m4: Likewise.
30220         * m4/mbrtowc.m4: Likewise.
30221         * m4/mbstate_t.m4: Likewise.
30222         * m4/mbswidth.m4: Likewise.
30223         * m4/memchr.m4: Likewise.
30224         * m4/memcmp.m4: Likewise.
30225         * m4/memcpy.m4: Likewise.
30226         * m4/memmem.m4: Likewise.
30227         * m4/memmove.m4: Likewise.
30228         * m4/mempcpy.m4: Likewise.
30229         * m4/memrchr.m4: Likewise.
30230         * m4/memset.m4: Likewise.
30231         * m4/minmax.m4: Likewise.
30232         * m4/mkdir-slash.m4: Likewise.
30233         * m4/mkdtemp.m4: Likewise.
30234         * m4/mktime.m4: Likewise.
30235         * m4/mmap-anon.m4: Likewise.
30236         * m4/mountlist.m4: Likewise.
30237         * m4/nanosleep.m4: Likewise.
30238         * m4/nls.m4: Likewise.
30239         * m4/nocrash.m4: Likewise.
30240         * m4/open.m4: Likewise.
30241         * m4/openat.m4: Likewise.
30242         * m4/openmp.m4: Likewise.
30243         * m4/pathmax.m4: Likewise.
30244         * m4/perl.m4: Likewise.
30245         * m4/physmem.m4: Likewise.
30246         * m4/pipe.m4: Likewise.
30247         * m4/po.m4: Likewise.
30248         * m4/poll.m4: Likewise.
30249         * m4/posixtm.m4: Likewise.
30250         * m4/posixver.m4: Likewise.
30251         * m4/printf-frexp.m4: Likewise.
30252         * m4/printf-frexpl.m4: Likewise.
30253         * m4/printf-posix.m4: Likewise.
30254         * m4/printf-posix-rpl.m4: Likewise.
30255         * m4/printf.m4: Likewise.
30256         * m4/progtest.m4: Likewise.
30257         * m4/putenv.m4: Likewise.
30258         * m4/readline.m4: Likewise.
30259         * m4/readlink.m4: Likewise.
30260         * m4/readutmp.m4: Likewise.
30261         * m4/realloc.m4: Likewise.
30262         * m4/regex.m4: Likewise.
30263         * m4/relocatable.m4: Likewise.
30264         * m4/relocatable-lib.m4: Likewise.
30265         * m4/rename-dest-slash.m4: Likewise.
30266         * m4/rename.m4: Likewise.
30267         * m4/rmdir-errno.m4: Likewise.
30268         * m4/rmdir.m4: Likewise.
30269         * m4/roundf.m4: Likewise.
30270         * m4/roundl.m4: Likewise.
30271         * m4/rpmatch.m4: Likewise.
30272         * m4/save-cwd.m4: Likewise.
30273         * m4/selinux-selinux-h.m4: Likewise.
30274         * m4/setenv.m4: Likewise.
30275         * m4/settime.m4: Likewise.
30276         * m4/sig2str.m4: Likewise.
30277         * m4/sig_atomic_t.m4: Likewise.
30278         * m4/signalblocking.m4: Likewise.
30279         * m4/signbit.m4: Likewise.
30280         * m4/sigpipe.m4: Likewise.
30281         * m4/sockets.m4: Likewise.
30282         * m4/sockpfaf.m4: Likewise.
30283         * m4/st_dm_mode.m4: Likewise.
30284         * m4/stat-time.m4: Likewise.
30285         * m4/stdbool.m4: Likewise.
30286         * m4/stdint.m4: Likewise.
30287         * m4/stdint_h.m4: Likewise.
30288         * m4/stpcpy.m4: Likewise.
30289         * m4/stpncpy.m4: Likewise.
30290         * m4/strcase.m4: Likewise.
30291         * m4/strchrnul.m4: Likewise.
30292         * m4/strcspn.m4: Likewise.
30293         * m4/strdup.m4: Likewise.
30294         * m4/strftime.m4: Likewise.
30295         * m4/strndup.m4: Likewise.
30296         * m4/strnlen.m4: Likewise.
30297         * m4/strpbrk.m4: Likewise.
30298         * m4/strptime.m4: Likewise.
30299         * m4/strsep.m4: Likewise.
30300         * m4/strtod.m4: Likewise.
30301         * m4/strtoimax.m4: Likewise.
30302         * m4/strtok_r.m4: Likewise.
30303         * m4/strtol.m4: Likewise.
30304         * m4/strtoll.m4: Likewise.
30305         * m4/strtoul.m4: Likewise.
30306         * m4/strtoull.m4: Likewise.
30307         * m4/strtoumax.m4: Likewise.
30308         * m4/strverscmp.m4: Likewise.
30309         * m4/threadlib.m4: Likewise.
30310         * m4/timegm.m4: Likewise.
30311         * m4/tm_gmtoff.m4: Likewise.
30312         * m4/tmpdir.m4: Likewise.
30313         * m4/tmpfile.m4: Likewise.
30314         * m4/tzset.m4: Likewise.
30315         * m4/uintmax_t.m4: Likewise.
30316         * m4/unlinkdir.m4: Likewise.
30317         * m4/unlocked-io.m4: Likewise.
30318         * m4/uptime.m4: Likewise.
30319         * m4/userspec.m4: Likewise.
30320         * m4/utimbuf.m4: Likewise.
30321         * m4/utime.m4: Likewise.
30322         * m4/utimes-null.m4: Likewise.
30323         * m4/utimes.m4: Likewise.
30324         * m4/vararrays.m4: Likewise.
30325         * m4/vasnprintf.m4: Likewise.
30326         * m4/vfprintf-posix.m4: Likewise.
30327         * m4/vprintf-posix.m4: Likewise.
30328         * m4/wait-process.m4: Likewise.
30329         * m4/wchar_t.m4: Likewise.
30330         * m4/wint_t.m4: Likewise.
30331         * m4/write-any-file.m4: Likewise.
30332         * m4/yield.m4: Likewise.
30333
30334 2009-01-13  Bruno Haible  <bruno@clisp.org>
30335
30336         Avoid test-copy-file.sh failures when ACL support insufficient.
30337         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
30338         TESTS_ENVIRONMENT.
30339         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
30340         Reported by Jim Meyering.
30341
30342 2009-01-13  Bruno Haible  <bruno@clisp.org>
30343
30344         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
30345         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
30346         * modules/unistdio/u8-printf-parse (Files): Likewise.
30347         * modules/unistdio/u32-printf-parse (Files): Likewise.
30348         * modules/unistdio/ulc-printf-parse (Files): Likewise.
30349
30350 2009-01-13  Simon Josefsson  <simon@josefsson.org>
30351
30352         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
30353         and m4/inttypes_h.m4 too.
30354
30355 2009-01-12  Eric Blake  <ebb9@byu.net>
30356
30357         tests: IRIX 6.2 cc can't compile -0.0 into .data
30358         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
30359         rather than at compile-time.
30360         * tests/test-floorl.c (minus_zero): Likewise.
30361         * tests/test-frexpl.c (minus_zero): Likewise.
30362         * tests/test-isnan.c (minus_zerol): Likewise.
30363         * tests/test-isnanl.h (minus_zero): Likewise.
30364         * tests/test-ldexpl.c (minus_zero): Likewise.
30365         * tests/test-roundl.c (minus_zero): Likewise.
30366         * tests/test-signbit.c (minus_zerol): Likewise.
30367         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
30368         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
30369         * tests/test-truncl.c (minus_zero): Likewise.
30370         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
30371         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
30372         Reported by Tom G. Christensen and Nelson H. F. Beebe.
30373
30374 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
30375
30376         regex: fix glibc bug 9697
30377         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
30378         handling.
30379
30380 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
30381
30382         regex: fix glibc bug 697
30383         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
30384         being NULL also if there are no backreferences.
30385
30386 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
30387
30388         regex: merge glibc changes
30389         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
30390         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
30391         re_string_skip_chars, re_string_reconstruct): Likewise.
30392         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
30393
30394 2009-01-07  Jim Meyering  <meyering@redhat.com>
30395
30396         poll: filter through cppi
30397         * lib/poll.c: Indent cpp directives to reflect nesting.
30398
30399 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
30400
30401         poll: don't return uninitialized
30402         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
30403
30404 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
30405
30406         avoid compile failure on AIX 6.1
30407         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
30408         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
30409
30410 2009-01-04  Jim Meyering  <meyering@redhat.com>
30411
30412         remove duplicate inclusion of <stdio.h>
30413         * tests/test-fprintf-posix.c: Likewise.
30414         * tests/test-printf-posix.c: Likewise.
30415         * tests/test-snprintf-posix.c: Likewise.
30416         * tests/test-sprintf-posix.c: Likewise.
30417         * tests/test-vasprintf-posix.c: Likewise.
30418         * tests/test-vfprintf-posix.c: Likewise.
30419         * tests/test-vprintf-posix.c: Likewise.
30420         * tests/test-vsnprintf-posix.c: Likewise.
30421         * tests/test-vsprintf-posix.c: Likewise.
30422
30423 2009-01-03  Jim Meyering  <meyering@redhat.com>
30424
30425         gnulib-tool: fix sed-based filtering
30426         * gnulib-tool (func_filter_filelist): Remove extra backslash
30427         in sed_fff_filter definition.
30428
30429 2009-01-02  Jim Meyering  <meyering@redhat.com>
30430
30431         strftime: avoid compilation failure on Solaris 2.6
30432         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
30433         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
30434         Don't #define mbrlen or mbsinit, since now they're guaranteed to
30435         be available.  Reported by Tom G. Christensen.  Details in
30436         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
30437
30438 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30439             Bruno Haible  <bruno@clisp.org>
30440
30441         Speed up gnulib-tool by doing more string processing through shell
30442         built-ins.
30443         * gnulib-tool (fast_func_append): New variable.
30444         (func_remove_prefix, func_remove_suffix): New functions.
30445         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
30446         (func_filter_filelist): New function.
30447         (func_get_dependencies): Use func_remove_suffix instead of sed.
30448         (func_get_automake_snippet): Use func_filter_filelist instead of a
30449         subshell and sed invocation.
30450
30451 2009-01-01  Bruno Haible  <bruno@clisp.org>
30452
30453         Fix a security bug.
30454         * gnulib-tool (func_import, import, update): Don't allow the characters
30455         '"', '$', '`', '\' in macro arguments that become part of commands that
30456         are evaluated.
30457
30458 2009-01-01  Bruno Haible  <bruno@clisp.org>
30459
30460         * gnulib-tool (func_reset_sigpipe): Add more comments.
30461
30462 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30463
30464         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
30465         func_emit_tests_Makefile_am, func_import): Abort loops early if we
30466         already know the answer.
30467
30468 2009-01-01  Jim Meyering  <meyering@redhat.com>
30469
30470         * lib/version-etc.c (version_etc_va): Update copyright year.
30471
30472 2008-12-30  Bruno Haible  <bruno@clisp.org>
30473
30474         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
30475         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
30476         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
30477
30478 2008-12-29  Eric Blake  <ebb9@byu.net>
30479
30480         multiarch: avoid autoconf AC_REQUIRE bug
30481         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
30482         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
30483         2.63 and older.
30484         Reported by Bruno Haible, and analyzed in
30485         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
30486
30487 2008-12-29  Bruno Haible  <bruno@clisp.org>
30488
30489         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
30490         files in subdirectories correctly.
30491         Reported by Ralf Wildenhues.
30492
30493 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30494
30495         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
30496         rather than 'join FILE -', for Solaris join.
30497
30498 2008-12-29  Bruno Haible  <bruno@clisp.org>
30499
30500         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
30501         quoting.
30502         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
30503         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
30504         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
30505         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
30506         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
30507         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
30508         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
30509         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
30510         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
30511         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
30512         * m4/nls.m4 (AM_NLS): Likewise.
30513         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
30514         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
30515         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
30516         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
30517         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
30518         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30519         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
30520         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
30521         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
30522         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
30523         * m4/xsize.m4 (gl_XSIZE): Likewise.
30524         Suggested by Jim Meyering.
30525
30526 2008-11-17  Bruce Korb  <bkorb@gnu.org>
30527
30528         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
30529         * lib/parse-duration.c: use a switch instead of cascading if's.
30530
30531 2008-12-29  Eric Blake  <ebb9@byu.net>
30532
30533         wchar.h: supply WEOF on Irix 5.3
30534         * lib/wchar.in.h (wint_t): Also supply WEOF.
30535         * lib/wctype.in.h (wint_t): Likewise.
30536         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
30537         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
30538         Reported by Tom G. Christensen.
30539
30540 2008-12-26  Bruno Haible  <bruno@clisp.org>
30541
30542         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
30543         i486, i586, i686.
30544
30545 2008-12-26  Bruno Haible  <bruno@clisp.org>
30546
30547         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
30548
30549 2008-12-26  Bruno Haible  <bruno@clisp.org>
30550
30551         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
30552         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
30553         not __STDC_CONSTANT_MACROS.
30554         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
30555
30556 2008-12-25  Bruno Haible  <bruno@clisp.org>
30557
30558         Add support for universal builds to vasnprintf.
30559         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
30560         universal builds, guess no.
30561         * modules/vasnprintf-posix (Depends-on): Add multiarch.
30562         * modules/vasprintf-posix (Depends-on): Likewise.
30563         * modules/fprintf-posix (Depends-on): Likewise.
30564         * modules/vfprintf-posix (Depends-on): Likewise.
30565         * modules/snprintf-posix (Depends-on): Likewise.
30566         * modules/vsnprintf-posix (Depends-on): Likewise.
30567         * modules/sprintf-posix (Depends-on): Likewise.
30568         * modules/vsprintf-posix (Depends-on): Likewise.
30569         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
30570         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30571         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30572         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30573         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30574         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30575         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30576
30577         Add support for universal builds to <inttypes.h>.
30578         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
30579         _SCNu64_PREFIX): In Apple
30580         universal builds, define directly, using _LP64.
30581         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
30582         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
30583         * modules/inttypes (Depends-on): Add multiarch.
30584         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
30585
30586         Add support for universal builds to <stdint.h>.
30587         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
30588         universal builds, define directly, using _LP64.
30589         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
30590         Apple universal builds, don't test for the size and suffix of ptrdiff_t
30591         and size_t.
30592         * modules/stdint (Depends-on): Add multiarch.
30593         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
30594
30595         New module 'multiarch'.
30596         * modules/multiarch: New file.
30597         * m4/multiarch.m4: New file.
30598
30599 2008-12-25  Bruno Haible  <bruno@clisp.org>
30600
30601         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
30602
30603 2008-12-25  Bruno Haible  <bruno@clisp.org>
30604
30605         * modules/btowc (License): Relicense under LGPLv2+.
30606         * modules/mbsinit (License): Likewise.
30607         * modules/mbrtowc (License): Likewise.
30608         * modules/wcrtomb (License): Likewise.
30609         * modules/streq (License): Likewise.
30610         Reported by David Lutterkort <lutter@redhat.com>.
30611
30612 2008-12-23  Bruno Haible  <bruno@clisp.org>
30613
30614         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
30615
30616 2008-12-23  Bruno Haible  <bruno@clisp.org>
30617
30618         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
30619         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
30620         GETADDRINFO_LIB, not in LIBS.
30621         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
30622         * modules/canon-host (Link): Likewise.
30623         * NEWS: Mention the change.
30624         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
30625         GETADDRINFO_LIB.
30626
30627 2008-12-22  Bruno Haible  <bruno@clisp.org>
30628
30629         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
30630         * doc/posix-functions/iswalpha_l.texi: Likewise.
30631         * doc/posix-functions/iswblank_l.texi: Likewise.
30632         * doc/posix-functions/iswcntrl_l.texi: Likewise.
30633         * doc/posix-functions/iswctype_l.texi: Likewise.
30634         * doc/posix-functions/iswdigit_l.texi: Likewise.
30635         * doc/posix-functions/iswgraph_l.texi: Likewise.
30636         * doc/posix-functions/iswlower_l.texi: Likewise.
30637         * doc/posix-functions/iswprint_l.texi: Likewise.
30638         * doc/posix-functions/iswpunct_l.texi: Likewise.
30639         * doc/posix-functions/iswspace_l.texi: Likewise.
30640         * doc/posix-functions/iswupper_l.texi: Likewise.
30641         * doc/posix-functions/iswxdigit_l.texi: Likewise.
30642         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
30643         * doc/posix-functions/open_wmemstream.texi: Likewise.
30644         * doc/posix-functions/swscanf.texi: Likewise.
30645         * doc/posix-functions/towctrans_l.texi: Likewise.
30646         * doc/posix-functions/towlower.texi: Likewise.
30647         * doc/posix-functions/towlower_l.texi: Likewise.
30648         * doc/posix-functions/towupper.texi: Likewise.
30649         * doc/posix-functions/towupper_l.texi: Likewise.
30650         * doc/posix-functions/vfwprintf.texi: Likewise.
30651         * doc/posix-functions/vfwscanf.texi: Likewise.
30652         * doc/posix-functions/vswscanf.texi: Likewise.
30653         * doc/posix-functions/vwprintf.texi: Likewise.
30654         * doc/posix-functions/vwscanf.texi: Likewise.
30655         * doc/posix-functions/wcpcpy.texi: Likewise.
30656         * doc/posix-functions/wcpncpy.texi: Likewise.
30657         * doc/posix-functions/wcscasecmp.texi: Likewise.
30658         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
30659         * doc/posix-functions/wcscoll_l.texi: Likewise.
30660         * doc/posix-functions/wcsdup.texi: Likewise.
30661         * doc/posix-functions/wcsncasecmp.texi: Likewise.
30662         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
30663         * doc/posix-functions/wcsnlen.texi: Likewise.
30664         * doc/posix-functions/wcsnrtombs.texi: Likewise.
30665         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
30666         * doc/posix-functions/wctrans_l.texi: Likewise.
30667         * doc/posix-functions/wctype_l.texi: Likewise.
30668         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
30669         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
30670         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
30671         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
30672         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
30673         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
30674         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
30675         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
30676         * doc/glibc-functions/wcschrnul.texi: Likewise.
30677         * doc/glibc-functions/wcsftime_l.texi: Likewise.
30678         * doc/glibc-functions/wcstod_l.texi: Likewise.
30679         * doc/glibc-functions/wcstof_l.texi: Likewise.
30680         * doc/glibc-functions/wcstol_l.texi: Likewise.
30681         * doc/glibc-functions/wcstold_l.texi: Likewise.
30682         * doc/glibc-functions/wcstoll_l.texi: Likewise.
30683         * doc/glibc-functions/wcstoq.texi: Likewise.
30684         * doc/glibc-functions/wcstoul_l.texi: Likewise.
30685         * doc/glibc-functions/wcstoull_l.texi: Likewise.
30686         * doc/glibc-functions/wcstouq.texi: Likewise.
30687         * doc/glibc-functions/wmempcpy.texi: Likewise.
30688
30689 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
30690             Eric Blake  <ebb9@byu.net>
30691             Paolo Bonzini  <bonzini@gnu.org>
30692             Bruno Haible  <bruno@clisp.org>
30693
30694         Make c-stack work on Haiku.
30695         * lib/c-stack.c (SA_ONSTACK): Define fallback.
30696         (c_stack_action): Use SA_ONSTACK flag.
30697
30698 2008-12-22  Bruno Haible  <bruno@clisp.org>
30699
30700         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
30701
30702 2008-12-22  Bruno Haible  <bruno@clisp.org>
30703
30704         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
30705         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
30706         being overridden.
30707         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
30708         New macros.
30709         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
30710         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
30711         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
30712         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
30713
30714 2008-12-22  Bruno Haible  <bruno@clisp.org>
30715
30716         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
30717         from test code.
30718
30719 2008-12-22  Eric Blake  <ebb9@byu.net>
30720
30721         Avoid gcc warnings on cygwin.
30722         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
30723         Avoid unused variable.
30724         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
30725         Likewise.
30726
30727 2008-12-22  Bruno Haible  <bruno@clisp.org>
30728
30729         Remove HAVE_MBRTOWC conditionals.
30730         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
30731         (mbscasecmp): Assume mbrtowc function.
30732         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
30733         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
30734         * lib/mbschr.c: Include mbuiter.h unconditionally.
30735         (mbschr): Assume mbrtowc function.
30736         * lib/mbscspn.c: Include mbuiter.h unconditionally.
30737         (mbscspn): Assume mbrtowc function.
30738         * lib/mbslen.c: Include mbuiter.h unconditionally.
30739         (mbslen): Assume mbrtowc function.
30740         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
30741         (mbsncasecmp): Assume mbrtowc function.
30742         * lib/mbsnlen.c: Include mbiter.h unconditionally.
30743         (mbsnlen): Assume mbrtowc function.
30744         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
30745         (mbspbrk): Assume mbrtowc function.
30746         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
30747         (mbspcasecmp): Assume mbrtowc function.
30748         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
30749         (mbsrchr): Assume mbrtowc function.
30750         * lib/mbssep.c: Include mbuiter.h unconditionally.
30751         (mbssep): Assume mbrtowc function.
30752         * lib/mbsspn.c: Include mbuiter.h unconditionally.
30753         (mbsspn): Assume mbrtowc function.
30754         * lib/mbsstr.c: Include mbuiter.h unconditionally.
30755         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
30756         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
30757         (mbstok_r): Assume mbrtowc function.
30758         * lib/propername.c: Include mbuiter.h unconditionally.
30759         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
30760         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
30761         (trim2): Assume mbrtowc function.
30762         * lib/mbswidth.c (mbsinit): Remove fallback definition.
30763         (mbsnwidth): Assume mbrtowc function.
30764         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
30765         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
30766         fallback definitions.
30767         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
30768
30769 2008-12-22  Bruno Haible  <bruno@clisp.org>
30770
30771         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
30772
30773 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
30774
30775         * modules/regex: Request emulations for the mb*/wc* functions we need.
30776         * m4/regex.m4: Don't look for those functions here.
30777         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
30778
30779 2008-12-22  Bruno Haible  <bruno@clisp.org>
30780
30781         * modules/fnmatch (Depends-on): Remove duplicated dependency.
30782
30783 2008-12-21  Bruno Haible  <bruno@clisp.org>
30784
30785         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
30786         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
30787         (Include): Remove conditionalization.
30788         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
30789         (Include): Remove conditionalization.
30790         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
30791         (Include): Remove conditionalization.
30792         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
30793         * m4/mbfile.m4 (gl_MBFILE): Likewise.
30794         * NEWS: Mention the change.
30795         Reported by Alan Hourihane <alanh@fairlite.co.uk>
30796         via Sergey Poznyakoff <gray@gnu.org.ua>.
30797
30798 2008-12-21  Bruno Haible  <bruno@clisp.org>
30799
30800         * MODULES.html.sh (Extended multibyte and wide character utilities
30801         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
30802         wcrtomb, wcsrtombs.
30803         (Support for systems lacking POSIX:2008): Add accept, bind, close,
30804         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
30805         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
30806         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
30807
30808 2008-12-21  Bruno Haible  <bruno@clisp.org>
30809
30810         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
30811
30812 2008-12-21  Bruno Haible  <bruno@clisp.org>
30813
30814         * modules/wcsnrtombs-tests: New file.
30815         * tests/test-wcsnrtombs1.sh: New file.
30816         * tests/test-wcsnrtombs2.sh: New file.
30817         * tests/test-wcsnrtombs3.sh: New file.
30818         * tests/test-wcsnrtombs4.sh: New file.
30819         * tests/test-wcsnrtombs.c: New file.
30820
30821         New module 'wcsnrtombs'.
30822         * lib/wchar.in.h (wcsnrtombs): New declaration.
30823         * lib/wcsnrtombs.c: New file.
30824         * lib/wcsrtombs-state.c: New file.
30825         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
30826         (internal_state): Remove variable.
30827         * m4/wcsnrtombs.m4: New file.
30828         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
30829         compilation units.
30830         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
30831         HAVE_WCSNRTOMBS.
30832         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
30833         HAVE_WCSNRTOMBS.
30834         * modules/wcsnrtombs: New file.
30835         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
30836         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
30837
30838 2008-12-21  Bruno Haible  <bruno@clisp.org>
30839
30840         * modules/wcsrtombs-tests: New file.
30841         * tests/test-wcsrtombs1.sh: New file.
30842         * tests/test-wcsrtombs2.sh: New file.
30843         * tests/test-wcsrtombs3.sh: New file.
30844         * tests/test-wcsrtombs4.sh: New file.
30845         * tests/test-wcsrtombs.c: New file.
30846
30847         New module 'wcsrtombs'.
30848         * lib/wchar.in.h (wcsrtombs): New declaration.
30849         * lib/wcsrtombs.c: New file.
30850         * m4/wcsrtombs.m4: New file.
30851         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
30852         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
30853         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
30854         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
30855         * modules/wcsrtombs: New file.
30856         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
30857         bugs.
30858
30859 2008-12-21  Bruno Haible  <bruno@clisp.org>
30860
30861         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
30862         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
30863         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
30864         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
30865         if not correct.
30866         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
30867         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
30868         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
30869         m4/locale-zh.m4, m4/codeset.m4.
30870         * doc/posix-functions/wcrtomb.texi: Document the bug.
30871
30872 2008-12-21  Bruno Haible  <bruno@clisp.org>
30873
30874         Work around a btowc() bug on IRIX 6.5.
30875         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
30876         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
30877         REPLACE_WTOBC if not.
30878         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
30879         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
30880         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
30881
30882 2008-12-21  Bruno Haible  <bruno@clisp.org>
30883
30884         * modules/wcrtomb-tests: New file.
30885         * tests/test-wcrtomb.sh: New file.
30886         * tests/test-wcrtomb.c: New file.
30887
30888         New module 'wcrtomb'.
30889         * lib/wchar.in.h (wcrtomb): New declaration.
30890         * lib/wcrtomb.c: New file.
30891         * m4/wcrtomb.m4: New file.
30892         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
30893         HAVE_WCRTOMB.
30894         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
30895         HAVE_WCRTOMB.
30896         * modules/wcrtomb: New file.
30897         * doc/posix-functions/wcrtomb.texi: Mention the new module.
30898
30899 2008-12-21  Bruno Haible  <bruno@clisp.org>
30900
30901         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
30902         * modules/mbsrtowcs (Files): Likewise.
30903         * modules/wctob (Files): Likewise.
30904         * modules/c-strcase-tests (Files): Likewise.
30905         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
30906         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
30907         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
30908         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
30909         * modules/vasnprintf-posix-tests (Files): Likewise.
30910
30911 2008-12-21  William Pursell  <bill.pursell@gmail.com>
30912
30913         gitlog-to-changelog: pass all command-line arguments to git-log
30914         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
30915         it is sometimes convenient to filter the commits in various ways.
30916         gitlog-to-changelog only allows --since to specify a start date,
30917         but git-log itself supports many other filtering mechanisms.
30918         At the moment, I want to filter by branch name.  Rather than
30919         adding a --branch option to gitlog-to-changelog, it seems more
30920         flexible to simply pass all options directly to git-log and let
30921         git do the work.  Notice that this effectively makes --since a
30922         redundant option for gitlog-to-changelog, but removing it would
30923         require current usage to change since calls would then require
30924         an additional '--'.
30925
30926 2008-12-21  Bruno Haible  <bruno@clisp.org>
30927
30928         * modules/mbsnrtowcs-tests: New file.
30929         * tests/test-mbsnrtowcs1.sh: New file.
30930         * tests/test-mbsnrtowcs2.sh: New file.
30931         * tests/test-mbsnrtowcs3.sh: New file.
30932         * tests/test-mbsnrtowcs4.sh: New file.
30933         * tests/test-mbsnrtowcs.c: New file.
30934
30935         New module 'mbsnrtowcs'.
30936         * lib/wchar.in.h (mbsnrtowcs): New declaration.
30937         * lib/mbsnrtowcs.c: New file.
30938         * lib/mbsrtowcs-state.c: New file.
30939         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
30940         (internal_state): Remove variable.
30941         * m4/mbsnrtowcs.m4: New file.
30942         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
30943         compilation units.
30944         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
30945         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
30946         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
30947         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
30948         * modules/mbsnrtowcs: New file.
30949         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
30950         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
30951         portability problem.
30952
30953 2008-12-21  Bruno Haible  <bruno@clisp.org>
30954
30955         Work around mbsrtowcs bug.
30956         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
30957         (gl_FUNC_MBSRTOWCS): Invoke it.
30958         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
30959         m4/locale-zh.m4.
30960         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
30961
30962 2008-12-21  Bruno Haible  <bruno@clisp.org>
30963
30964         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
30965
30966 2008-12-21  Bruno Haible  <bruno@clisp.org>
30967
30968         Update doc for AIX.
30969         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
30970         16-bit wchar_t type.
30971         * doc/posix-functions/btowc.texi: Likewise.
30972         * doc/posix-functions/fgetwc.texi: Likewise.
30973         * doc/posix-functions/fgetws.texi: Likewise.
30974         * doc/posix-functions/fputwc.texi: Likewise.
30975         * doc/posix-functions/fputws.texi: Likewise.
30976         * doc/posix-functions/fwide.texi: Likewise.
30977         * doc/posix-functions/fwprintf.texi: Likewise.
30978         * doc/posix-functions/fwscanf.texi: Likewise.
30979         * doc/posix-functions/getwchar.texi: Likewise.
30980         * doc/posix-functions/getwc.texi: Likewise.
30981         * doc/posix-functions/iswalnum.texi: Likewise.
30982         * doc/posix-functions/iswalpha.texi: Likewise.
30983         * doc/posix-functions/iswblank.texi: Likewise.
30984         * doc/posix-functions/iswcntrl.texi: Likewise.
30985         * doc/posix-functions/iswctype.texi: Likewise.
30986         * doc/posix-functions/iswdigit.texi: Likewise.
30987         * doc/posix-functions/iswgraph.texi: Likewise.
30988         * doc/posix-functions/iswlower.texi: Likewise.
30989         * doc/posix-functions/iswprint.texi: Likewise.
30990         * doc/posix-functions/iswpunct.texi: Likewise.
30991         * doc/posix-functions/iswspace.texi: Likewise.
30992         * doc/posix-functions/iswupper.texi: Likewise.
30993         * doc/posix-functions/iswxdigit.texi: Likewise.
30994         * doc/posix-functions/mbrtowc.texi: Likewise.
30995         * doc/posix-functions/mbsrtowcs.texi: Likewise.
30996         * doc/posix-functions/mbstowcs.texi: Likewise.
30997         * doc/posix-functions/mbtowc.texi: Likewise.
30998         * doc/posix-functions/putwchar.texi: Likewise.
30999         * doc/posix-functions/putwc.texi: Likewise.
31000         * doc/posix-functions/swprintf.texi: Likewise.
31001         * doc/posix-functions/tolower.texi: Likewise.
31002         * doc/posix-functions/toupper.texi: Likewise.
31003         * doc/posix-functions/towctrans.texi: Likewise.
31004         * doc/posix-functions/ungetwc.texi: Likewise.
31005         * doc/posix-functions/vswprintf.texi: Likewise.
31006         * doc/posix-functions/wcrtomb.texi: Likewise.
31007         * doc/posix-functions/wcscat.texi: Likewise.
31008         * doc/posix-functions/wcschr.texi: Likewise.
31009         * doc/posix-functions/wcscmp.texi: Likewise.
31010         * doc/posix-functions/wcscoll.texi: Likewise.
31011         * doc/posix-functions/wcscpy.texi: Likewise.
31012         * doc/posix-functions/wcscspn.texi: Likewise.
31013         * doc/posix-functions/wcsftime.texi: Likewise.
31014         * doc/posix-functions/wcslen.texi: Likewise.
31015         * doc/posix-functions/wcsncat.texi: Likewise.
31016         * doc/posix-functions/wcsncmp.texi: Likewise.
31017         * doc/posix-functions/wcsncpy.texi: Likewise.
31018         * doc/posix-functions/wcspbrk.texi: Likewise.
31019         * doc/posix-functions/wcsrchr.texi: Likewise.
31020         * doc/posix-functions/wcsrtombs.texi: Likewise.
31021         * doc/posix-functions/wcsspn.texi: Likewise.
31022         * doc/posix-functions/wcsstr.texi: Likewise.
31023         * doc/posix-functions/wcstod.texi: Likewise.
31024         * doc/posix-functions/wcstof.texi: Likewise.
31025         * doc/posix-functions/wcstoimax.texi: Likewise.
31026         * doc/posix-functions/wcstok.texi: Likewise.
31027         * doc/posix-functions/wcstold.texi: Likewise.
31028         * doc/posix-functions/wcstoll.texi: Likewise.
31029         * doc/posix-functions/wcstol.texi: Likewise.
31030         * doc/posix-functions/wcstombs.texi: Likewise.
31031         * doc/posix-functions/wcstoull.texi: Likewise.
31032         * doc/posix-functions/wcstoul.texi: Likewise.
31033         * doc/posix-functions/wcstoumax.texi: Likewise.
31034         * doc/posix-functions/wcswidth.texi: Likewise.
31035         * doc/posix-functions/wcsxfrm.texi: Likewise.
31036         * doc/posix-functions/wctob.texi: Likewise.
31037         * doc/posix-functions/wctomb.texi: Likewise.
31038         * doc/posix-functions/wctrans.texi: Likewise.
31039         * doc/posix-functions/wctype.texi: Likewise.
31040         * doc/posix-functions/wcwidth.texi: Likewise.
31041         * doc/posix-functions/wmemchr.texi: Likewise.
31042         * doc/posix-functions/wmemcmp.texi: Likewise.
31043         * doc/posix-functions/wmemcpy.texi: Likewise.
31044         * doc/posix-functions/wmemmove.texi: Likewise.
31045         * doc/posix-functions/wmemset.texi: Likewise.
31046         * doc/posix-functions/wprintf.texi: Likewise.
31047         * doc/posix-functions/wscanf.texi: Likewise.
31048
31049 2008-12-21  Bruno Haible  <bruno@clisp.org>
31050
31051         Update doc for HP-UX 11.11.
31052         * doc/posix-functions/btowc.texi: Clarify that the function is missing
31053         in HP-UX version 11.00, not in all versions of HP-UX 11.
31054         * doc/posix-functions/fwide.texi: Likewise.
31055         * doc/posix-functions/fwprintf.texi: Likewise.
31056         * doc/posix-functions/fwscanf.texi: Likewise.
31057         * doc/posix-functions/inet_ntop.texi: Likewise.
31058         * doc/posix-functions/inet_pton.texi: Likewise.
31059         * doc/posix-functions/mbrlen.texi: Likewise.
31060         * doc/posix-functions/mbrtowc.texi: Likewise.
31061         * doc/posix-functions/mbsinit.texi: Likewise.
31062         * doc/posix-functions/mbsrtowcs.texi: Likewise.
31063         * doc/posix-functions/swprintf.texi: Likewise.
31064         * doc/posix-functions/swscanf.texi: Likewise.
31065         * doc/posix-functions/towctrans.texi: Likewise.
31066         * doc/posix-functions/vfwprintf.texi: Likewise.
31067         * doc/posix-functions/vswprintf.texi: Likewise.
31068         * doc/posix-functions/vwprintf.texi: Likewise.
31069         * doc/posix-functions/wcrtomb.texi: Likewise.
31070         * doc/posix-functions/wcsrtombs.texi: Likewise.
31071         * doc/posix-functions/wcsstr.texi: Likewise.
31072         * doc/posix-functions/wctob.texi: Likewise.
31073         * doc/posix-functions/wctrans.texi: Likewise.
31074         * doc/posix-functions/wmemchr.texi: Likewise.
31075         * doc/posix-functions/wmemcmp.texi: Likewise.
31076         * doc/posix-functions/wmemcpy.texi: Likewise.
31077         * doc/posix-functions/wmemmove.texi: Likewise.
31078         * doc/posix-functions/wmemset.texi: Likewise.
31079         * doc/posix-functions/wprintf.texi: Likewise.
31080         * doc/posix-functions/wscanf.texi: Likewise.
31081
31082 2008-12-21  Bruno Haible  <bruno@clisp.org>
31083
31084         Work around a portability problem.
31085         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
31086         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
31087
31088 2008-12-20  Bruno Haible  <bruno@clisp.org>
31089
31090         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
31091         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
31092         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
31093         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
31094         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
31095
31096         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
31097         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
31098         set.
31099         (GNULIB_defined_mbstate_t): New macro.
31100         (mbsinit): Redefine if REPLACE_MBSINIT is set.
31101         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
31102         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
31103         reuses the system's mbrtowc function but works around the bugs.
31104         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
31105         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
31106         macros.
31107         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
31108         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
31109         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
31110         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
31111         REPLACE_MBSINIT if mbsinit needs to be overridden.
31112         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
31113         REPLACE_MBSINIT, REPLACE_MBRTOWC.
31114         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
31115         REPLACE_MBSINIT, REPLACE_MBRTOWC.
31116         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31117         m4/locale-zh.m4.
31118         (Depends): Add mbsinit.
31119         * modules/mbsinit (Depends): Add mbrtowc.
31120         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
31121
31122 2008-12-20  Bruno Haible  <bruno@clisp.org>
31123
31124         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
31125         so that there are no conversion errors on AIX.
31126         * tests/test-mbsrtowcs.c (main): LIkewise.
31127
31128 2008-12-20  Bruno Haible  <bruno@clisp.org>
31129
31130         Work around wctob bug on Solaris <= 9.
31131         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
31132         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
31133         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
31134         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
31135         * modules/wctob (Files): Add m4/locale-fr.m4.
31136         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
31137
31138 2008-12-20  Bruno Haible  <bruno@clisp.org>
31139
31140         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
31141         /dev/null.
31142         * tests/test-select-in.sh: Likewise.
31143         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31144
31145 2008-12-20  Bruno Haible  <bruno@clisp.org>
31146
31147         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
31148         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
31149         Cygwin 1.5.x.
31150
31151 2008-12-20  Bruno Haible  <bruno@clisp.org>
31152
31153         Ensure mbstate_t is defined on HP-UX 11.11.
31154         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
31155         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
31156         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
31157         AC_USE_SYSTEM_EXTENSIONS.
31158         * modules/fnmatch (Depends-on): Add extensions.
31159         * modules/mbrlen (Depends-on): Likewise.
31160         * modules/mbrtowc (Depends-on): Likewise.
31161         * modules/mbsinit (Depends-on): Likewise.
31162         * modules/mbsrtowcs (Depends-on): Likewise.
31163         * modules/mbswidth (Depends-on): Likewise.
31164         * modules/quotearg (Depends-on): Likewise.
31165         * modules/strftime (Depends-on): Likewise.
31166
31167 2008-12-20  Bruno Haible  <bruno@clisp.org>
31168
31169         Ensure wctob is declared on IRIX 6.5.
31170         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
31171         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
31172         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
31173         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
31174         of HAVE_WCTOB.
31175         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
31176         HAVE_WCTOB.
31177         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
31178
31179 2008-12-19  Bruno Haible  <bruno@clisp.org>
31180
31181         * modules/mbsrtowcs-tests: New file.
31182         * tests/test-mbsrtowcs1.sh: New file.
31183         * tests/test-mbsrtowcs2.sh: New file.
31184         * tests/test-mbsrtowcs3.sh: New file.
31185         * tests/test-mbsrtowcs4.sh: New file.
31186         * tests/test-mbsrtowcs.c: New file.
31187
31188         New module 'mbsrtowcs'.
31189         * lib/wchar.in.h (mbsrtowcs): New declaration.
31190         * lib/mbsrtowcs.c: New file.
31191         * m4/mbsrtowcs.m4: New file.
31192         * modules/mbsrtowcs: New file.
31193         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
31194         HAVE_MBSRTOWCS.
31195         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
31196         HAVE_MBSRTOWCS.
31197         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
31198
31199 2008-12-19  Bruno Haible  <bruno@clisp.org>
31200
31201         New module 'mbrlen'.
31202         * lib/wchar.in.h (mbrlen): New declaration.
31203         * lib/mbrlen.c: New file.
31204         * m4/mbrlen.m4: New file.
31205         * modules/mbrlen: New file.
31206         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
31207         HAVE_MBRLEN.
31208         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
31209         HAVE_MBRLEN.
31210         * doc/posix-functions/mbrlen.texi: Document the new module.
31211
31212 2008-12-19  Bruno Haible  <bruno@clisp.org>
31213
31214         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
31215         * modules/mbrtowc (Depends-on): Add verify.
31216         Suggested by Paul Eggert.
31217
31218 2008-12-18  Bruno Haible  <bruno@clisp.org>
31219
31220         * modules/mbsinit-tests: New file.
31221         * tests/test-mbsinit.sh: New file.
31222         * tests/test-mbsinit.c: New file.
31223
31224 2008-12-18  Bruno Haible  <bruno@clisp.org>
31225
31226         * modules/mbrtowc-tests: New file.
31227         * tests/test-mbrtowc1.sh: New file.
31228         * tests/test-mbrtowc2.sh: New file.
31229         * tests/test-mbrtowc3.sh: New file.
31230         * tests/test-mbrtowc4.sh: New file.
31231         * tests/test-mbrtowc.c: New file.
31232
31233         New module 'mbrtowc'.
31234         * lib/wchar.in.h (mbstate_t): Override when the system does not have
31235         mbsinit and mbrtowc.
31236         (mbrtowc): New declaration.
31237         * lib/mbrtowc.c: New file.
31238         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
31239         * modules/mbrtowc: New file.
31240         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
31241         HAVE_MBRTOWC.
31242         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
31243         HAVE_MBRTOWC.
31244         * doc/posix-functions/mbrtowc.texi: Document the new module.
31245
31246 2008-12-18  Bruno Haible  <bruno@clisp.org>
31247
31248         New module 'wctob'.
31249         * lib/wchar.in.h (wctob): New declaration.
31250         * lib/wctob.c: New file.
31251         * m4/wctob.m4: New file.
31252         * modules/wctob: New file.
31253         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
31254         HAVE_WCTOB.
31255         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
31256         * doc/posix-functions/wctob.texi: Document the new module.
31257
31258 2008-12-18  Bruno Haible  <bruno@clisp.org>
31259
31260         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
31261         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
31262
31263 2008-12-18  Simon Josefsson  <simon@josefsson.org>
31264
31265         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
31266         G. Christensen" <tgc@jupiterrise.com>.
31267
31268         * lib/flock.c: Need to include errno.h.  Reported by "Tom
31269         G. Christensen" <tgc@jupiterrise.com>.
31270
31271         * lib/flock.c: Need to include string.h.  Reported by "Tom
31272         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
31273         <ebb9@byu.net>.
31274
31275 2008-12-18  Bruno Haible  <bruno@clisp.org>
31276
31277         * m4/locale-ja.m4: New file, from GNU gettext.
31278
31279 2008-12-17  Bruno Haible  <bruno@clisp.org>
31280
31281         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
31282         Suggested by Eric Blake.
31283
31284 2008-12-17  Bruno Haible  <bruno@clisp.org>
31285
31286         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
31287
31288 2008-12-17  Bruno Haible  <bruno@clisp.org>
31289
31290         * lib/mbsinit.c: Include verify.h. Verify an assumption.
31291         * modules/mbsinit (Depends-on): Add verify.
31292         Suggested by Paul Eggert.
31293
31294 2008-12-17  Bruno Haible  <bruno@clisp.org>
31295
31296         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
31297         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
31298         gl_FUNC_MBRTOWC.
31299         * m4/mbiter.m4 (gl_MBITER): LIkewise.
31300         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
31301         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
31302         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
31303         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
31304         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
31305         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
31306         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
31307         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
31308         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
31309         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
31310         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
31311         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
31312         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
31313         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
31314         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
31315         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
31316         * modules/trim (configure.ac): Likewise.
31317
31318 2008-12-17  Bruno Haible  <bruno@clisp.org>
31319
31320         * modules/btowc-tests: New file.
31321         * tests/test-btowc1.sh: New file.
31322         * tests/test-btowc2.sh: New file.
31323         * tests/test-btowc.c: New file.
31324
31325         New module 'btowc'.
31326         * lib/wchar.in.h (btowc): New declaration.
31327         * lib/btowc.c: New file.
31328         * m4/btowc.m4: New file.
31329         * modules/btowc: New file.
31330         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
31331         HAVE_BTOWC.
31332         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
31333         * doc/posix-functions/btowc.texi: Document the new module.
31334
31335 2008-12-17  Bruno Haible  <bruno@clisp.org>
31336
31337         New module 'mbsinit'.
31338         * lib/wchar.in.h (mbsinit): New declaration.
31339         * lib/mbsinit.c: New file.
31340         * m4/mbsinit.m4: New file.
31341         * modules/mbsinit: New file.
31342         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
31343         HAVE_MBSINIT.
31344         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
31345         HAVE_MBSINIT.
31346         * doc/posix-functions/mbsinit.texi: Document the new module.
31347
31348 2008-12-16  Bruno Haible  <bruno@clisp.org>
31349
31350         * lib/unistd.in.h: Add comment.
31351         * tests/test-environ.c: Don't include <stdlib.h>.
31352
31353 2008-12-16  Bruno Haible  <bruno@clisp.org>
31354
31355         * lib/parse-duration.h (parse_duration): Document return value
31356         convention.
31357         * lib/parse-duration.c: Include specification header first. Add
31358         comments.
31359         (_): Remove macro.
31360         (parse_year_month_day, parse_hour_minute_second): Move side effects
31361         outside of strchr call.
31362         (parse_non_iso8601): Move side effects outside of isspace call.
31363         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
31364         call.
31365
31366 2008-12-16  Bruno Haible  <bruno@clisp.org>
31367
31368         * tests/test-parse-duration.sh: Produce no output when the test
31369         succeeds.
31370
31371 2008-12-16  Bruno Haible  <bruno@clisp.org>
31372
31373         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
31374         expressions.
31375
31376 2008-12-15  Bruno Haible  <bruno@clisp.org>
31377
31378         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
31379         * doc/glibc-functions/flistxattr.texi: Likewise.
31380         * doc/glibc-functions/fopencookie.texi: Likewise.
31381         * doc/glibc-functions/fremovexattr.texi: Likewise.
31382         * doc/glibc-functions/fsetxattr.texi: Likewise.
31383         * doc/glibc-functions/getxattr.texi: Likewise.
31384         * doc/glibc-functions/lgetxattr.texi: Likewise.
31385         * doc/glibc-functions/listxattr.texi: Likewise.
31386         * doc/glibc-functions/llistxattr.texi: Likewise.
31387         * doc/glibc-functions/lremovexattr.texi: Likewise.
31388         * doc/glibc-functions/lsetxattr.texi: Likewise.
31389         * doc/glibc-functions/removexattr.texi: Likewise.
31390         * doc/glibc-functions/setxattr.texi: Likewise.
31391         * doc/posix-functions/open_memstream.texi: Likewise.
31392
31393 2008-12-15  Eric Blake  <ebb9@byu.net>
31394
31395         Update doc for cygwin 1.7.
31396         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
31397         functions.
31398         * doc/posix-functions/fchmodat.texi: Likewise.
31399         * doc/posix-functions/fchownat.texi: Likewise.
31400         * doc/posix-functions/fdopendir.texi: Likewise.
31401         * doc/posix-functions/fmemopen.texi: Likewise.
31402         * doc/posix-functions/freeaddrinfo.texi: Likewise.
31403         * doc/posix-functions/fstatat.texi: Likewise.
31404         * doc/posix-functions/futimens.texi: Likewise.
31405         * doc/posix-functions/gai_strerror.texi: Likewise.
31406         * doc/posix-functions/getaddrinfo.texi: Likewise.
31407         * doc/posix-functions/getnameinfo.texi: Likewise.
31408         * doc/posix-functions/if_freenameindex.texi: Likewise.
31409         * doc/posix-functions/if_indextoname.texi: Likewise.
31410         * doc/posix-functions/if_nameindex.texi: Likewise.
31411         * doc/posix-functions/if_nametoindex.texi: Likewise.
31412         * doc/posix-functions/insque.texi: Likewise.
31413         * doc/posix-functions/linkat.texi: Likewise.
31414         * doc/posix-functions/llrint.texi: Likewise.
31415         * doc/posix-functions/llrintf.texi: Likewise.
31416         * doc/posix-functions/llrintl.texi: Likewise.
31417         * doc/posix-functions/lockf.texi: Likewise.
31418         * doc/posix-functions/lrintl.texi: Likewise.
31419         * doc/posix-functions/mkdirat.texi: Likewise.
31420         * doc/posix-functions/mkfifoat.texi: Likewise.
31421         * doc/posix-functions/mknodat.texi: Likewise.
31422         * doc/posix-functions/mq_close.texi: Likewise.
31423         * doc/posix-functions/mq_getattr.texi: Likewise.
31424         * doc/posix-functions/mq_notify.texi: Likewise.
31425         * doc/posix-functions/mq_open.texi: Likewise.
31426         * doc/posix-functions/mq_receive.texi: Likewise.
31427         * doc/posix-functions/mq_send.texi: Likewise.
31428         * doc/posix-functions/mq_setattr.texi: Likewise.
31429         * doc/posix-functions/mq_timedreceive.texi: Likewise.
31430         * doc/posix-functions/mq_timedsend.texi: Likewise.
31431         * doc/posix-functions/mq_unlink.texi: Likewise.
31432         * doc/posix-functions/open_memstream.texi: Likewise.
31433         * doc/posix-functions/openat.texi: Likewise.
31434         * doc/posix-functions/posix_fadvise.texi: Likewise.
31435         * doc/posix-functions/posix_fallocate.texi: Likewise.
31436         * doc/posix-functions/posix_madvise.texi: Likewise.
31437         * doc/posix-functions/posix_memalign.texi: Likewise.
31438         * doc/posix-functions/posix_openpt.texi: Likewise.
31439         * doc/posix-functions/readlinkat.texi: Likewise.
31440         * doc/posix-functions/remque.texi: Likewise.
31441         * doc/posix-functions/renameat.texi: Likewise.
31442         * doc/posix-functions/rintl.texi: Likewise.
31443         * doc/posix-functions/sem_unlink.texi: Likewise.
31444         * doc/posix-functions/shm_open.texi: Likewise.
31445         * doc/posix-functions/shm_unlink.texi: Likewise.
31446         * doc/posix-functions/signgam.texi: Likewise.
31447         * doc/posix-functions/sigset.texi: Likewise.
31448         * doc/posix-functions/stpcpy.texi: Likewise.
31449         * doc/posix-functions/stpncpy.texi: Likewise.
31450         * doc/posix-functions/strerror.texi: Likewise.
31451         * doc/posix-functions/strtod.texi: Likewise.
31452         * doc/posix-functions/symlinkat.texi: Likewise.
31453         * doc/posix-functions/unlinkat.texi: Likewise.
31454         * doc/posix-functions/utimensat.texi: Likewise.
31455         * doc/glibc-functions/bindresvport.texi: Likewise.
31456         * doc/glibc-functions/dn_expand.texi: Likewise.
31457         * doc/glibc-functions/exp10.texi: Likewise.
31458         * doc/glibc-functions/exp10f.texi: Likewise.
31459         * doc/glibc-functions/fgetxattr.texi: Likewise.
31460         * doc/glibc-functions/flistxattr.texi: Likewise.
31461         * doc/glibc-functions/fopencookie.texi: Likewise.
31462         * doc/glibc-functions/freeifaddrs.texi: Likewise.
31463         * doc/glibc-functions/fremovexattr.texi: Likewise.
31464         * doc/glibc-functions/fsetxattr.texi: Likewise.
31465         * doc/glibc-functions/getifaddrs.texi: Likewise.
31466         * doc/glibc-functions/getxattr.texi: Likewise.
31467         * doc/glibc-functions/lgetxattr.texi: Likewise.
31468         * doc/glibc-functions/listxattr.texi: Likewise.
31469         * doc/glibc-functions/llistxattr.texi: Likewise.
31470         * doc/glibc-functions/lremovexattr.texi: Likewise.
31471         * doc/glibc-functions/lsetxattr.texi: Likewise.
31472         * doc/glibc-functions/pow10.texi: Likewise.
31473         * doc/glibc-functions/pow10f.texi: Likewise.
31474         * doc/glibc-functions/rcmd_af.texi: Likewise.
31475         * doc/glibc-functions/removexattr.texi: Likewise.
31476         * doc/glibc-functions/res_init.texi: Likewise.
31477         * doc/glibc-functions/res_mkquery.texi: Likewise.
31478         * doc/glibc-functions/res_query.texi: Likewise.
31479         * doc/glibc-functions/res_querydomain.texi: Likewise.
31480         * doc/glibc-functions/res_send.texi: Likewise.
31481         * doc/glibc-functions/rresvport_af.texi: Likewise.
31482         * doc/glibc-functions/setxattr.texi: Likewise.
31483         * doc/glibc-functions/strcasestr.texi: Likewise.
31484
31485 2008-12-15  Bruno Haible  <bruno@clisp.org>
31486
31487         Fix compilation error on OSF/1 4.0.
31488         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
31489         <sys/time.h>, simply delegate to the system header.
31490         Reported by Daniel Richard G. <oss@teragram.com>.
31491
31492 2008-12-15  Bruno Haible  <bruno@clisp.org>
31493
31494         * doc/posix-functions/openat.texi: Mention the 'openat' module.
31495         * doc/posix-functions/fchmodat.texi: Likewise.
31496         * doc/posix-functions/fchownat.texi: Likewise.
31497         * doc/posix-functions/fdopendir.texi: Likewise.
31498         * doc/posix-functions/fstatat.texi: Likewise.
31499         * doc/posix-functions/mkdirat.texi: Likewise.
31500         * doc/posix-functions/unlinkat.texi: Likewise.
31501
31502 2008-12-14  Bruno Haible  <bruno@clisp.org>
31503
31504         Update doc for POSIX:2008.
31505         * doc/posix-functions/faccessat.texi: New file.
31506         * doc/posix-functions/fchmodat.texi: New file.
31507         * doc/posix-functions/fchownat.texi: New file.
31508         * doc/posix-functions/fdopendir.texi: New file.
31509         * doc/posix-functions/fstatat.texi: New file.
31510         * doc/posix-functions/futimens.texi: New file.
31511         * doc/posix-functions/linkat.texi: New file.
31512         * doc/posix-functions/mkdirat.texi: New file.
31513         * doc/posix-functions/mkfifoat.texi: New file.
31514         * doc/posix-functions/mknodat.texi: New file.
31515         * doc/posix-functions/open_wmemstream.texi: New file.
31516         * doc/posix-functions/openat.texi: New file.
31517         * doc/posix-functions/psiginfo.texi: New file.
31518         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
31519         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
31520         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
31521         * doc/posix-functions/readlinkat.texi: New file.
31522         * doc/posix-functions/renameat.texi: New file.
31523         * doc/posix-functions/strerror_l.texi: New file.
31524         * doc/posix-functions/symlinkat.texi: New file.
31525         * doc/posix-functions/unlinkat.texi: New file.
31526         * doc/posix-functions/utimensat.texi: New file.
31527         * doc/gnulib.texi (Function Substitutes): Add these subsections.
31528
31529 2008-12-14  Bruno Haible  <bruno@clisp.org>
31530
31531         Update doc for POSIX:2008.
31532         * doc/posix-functions/alphasort.texi: Renamed from
31533         doc/glibc-functions/alphasort.texi.
31534         * doc/posix-functions/dirfd.texi: Renamed from
31535         doc/glibc-functions/dirfd.texi.
31536         * doc/posix-functions/dprintf.texi: Renamed from
31537         doc/glibc-functions/dprintf.texi.
31538         * doc/posix-functions/duplocale.texi: Renamed from
31539         doc/glibc-functions/duplocale.texi.
31540         * doc/posix-functions/fexecve.texi: Renamed from
31541         doc/glibc-functions/fexecve.texi.
31542         * doc/posix-functions/fmemopen.texi: Renamed from
31543         doc/glibc-functions/fmemopen.texi.
31544         * doc/posix-functions/freelocale.texi: Renamed from
31545         doc/glibc-functions/freelocale.texi.
31546         * doc/posix-functions/getdate_err.texi: Renamed from
31547         doc/glibc-functions/getdate_err.texi.
31548         * doc/posix-functions/isalnum_l.texi: Renamed from
31549         doc/glibc-functions/isalnum_l.texi.
31550         * doc/posix-functions/isalpha_l.texi: Renamed from
31551         doc/glibc-functions/isalpha_l.texi.
31552         * doc/posix-functions/isblank_l.texi: Renamed from
31553         doc/glibc-functions/isblank_l.texi.
31554         * doc/posix-functions/iscntrl_l.texi: Renamed from
31555         doc/glibc-functions/iscntrl_l.texi.
31556         * doc/posix-functions/isdigit_l.texi: Renamed from
31557         doc/glibc-functions/isdigit_l.texi.
31558         * doc/posix-functions/isgraph_l.texi: Renamed from
31559         doc/glibc-functions/isgraph_l.texi.
31560         * doc/posix-functions/islower_l.texi: Renamed from
31561         doc/glibc-functions/islower_l.texi.
31562         * doc/posix-functions/isprint_l.texi: Renamed from
31563         doc/glibc-functions/isprint_l.texi.
31564         * doc/posix-functions/ispunct_l.texi: Renamed from
31565         doc/glibc-functions/ispunct_l.texi.
31566         * doc/posix-functions/isspace_l.texi: Renamed from
31567         doc/glibc-functions/isspace_l.texi.
31568         * doc/posix-functions/isupper_l.texi: Renamed from
31569         doc/glibc-functions/isupper_l.texi.
31570         * doc/posix-functions/iswalnum_l.texi: Renamed from
31571         doc/glibc-functions/iswalnum_l.texi.
31572         * doc/posix-functions/iswalpha_l.texi: Renamed from
31573         doc/glibc-functions/iswalpha_l.texi.
31574         * doc/posix-functions/iswblank_l.texi: Renamed from
31575         doc/glibc-functions/iswblank_l.texi.
31576         * doc/posix-functions/iswcntrl_l.texi: Renamed from
31577         doc/glibc-functions/iswcntrl_l.texi.
31578         * doc/posix-functions/iswctype_l.texi: Renamed from
31579         doc/glibc-functions/iswctype_l.texi.
31580         * doc/posix-functions/iswdigit_l.texi: Renamed from
31581         doc/glibc-functions/iswdigit_l.texi.
31582         * doc/posix-functions/iswgraph_l.texi: Renamed from
31583         doc/glibc-functions/iswgraph_l.texi.
31584         * doc/posix-functions/iswlower_l.texi: Renamed from
31585         doc/glibc-functions/iswlower_l.texi.
31586         * doc/posix-functions/iswprint_l.texi: Renamed from
31587         doc/glibc-functions/iswprint_l.texi.
31588         * doc/posix-functions/iswpunct_l.texi: Renamed from
31589         doc/glibc-functions/iswpunct_l.texi.
31590         * doc/posix-functions/iswspace_l.texi: Renamed from
31591         doc/glibc-functions/iswspace_l.texi.
31592         * doc/posix-functions/iswupper_l.texi: Renamed from
31593         doc/glibc-functions/iswupper_l.texi.
31594         * doc/posix-functions/iswxdigit_l.texi: Renamed from
31595         doc/glibc-functions/iswxdigit_l.texi.
31596         * doc/posix-functions/isxdigit_l.texi: Renamed from
31597         doc/glibc-functions/isxdigit_l.texi.
31598         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
31599         doc/glibc-functions/mbsnrtowcs.texi.
31600         * doc/posix-functions/mkdtemp.texi: Renamed from
31601         doc/glibc-functions/mkdtemp.texi.
31602         * doc/posix-functions/newlocale.texi: Renamed from
31603         doc/glibc-functions/newlocale.texi.
31604         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
31605         doc/glibc-functions/nl_langinfo_l.texi.
31606         * doc/posix-functions/open_memstream.texi: Renamed from
31607         doc/glibc-functions/open_memstream.texi.
31608         * doc/posix-functions/opterr.texi: Renamed from
31609         doc/glibc-functions/opterr.texi.
31610         * doc/posix-functions/optind.texi: Renamed from
31611         doc/glibc-functions/optind.texi.
31612         * doc/posix-functions/optopt.texi: Renamed from
31613         doc/glibc-functions/optopt.texi.
31614         * doc/posix-functions/psignal.texi: Renamed from
31615         doc/glibc-functions/psignal.texi.
31616         * doc/posix-functions/scandir.texi: Renamed from
31617         doc/glibc-functions/scandir.texi.
31618         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
31619         doc/glibc-functions/sched_get_priority_min.texi.
31620         * doc/posix-functions/signgam.texi: Renamed from
31621         doc/glibc-functions/signgam.texi.
31622         * doc/posix-functions/stpcpy.texi: Renamed from
31623         doc/glibc-functions/stpcpy.texi.
31624         * doc/posix-functions/stpncpy.texi: Renamed from
31625         doc/glibc-functions/stpncpy.texi.
31626         * doc/posix-functions/strcasecmp_l.texi: Renamed from
31627         doc/glibc-functions/strcasecmp_l.texi.
31628         * doc/posix-functions/strcoll_l.texi: Renamed from
31629         doc/glibc-functions/strcoll_l.texi.
31630         * doc/posix-functions/strfmon_l.texi: Renamed from
31631         doc/glibc-functions/strfmon_l.texi.
31632         * doc/posix-functions/strftime_l.texi: Renamed from
31633         doc/glibc-functions/strftime_l.texi.
31634         * doc/posix-functions/strncasecmp_l.texi: Renamed from
31635         doc/glibc-functions/strncasecmp_l.texi.
31636         * doc/posix-functions/strndup.texi: Renamed from
31637         doc/glibc-functions/strndup.texi.
31638         * doc/posix-functions/strnlen.texi: Renamed from
31639         doc/glibc-functions/strnlen.texi.
31640         * doc/posix-functions/strsignal.texi: Renamed from
31641         doc/glibc-functions/strsignal.texi.
31642         * doc/posix-functions/strxfrm_l.texi: Renamed from
31643         doc/glibc-functions/strxfrm_l.texi.
31644         * doc/posix-functions/timer_gettime.texi: Renamed from
31645         doc/glibc-functions/timer_gettime.texi.
31646         * doc/posix-functions/tolower_l.texi: Renamed from
31647         doc/glibc-functions/tolower_l.texi.
31648         * doc/posix-functions/toupper_l.texi: Renamed from
31649         doc/glibc-functions/toupper_l.texi.
31650         * doc/posix-functions/towctrans_l.texi: Renamed from
31651         doc/glibc-functions/towctrans_l.texi.
31652         * doc/posix-functions/towlower_l.texi: Renamed from
31653         doc/glibc-functions/towlower_l.texi.
31654         * doc/posix-functions/towupper_l.texi: Renamed from
31655         doc/glibc-functions/towupper_l.texi.
31656         * doc/posix-functions/uselocale.texi: Renamed from
31657         doc/glibc-functions/uselocale.texi.
31658         * doc/posix-functions/vdprintf.texi: Renamed from
31659         doc/glibc-functions/vdprintf.texi.
31660         * doc/posix-functions/wcpcpy.texi:
31661         Renamed from doc/glibc-functions/wcpcpy.texi.
31662         * doc/posix-functions/wcpncpy.texi: Renamed from
31663         doc/glibc-functions/wcpncpy.texi.
31664         * doc/posix-functions/wcscasecmp.texi: Renamed from
31665         doc/glibc-functions/wcscasecmp.texi.
31666         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
31667         doc/glibc-functions/wcscasecmp_l.texi.
31668         * doc/posix-functions/wcscoll_l.texi: Renamed from
31669         doc/glibc-functions/wcscoll_l.texi.
31670         * doc/posix-functions/wcsdup.texi: Renamed from
31671         doc/glibc-functions/wcsdup.texi.
31672         * doc/posix-functions/wcsncasecmp.texi: Renamed from
31673         doc/glibc-functions/wcsncasecmp.texi.
31674         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
31675         doc/glibc-functions/wcsncasecmp_l.texi.
31676         * doc/posix-functions/wcsnlen.texi: Renamed from
31677         doc/glibc-functions/wcsnlen.texi.
31678         * doc/posix-functions/wcsnrtombs.texi: Renamed from
31679         doc/glibc-functions/wcsnrtombs.texi.
31680         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
31681         doc/glibc-functions/wcsxfrm_l.texi.
31682         * doc/posix-functions/wctrans_l.texi: Renamed from
31683         doc/glibc-functions/wctrans_l.texi.
31684         * doc/posix-functions/wctype_l.texi: Renamed from
31685         doc/glibc-functions/wctype_l.texi.
31686         * doc/gnulib.texi (Function Substitutes): Add these subsections.
31687         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
31688         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
31689         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
31690         these subsections.
31691         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
31692         Remove sections.
31693
31694 2008-12-14  Bruno Haible  <bruno@clisp.org>
31695
31696         Update doc for POSIX:2008.
31697         * doc/posix-functions/*.texi: Update URL of POSIX specification.
31698
31699 2008-12-14  Bruno Haible  <bruno@clisp.org>
31700
31701         Update doc for POSIX:2008.
31702         * doc/pastposix-functions/bcmp.texi: Renamed from
31703         doc/posix-functions/bcmp.texi.
31704         * doc/pastposix-functions/bcopy.texi: Renamed from
31705         doc/posix-functions/bcopy.texi.
31706         * doc/pastposix-functions/bsd_signal.texi: Renamed from
31707         doc/posix-functions/bsd_signal.texi.
31708         * doc/pastposix-functions/bzero.texi: Renamed from
31709         doc/posix-functions/bzero.texi.
31710         * doc/pastposix-functions/ecvt.texi: Renamed from
31711         doc/posix-functions/ecvt.texi.
31712         * doc/pastposix-functions/fcvt.texi: Renamed from
31713         doc/posix-functions/fcvt.texi.
31714         * doc/pastposix-functions/ftime.texi: Renamed from
31715         doc/posix-functions/ftime.texi.
31716         * doc/pastposix-functions/gcvt.texi: Renamed from
31717         doc/posix-functions/gcvt.texi.
31718         * doc/pastposix-functions/getcontext.texi: Renamed from
31719         doc/posix-functions/getcontext.texi.
31720         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
31721         doc/posix-functions/gethostbyaddr.texi.
31722         * doc/pastposix-functions/gethostbyname.texi: Renamed from
31723         doc/posix-functions/gethostbyname.texi.
31724         * doc/pastposix-functions/getwd.texi: Renamed from
31725         doc/posix-functions/getwd.texi.
31726         * doc/pastposix-functions/h_errno.texi: Renamed from
31727         doc/posix-functions/h_errno.texi.
31728         * doc/pastposix-functions/index.texi: Renamed from
31729         doc/posix-functions/index.texi.
31730         * doc/pastposix-functions/makecontext.texi: Renamed from
31731         doc/posix-functions/makecontext.texi.
31732         * doc/pastposix-functions/mktemp.texi: Renamed from
31733         doc/posix-functions/mktemp.texi.
31734         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
31735         doc/posix-functions/pthread_attr_getstackaddr.texi.
31736         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
31737         doc/posix-functions/pthread_attr_setstackaddr.texi.
31738         * doc/pastposix-functions/rindex.texi: Renamed from
31739         doc/posix-functions/rindex.texi.
31740         * doc/pastposix-functions/scalb.texi: Renamed from
31741         doc/posix-functions/scalb.texi.
31742         * doc/pastposix-functions/setcontext.texi: Renamed from
31743         doc/posix-functions/setcontext.texi.
31744         * doc/pastposix-functions/swapcontext.texi: Renamed from
31745         doc/posix-functions/swapcontext.texi.
31746         * doc/pastposix-functions/ualarm.texi: Renamed from
31747         doc/posix-functions/ualarm.texi.
31748         * doc/pastposix-functions/usleep.texi: Renamed from
31749         doc/posix-functions/usleep.texi.
31750         * doc/pastposix-functions/vfork.texi: Renamed from
31751         doc/posix-functions/vfork.texi.
31752         * doc/pastposix-functions/wcswcs.texi: Renamed from
31753         doc/posix-functions/wcswcs.texi.
31754         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
31755         (Function Substitutes): Update.
31756
31757 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31758
31759         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
31760         m4/strerror.m4.
31761
31762 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31763             Bruno Haible  <bruno@clisp.org>
31764
31765         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
31766
31767 2008-12-13  Bruno Haible  <bruno@clisp.org>
31768
31769         * modules/strtoull (Depends-on): Remove unistd.
31770
31771 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31772
31773         * modules/strtoull (Depends-on): Add stdlib.
31774
31775 2008-12-11  Simon Josefsson  <simon@josefsson.org>
31776
31777         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
31778
31779 2008-12-10  Jim Meyering  <meyering@redhat.com>
31780
31781         gl_ASSERT: don't say assertions are disabled when they're not
31782         * m4/assert.m4 (gl_ASSERT): Do not make configure report
31783         "checking whether to enable assertions... no", when they are in
31784         fact enabled.  This is solely a bug in the output of configure.
31785         In spite of saying "no", NDEBUG was not defined in that case.
31786         Also, as noted by Eric Blake, leave assertions enabled upon
31787         --enable-assert=INVALID.
31788
31789 2008-12-10  Bruno Haible  <bruno@clisp.org>
31790
31791         Change MODULES.html to refer to POSIX:2008 where possible.
31792         * MODULES.html.sh (POSIX2008_URL): New variable.
31793         (posix_headers): Remove sys/timeb, ucontext.
31794         (posix2001_headers): New variable.
31795         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
31796         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
31797         index, makecontext, mktemp, pthread_attr_getstackaddr,
31798         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
31799         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
31800         (posix2001_functions): New variable.
31801         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
31802         otherwise.
31803
31804 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31805
31806         add missing include to parse-duration.c
31807         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
31808         * modules/parse-duration (Depends-on): Add xalloc.
31809
31810         fix sed script reading maint.mk
31811         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
31812         (syntax-check-rules): Use it.
31813
31814 2008-12-09  Bruno Haible  <bruno@clisp.org>
31815
31816         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
31817         MacOS X 10.4/PowerPC.
31818         Reported by Simon Josefsson.
31819
31820 2008-12-08  Jim Meyering  <meyering@redhat.com>
31821
31822         work around mingw's lack of some S_IF definitions
31823         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
31824         Reported by Simon Josefsson.
31825
31826 2008-12-08  Bruno Haible  <bruno@clisp.org>
31827
31828         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
31829         applied to variables. Needed on MacOS X 10.4/PowerPC.
31830         Reported by Simon Josefsson.
31831
31832 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
31833         and Eric Blake  <ebb9@byu.net>
31834
31835         assert: honor --enable-assert
31836         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
31837         order to honor --enable-assert, rather than treating it as a
31838         synonym for --disable-assert.
31839
31840 2008-12-08  Jim Meyering  <meyering@redhat.com>
31841
31842         * lib/posixtm.c: Remove now-useless declaration of mktime.
31843
31844         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
31845
31846 2008-12-07  Bruno Haible  <bruno@clisp.org>
31847
31848         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
31849         test_once): Mark functions as static.
31850         * tests/test-tls.c (test_tls): Likewise.
31851
31852 2008-12-07  Bruno Haible  <bruno@clisp.org>
31853
31854         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
31855         iconv_register_autodetect.
31856
31857 2008-12-07  Jim Meyering  <meyering@redhat.com>
31858
31859         posixtm.c: avoid a warning
31860         * lib/posixtm.c (posixtime): Don't initialize tm0.
31861         It's no longer needed to placate gcc4's -Wuninitialized,
31862         and the attempt to placate would elicit a new warning.
31863
31864         unicodeio.c: mark unused parameters
31865         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
31866         (fallback_failure_callback): Likewise.
31867
31868 2008-12-07  Bruno Haible  <bruno@clisp.org>
31869
31870         * gnulib-tool (func_create_testdir): When building the tests
31871         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
31872         Reported by Simon Josefsson.
31873
31874 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31875
31876         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
31877
31878 2008-12-06  Bruno Haible  <bruno@clisp.org>
31879
31880         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
31881         Suggested by Eric Blake.
31882
31883 2008-12-06  Bruno Haible  <bruno@clisp.org>
31884
31885         Fix a c-stack test failure on MacOS X.
31886         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
31887         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
31888         handler for SIGBUS as well.
31889         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
31890         install a signal handler for SIGBUS as well.
31891         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
31892
31893 2008-12-06  Bruno Haible  <bruno@clisp.org>
31894
31895         Advocacy documentation.
31896         * doc/gnulib-intro.texi (Benefits): New section.
31897         * doc/gnulib.texi: Update.
31898
31899 2008-12-06  Bruno Haible  <bruno@clisp.org>
31900
31901         Document the 'manywarnings' module.
31902         * doc/manywarnings.texi: New file.
31903         * doc/gnulib.texi: Include it.
31904
31905 2008-12-05  Eric Blake  <ebb9@byu.net>
31906
31907         tests: silence some gcc warnings
31908         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
31909         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
31910         type mismatches.
31911
31912 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31913             Bruno Haible  <bruno@clisp.org>
31914
31915         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
31916
31917 2008-11-29  Jim Meyering  <meyering@redhat.com>
31918
31919         unicodeio.c: mark unused parameters
31920         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
31921         (fallback_failure_callback): Likewise.
31922
31923         fts: fix a thinko
31924         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
31925         (set_stat_type): Return S_IF*-valued "type" directly.
31926         Prompted by James Youngman's spotting a related bug.
31927         Confirmed by further testing through find.
31928
31929         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
31930         * lib/fts.c (D_TYPE): Define.
31931         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
31932         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
31933         (s_ifmt_shift_bits): New function.
31934         (set_stat_type): New function.
31935         (fts_build): When not calling fts_stat, call set_stat_type
31936         to propagate dirent.d_type info to fts_read caller.
31937         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
31938         fts_statp->st_mode type information may be valid.
31939
31940 2008-11-28  Simon Josefsson  <simon@josefsson.org>
31941
31942         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
31943         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
31944         <sds@gnu.org>.
31945
31946 2008-11-20  Bruno Haible  <bruno@clisp.org>
31947
31948         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
31949         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
31950         INCLUDE_NEXT.
31951         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
31952         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
31953         * modules/math (Makefile.am): Substitute
31954         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
31955         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
31956
31957 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
31958             Bruno Haible  <bruno@clisp.org>
31959
31960         * lib/stdint.in.h: Define all type macros so that their expansion is
31961         a single typedef'ed token. Fixes a compilation failure in Boost which
31962         does "using ::int8_t;".
31963
31964 2008-11-18  Simon Josefsson  <simon@josefsson.org>
31965
31966         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
31967         gl_MANYWARN_ALL_GCC.
31968         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
31969         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
31970         * modules/manywarnings: New file.
31971         * MODULES.html.sh: Mention manywarnings module.
31972
31973 2008-11-18  Bruno Haible  <bruno@clisp.org>
31974
31975         * doc/gnulib-tool.texi (Unit tests): New section.
31976
31977 2008-11-18  Simon Josefsson  <simon@josefsson.org>
31978
31979         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
31980         paths like 'lib/po/foo.po'.
31981
31982 2008-11-17  Simon Josefsson  <simon@josefsson.org>
31983
31984         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
31985         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
31986
31987 2008-11-17  Simon Josefsson  <simon@josefsson.org>
31988
31989         * m4/warnings.m4: Use CPPFLAGS to really check whether the
31990         parameter works.
31991
31992 2008-11-17  Simon Josefsson  <simon@josefsson.org>
31993
31994         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
31995
31996 2008-11-17  Bruce Korb  <bkorb@gnu.org>
31997
31998         * modules/parse-duration-tests: New file.
31999         * tests/test-parse-duration.sh: New file.
32000         * tests/test-parse-duration.c: New file.
32001
32002         New module 'parse-duration'.
32003         * lib/parse-duration.h: New file.
32004         * lib/parse-duration.c: New file.
32005         * modules/parse-duration: New file.
32006
32007 2008-11-17  Bruno Haible  <bruno@clisp.org>
32008
32009         * tests/test-select-out.sh: Comment out the first pipe test.
32010         Reported by Simon Josefsson.
32011
32012 2008-11-17  Bruno Haible  <bruno@clisp.org>
32013
32014         * modules/getaddrinfo (Depends-on): Add servent, hostent.
32015         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
32016         gl_HOSTENT.
32017
32018 2008-11-17  Bruno Haible  <bruno@clisp.org>
32019
32020         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
32021         -lnetwork and -lnet. Needed for Haiku and BeOS.
32022
32023 2008-11-16  Bruno Haible  <bruno@clisp.org>
32024
32025         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
32026
32027 2008-11-16  Bruno Haible  <bruno@clisp.org>
32028
32029         Avoid test failure on Haiku.
32030         * tests/test-fsync.c: Include <errno.h>.
32031         (main): Don't require that fsync (0) fails.
32032
32033 2008-11-15  Bruno Haible  <bruno@clisp.org>
32034
32035         New module 'hostent'.
32036         * modules/hostent: New file.
32037         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
32038
32039 2008-11-15  Bruno Haible  <bruno@clisp.org>
32040
32041         New module 'servent'.
32042         * modules/servent: New file.
32043         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
32044
32045 2008-11-15  Bruno Haible  <bruno@clisp.org>
32046
32047         Avoid generating same test program with two different rules.
32048         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
32049         test-frexp to test-frexp-nolibm.
32050         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
32051         test-frexpl to test-frexpl-nolibm.
32052
32053 2008-11-15  Bruno Haible  <bruno@clisp.org>
32054
32055         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
32056         $(FREXPL_LIBM).
32057
32058 2008-11-15  Bruno Haible  <bruno@clisp.org>
32059
32060         * lib/netdb.in.h: Activate the definitions also when the system's
32061         <netdb.h> has 'struct addrinfo'.
32062         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
32063         EAI_OVERFLOW or AI_NUMERICSERV.
32064         * doc/posix-headers/netdb.texi: Document the problem.
32065
32066 2008-11-15  Bruno Haible  <bruno@clisp.org>
32067
32068         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
32069
32070         Make the 'sched' module work on platforms where <sched.h> exists but
32071         is incomplete (such as Haiku).
32072         * lib/sched.in.h; Include the system's <sched.h> if it exists.
32073         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
32074         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
32075         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
32076         HAVE_STRUCT_SCHED_PARAM.
32077         * modules/sched (Depends-on): Add include_next.
32078         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
32079         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
32080         * doc/posix-headers/sched.texi: Document the issue.
32081
32082 2008-11-13  Jim Meyering  <meyering@redhat.com>
32083
32084         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
32085         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
32086         test would fail due to the difference in the Report bugs to ...
32087         line.  The expected address is empty, "<>", while the actual
32088         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
32089
32090 2008-11-12  Bruno Haible  <bruno@clisp.org>
32091
32092         lstat: don't compile lstat.c on systems lacking lstat
32093         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
32094         which don't have lstat; this is handled by lib/sys_stat.in.h already.
32095         Reported by Daniel P. Berrange via Jim Meyering.
32096
32097 2008-11-12  Jim Meyering  <meyering@redhat.com>
32098
32099         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
32100
32101 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32102
32103         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
32104         instead.
32105
32106 2008-11-12  Bruno Haible  <bruno@clisp.org>
32107
32108         * lib/unicodeio.c: Include unistr.h.
32109         (utf8_wctomb): Remove function.
32110         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
32111
32112 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32113
32114         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
32115         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
32116         <bruno@clisp.org>.
32117         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
32118
32119 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32120
32121         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
32122         * doc/gnulib.texi: Add section for warnings.
32123
32124 2008-11-11  Bruno Haible  <bruno@clisp.org>
32125
32126         * lib/sockets.h: Add a comment.
32127
32128 2008-11-11  Karl Berry  <karl@gnu.org>
32129
32130         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
32131
32132 2008-11-11  Eric Blake  <ebb9@byu.net>
32133
32134         fdl.texi: avoid git symlinks
32135         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
32136
32137 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32138
32139         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
32140
32141 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32142
32143         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
32144         (gl_WARN_ADD): Substitute $2 if literal.
32145
32146 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32147
32148         * m4/warning.m4: Remove.
32149
32150 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32151
32152         * m4/warnings.m4: Almost complete rewrite. :-)
32153
32154 2008-11-10  Simon Josefsson  <simon@josefsson.org>
32155
32156         * modules/warnings: New module.
32157         * m4/warnings.m4: New file.
32158         * MODULES.html.sh: Mention warnings module.
32159         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
32160         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32161
32162 2008-11-10  Eric Blake  <ebb9@byu.net>
32163
32164         fdl.texi: make a symlink to the latest version
32165         * doc/standards.texi: Revert today's earlier change.
32166         * doc/fdl-1.2.texi: Rename from old fdl.texi...
32167         * doc/fdl.texi: ...and replace this with a symlink to the newer
32168         fdl-1.3.texi.
32169
32170 2008-11-10  Bruno Haible  <bruno@clisp.org>
32171
32172         * tests/test-select-fd.c (main): Accept the result file name as fourth
32173         argument.
32174         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
32175         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
32176
32177 2008-11-10  Bruno Haible  <bruno@clisp.org>
32178
32179         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
32180         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
32181         as autoconf-substituted macros.
32182         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
32183         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
32184         gl_NETDB_H_DEFAULTS. Set these variables.
32185         * modules/netdb (Makefile.am): Substitute these variables.
32186
32187 2008-11-10  Eric Blake  <ebb9@byu.net>
32188
32189         standards.texi: include correct file for FDL 1.3
32190         * doc/standards.texi (GNU Free Documentation License): Change
32191         include file to pull in FDL 1.3, not 1.2.
32192
32193         fdl.texi: revert accidental change to license
32194         * doc/fdl.texi: This is FDL 1.2, not 1.3.
32195
32196 2008-11-10  Bruno Haible  <bruno@clisp.org>
32197
32198         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
32199         cross-compiling guesses also when the native compile gives no result.
32200
32201 2008-11-10  Bruno Haible  <bruno@clisp.org>
32202
32203         * lib/spawni.c (__spawni): Force variable into the stack.
32204
32205 2008-11-10  Bruno Haible  <bruno@clisp.org>
32206
32207         Add support for Haiku.
32208         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
32209         glibc and BeOS, but also on Haiku.
32210         * lib/fpurge.c (fpurge): Likewise.
32211         * lib/freadable.c (freadable): Likewise.
32212         * lib/freadahead.c (freadahead): Likewise.
32213         * lib/freading.c (freading): Likewise.
32214         * lib/freadptr.c (freadptr): Likewise.
32215         * lib/freadseek.c (freadptrinc): Likewise.
32216         * lib/fseeko.c (rpl_fseeko): Likewise.
32217         * lib/fseterr.c (fseterr): Likewise.
32218         * lib/fwritable.c (fwritable): Likewise.
32219         * lib/fwriting.c (fwriting): Likewise.
32220         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
32221
32222 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
32223
32224         * lib/config.charset: Treat Haiku like BeOS.
32225
32226 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
32227
32228         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
32229         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
32230
32231 2008-11-08  Bruno Haible  <bruno@clisp.org>
32232
32233         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
32234         AC_CACHE_CHECK.
32235
32236 2008-11-08  Bruno Haible  <bruno@clisp.org>
32237
32238         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
32239
32240 2008-11-08  Bruno Haible  <bruno@clisp.org>
32241
32242         * tests/test-select-fd.c: New file.
32243         * tests/test-select-in.sh: New file.
32244         * tests/test-select-out.sh: New file.
32245         * tests/test-select-stdin.c: New file.
32246         * modules/select-tests (Files): Add the new files.
32247         (Depends-on): Add gettimeofday.
32248         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
32249         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
32250         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
32251
32252 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
32253             Bruno Haible  <bruno@clisp.org>
32254
32255         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
32256
32257 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
32258
32259         * build-aux/pmccabe2html: Added support for C++ source files.
32260
32261 2008-11-05  Ben Pfaff  <blp@gnu.org>
32262
32263         Fix lib/close.c build on Windows.
32264         * modules/close (Files): Add lib/w32sock.h.
32265
32266 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
32267
32268         Accept Bison's NEWS format.
32269         * build-aux/announce-gen (print_news_deltas): Tweak
32270         $re_prefix.
32271
32272 2008-11-04  Bruno Haible  <bruno@clisp.org>
32273
32274         * modules/random_r (Maintainer): Add glibc.
32275
32276 2008-11-04  Simon Josefsson  <simon@josefsson.org>
32277
32278         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
32279         by karl@freefriends.org (Karl Berry).
32280         * doc/alloca.texi: Likewise.
32281         * doc/c-ctype.texi: Likewise.
32282         * doc/c-strcase.texi: Likewise.
32283         * doc/c-strcaseeq.texi: Likewise.
32284         * doc/c-strcasestr.texi: Likewise.
32285         * doc/c-strstr.texi: Likewise.
32286         * doc/c-strtod.texi: Likewise.
32287         * doc/c-strtold.texi: Likewise.
32288         * doc/ctime.texi: Likewise.
32289         * doc/error.texi: Likewise.
32290         * doc/fdl.texi: Likewise.
32291         * doc/gcd.texi: Likewise.
32292         * doc/getdate.texi: Likewise.
32293         * doc/gnulib-intro.texi: Likewise.
32294         * doc/gnulib-tool.texi: Likewise.
32295         * doc/gnulib.texi: Likewise.
32296         * doc/inet_ntoa.texi: Likewise.
32297         * doc/maintain.texi: Likewise.
32298         * doc/make-stds.texi: Likewise.
32299         * doc/quote.texi: Likewise.
32300         * doc/regexprops-generic.texi: Likewise.
32301         * doc/standards.texi: Likewise.
32302         * doc/verify.texi: Likewise.
32303         * doc/visibility.texi: Likewise.
32304         * doc/gnulib.texi (GNU Free Documentation License): Include
32305         fdl-1.3.texi instead of fdl.texi.
32306
32307 2008-11-04  Simon Josefsson  <simon@josefsson.org>
32308
32309         * doc/fdl-1.3.texi: New file, from
32310         <http://www.gnu.org/licenses/fdl-1.3.texi>.
32311         * modules/fdl-1.3: Add.
32312         * MODULES.html.sh: Add fdl-1.3.
32313
32314 2008-11-03  Bruno Haible  <bruno@clisp.org>
32315
32316         Make determination of absolute name of header file work with AIX xlc.
32317         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
32318         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
32319         preprocessing.
32320         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
32321         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
32322
32323 2008-11-03  Simon Josefsson  <simon@josefsson.org>
32324
32325         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
32326         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
32327         <ludo@gnu.org>.
32328
32329 2008-11-02  Bruno Haible  <bruno@clisp.org>
32330
32331         Mark 'strpbrk' obsolete.
32332         * modules/strpbrk (Status, Notice): New sections.
32333         * modules/strtok_r (Depends-on): Add strpbrk.
32334
32335 2008-11-02  Bruno Haible  <bruno@clisp.org>
32336
32337         Mark 'strdup' obsolete.
32338         * modules/strdup (Status, Notice): New sections.
32339         * modules/findprog (Depends-on): Add strdup.
32340         * modules/getaddrinfo (Depends-on): Likewise.
32341         * modules/localename (Depends-on): Likewise.
32342         * modules/relocatable-lib (Depends-on): Likewise.
32343         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
32344         * modules/relocatable-prog (Depends-on): Likewise.
32345         * modules/trim (Depends-on): Likewise.
32346         * modules/unictype/gen-ctype (Depends-on): Likewise.
32347         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
32348
32349 2008-11-02  Bruno Haible  <bruno@clisp.org>
32350
32351         Mark 'strcspn' obsolete.
32352         * modules/strcspn (Status, Notice): New sections.
32353
32354 2008-11-02  Bruno Haible  <bruno@clisp.org>
32355
32356         Mark 'rmdir' obsolete.
32357         * modules/rmdir (Status, Notice): New sections.
32358         * modules/clean-temp (Depends-on): Add rmdir.
32359         * modules/openat (Depends-on): Likewise.
32360
32361 2008-11-02  Bruno Haible  <bruno@clisp.org>
32362
32363         Mark 'raise' obsolete.
32364         * modules/raise (Status, Notice): New sections.
32365         (Include): Specify <signal.h>.
32366         * modules/stdio (Depends-on): Add raise.
32367         * modules/write (Depends-on): Likewise.
32368
32369 2008-11-02  Bruno Haible  <bruno@clisp.org>
32370
32371         Mark 'memset' obsolete.
32372         * modules/memset (Status, Notice): New sections.
32373
32374 2008-11-02  Bruno Haible  <bruno@clisp.org>
32375
32376         Mark 'memmove' obsolete.
32377         * modules/memmove (Status, Notice): New sections.
32378         * modules/argp (Depends-on): Add memmove.
32379         * modules/argz (Depends-on): Likewise.
32380         * modules/canonicalize (Depends-on): Likewise.
32381         * modules/canonicalize-lgpl (Depends-on): Likewise.
32382         * modules/fts (Depends-on): Likewise.
32383         * modules/getcwd (Depends-on): Likewise.
32384         * modules/human (Depends-on): Likewise.
32385         * modules/regex (Depends-on): Likewise.
32386         * modules/striconveh (Depends-on): Likewise.
32387         * modules/trim (Depends-on): Likewise.
32388         * modules/unistr/u8-move (Depends-on): Likewise.
32389         * modules/unistr/u16-move (Depends-on): Likewise.
32390         * modules/unistr/u32-move (Depends-on): Likewise.
32391
32392 2008-11-02  Bruno Haible  <bruno@clisp.org>
32393
32394         Mark 'memcpy' obsolete.
32395         * modules/memcpy (Status, Notice): New sections.
32396
32397 2008-11-02  Bruno Haible  <bruno@clisp.org>
32398
32399         Mark 'memcmp' obsolete.
32400         * modules/memcmp (Status, Notice): New sections.
32401         * modules/argmatch (Depends-on): Add memchr.
32402         * modules/backupfile (Depends-on): Likewise.
32403         * modules/c-strcasestr (Depends-on): Likewise.
32404         * modules/crypto/des (Depends-on): Likewise.
32405         * modules/csharpcomp (Depends-on): Likewise.
32406         * modules/fnmatch (Depends-on): Likewise.
32407         * modules/git-merge-changelog (Depends-on): Likewise.
32408         * modules/isnand (Depends-on): Likewise.
32409         * modules/isnand-nolibm (Depends-on): Likewise.
32410         * modules/isnanf (Depends-on): Likewise.
32411         * modules/isnanf-nolibm (Depends-on): Likewise.
32412         * modules/isnanl (Depends-on): Likewise.
32413         * modules/isnanl-nolibm (Depends-on): Likewise.
32414         * modules/mbchar (Depends-on): Likewise.
32415         * modules/memcoll (Depends-on): Likewise.
32416         * modules/quotearg (Depends-on): Likewise.
32417         * modules/regex (Depends-on): Likewise.
32418         * modules/relocatable-prog (Depends-on): Likewise.
32419         * modules/same (Depends-on): Likewise.
32420         * modules/signbit (Depends-on): Likewise.
32421         * modules/strcasestr-simple (Depends-on): Likewise.
32422         * modules/unictype/gen-ctype (Depends-on): Likewise.
32423         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
32424         * modules/uniname/uniname (Depends-on): Likewise.
32425         * modules/unistr/u8-cmp (Depends-on): Likewise.
32426
32427 2008-11-02  Bruno Haible  <bruno@clisp.org>
32428
32429         Mark 'memchr' obsolete.
32430         * modules/memchr (Status, Notice): New sections.
32431         * modules/argp (Depends-on): Add memchr.
32432         * modules/base64 (Depends-on): Likewise.
32433         * modules/c-strcasestr (Depends-on): Likewise.
32434         * modules/chdir-long (Depends-on): Likewise.
32435         * modules/fnmatch (Depends-on): Likewise.
32436         * modules/getsubopt (Depends-on): Likewise.
32437         * modules/git-merge-changelog (Depends-on): Likewise.
32438         * modules/glob (Depends-on): Likewise.
32439         * modules/strcasestr-simple (Depends-on): Likewise.
32440         * modules/strnlen (Depends-on): Likewise.
32441
32442 2008-11-02  Bruno Haible  <bruno@clisp.org>
32443
32444         Mark 'atexit' obsolete.
32445         * modules/atexit (Status, Notice): New sections.
32446         * modules/chdir-long (Depends-on): Add atexit.
32447         * modules/wait-process (Depends-on): Likewise.
32448
32449 2008-11-02  Bruno Haible  <bruno@clisp.org>
32450
32451         * gnulib-tool: New option --with-obsolete.
32452         (func_usage): Document it.
32453         (func_modules_transitive_closure): Drop obsolete dependencies if
32454         incobsolete is not true.
32455         (func_import): Read and save the incobsolete variable to the cache.
32456
32457 2008-11-02  Bruno Haible  <bruno@clisp.org>
32458
32459         * modules/TEMPLATE-EXTENDED: New field 'Status'.
32460         * gnulib-tool: New option --extract-status.
32461         (func_usage): Document it.
32462         (sed_extract_prog): Recognize it.
32463         (func_get_status): New function.
32464
32465 2008-10-30  Simon Josefsson  <simon@josefsson.org>
32466
32467         * modules/sockets (License): Change from LGPL to LGPLv2+.
32468
32469 2008-10-28  Simon Josefsson  <simon@josefsson.org>
32470
32471         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
32472
32473 2008-10-28  Simon Josefsson  <simon@josefsson.org>
32474
32475         * MODULES.html.sh (Support for systems lacking POSIX:2001):
32476         Mention times and sys_times.
32477         * modules/sys_times, modules/sys_times-tests: New modules.
32478         * modules/times, modules/times-tests: Likewise
32479         * m4/sys_times_h.m4: New file.
32480         * lib/sys_times.in.h: Likewise
32481         * lib/times.c: Likewise.
32482         * tests/test-sys_times.c: Likewise.
32483         * tests/test-times.c: Likewise.
32484         * doc/posix-headers/sys_times.texi: Update.
32485         * doc/posix-functions/times.texi: Update.
32486
32487 2008-10-28  Jim Meyering  <meyering@redhat.com>
32488
32489         * modules/tempname (Depends-on): Add lstat.
32490
32491         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
32492
32493 2008-10-28  Simon Josefsson  <simon@josefsson.org>
32494
32495         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
32496         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
32497         using idiom used elsewhere in gnulib.
32498
32499 2008-10-27  Jim Meyering  <meyering@redhat.com>
32500
32501         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
32502
32503 2008-10-27  Simon Josefsson  <simon@josefsson.org>
32504
32505         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
32506         TESTS_ENVIRONMENT, for shell scripts that needs to call built
32507         programs.
32508         * tests/test-argp-2.sh: Use $EXEEXT when needed.
32509
32510 2008-10-27  Simon Josefsson  <simon@josefsson.org>
32511
32512         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
32513
32514 2008-10-27  Bruno Haible  <bruno@clisp.org>
32515
32516         * tests/test-lstat.c: Include <stdio.h>.
32517
32518 2008-10-27  Simon Josefsson  <simon@josefsson.org>
32519
32520         * modules/lstat-tests: New module.
32521         * tests/test-lstat.c: New file.
32522
32523 2008-10-26  Jim Meyering  <meyering@redhat.com>
32524
32525         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
32526
32527 2008-10-26  Simon Josefsson  <simon@josefsson.org>
32528             Bruno Haible  <bruno@clisp.org>
32529
32530         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
32531         * modules/configmake (Include): Add a note that the include must come
32532         after all system headers.
32533         * lib/javaversion.c: Include configmake.h after all other includes.
32534
32535 2008-10-26  Bruno Haible  <bruno@clisp.org>
32536
32537         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
32538         HAVE_STRUCT_RANDOM_DATA to 1.
32539         (gl_STDLIB_H): Simplify.
32540
32541 2008-10-26  Simon Josefsson  <simon@josefsson.org>
32542
32543         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
32544         substitute HAVE_STRUCT_RANDOM_DATA.
32545         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
32546         random_data.
32547         * modules/stdlib (Makefile.am): Substitute
32548         HAVE_STRUCT_RANDOM_DATA.
32549
32550 2008-10-26  Simon Josefsson  <simon@josefsson.org>
32551
32552         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
32553         * doc/gnulib-intro.texi (Copyright): Likewise.
32554
32555 2008-10-26  Simon Josefsson  <simon@josefsson.org>
32556
32557         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
32558         findings.
32559
32560 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
32561             Bruno Haible  <bruno@clisp.org>
32562
32563         * lib/unistd.in.h: Include <winsock2.h>.
32564         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
32565         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
32566         Provide dummy declarations.
32567         (gethostname): Override.
32568         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
32569         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
32570         gl_PREREQ_SYS_H_WINSOCK2.
32571         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
32572         * doc/posix-functions/gethostname.texi: More details.
32573
32574 2008-10-25  Bruno Haible  <bruno@clisp.org>
32575
32576         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
32577         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
32578         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
32579
32580         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
32581         here ...
32582         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
32583         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
32584         gl_UNISTD_H_DEFAULTS.
32585
32586 2008-10-25  Eric Blake  <ebb9@byu.net>
32587
32588         signbit: avoid spurious compiler failure
32589         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
32590         declarations inside function.
32591
32592 2008-10-24  Simon Josefsson  <simon@josefsson.org>
32593             Bruno Haible  <bruno@clisp.org>
32594
32595         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
32596         * modules/random_r (Depends-on): Add stdint.
32597
32598 2008-10-24  Bruno Haible  <bruno@clisp.org>
32599
32600         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
32601         Eggert.
32602         * modules/strerror (License): Likewise.
32603
32604 2008-10-24  Jim Meyering  <meyering@redhat.com>
32605
32606         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
32607         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
32608
32609 2008-10-24  Eric Blake  <ebb9@byu.net>
32610
32611         getgroups: fix compilation when getgroups is available
32612         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
32613         but with <config.h> override of getgroups disabled.
32614
32615 2008-10-24  Simon Josefsson  <simon@josefsson.org>
32616
32617         * doc/gnulib.texi (Header files): Add note about C++ problems.
32618         Explained by Bruno Haible <bruno@clisp.org>.
32619
32620 2008-10-23  Bruno Haible  <bruno@clisp.org>
32621
32622         Define a dummy SA_NODEFER macro on Interix.
32623         * lib/signal.in.h (SA_NODEFER): Define fallback.
32624         Reported by Aleksey Cheusov <cheusov@tut.by> via
32625         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
32626
32627 2008-10-23  Bruno Haible  <bruno@clisp.org>
32628
32629         * modules/freadahead (License): Change to LGPLv2+.
32630         Suggested by Simon Josefsson.
32631
32632 2008-10-23  Jim Meyering  <meyering@redhat.com>
32633
32634         random_r: new module
32635         * modules/random_r: New file.
32636         * m4/random_r.m4: New file.
32637         * lib/random_r.c: New file, from glibc.
32638         * modules/random_r-tests: New file.
32639         * tests/test-random_r.c: New file.
32640         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
32641          Declare.
32642         (RAND_MAX): Define.
32643         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
32644         * modules/stdlib: Substitute them, too.
32645         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
32646         * doc/glibc-functions/initstate_r.texi: Mention the new module.
32647         * doc/glibc-functions/random_r.texi: Likewise.
32648         * doc/glibc-functions/setstate_r.texi: Likewise.
32649         * doc/glibc-functions/srandom_r.texi: Likewise.
32650         * config/srclist.txt: Mention it.
32651
32652 2008-10-23  David Lutterkort  <lutter@redhat.com>
32653
32654         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
32655         link requirement
32656
32657 2008-10-23  Jim Meyering  <meyering@redhat.com>
32658
32659         selinux-h: mark parameters of stub functions as intentionally unused
32660         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
32661         * lib/se-context.in.h: Likewise.
32662
32663 2008-10-22  Simon Josefsson  <simon@josefsson.org>
32664
32665         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
32666
32667 2008-10-22  Simon Josefsson  <simon@josefsson.org>
32668
32669         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
32670
32671 2008-10-22  Eric Blake  <ebb9@byu.net>
32672
32673         glthread/thread: avoid compiler warning
32674         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
32675         Add unreachable abort to silence compiler.
32676
32677 2008-10-22  Eric Blake  <ebb9@byu.net>
32678
32679         netdb: also supply struct addrinfo for cygwin 1.5.x
32680         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
32681         older cygwin.
32682         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
32683         cygwin.
32684         * doc/posix-headers/netdb.texi (netdb.h): Document this.
32685
32686 2008-10-22  Bruno Haible  <bruno@clisp.org>
32687
32688         * users.txt: Update entry about pspp.
32689
32690 2008-10-21  Bruno Haible  <bruno@clisp.org>
32691
32692         Simplification.
32693         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
32694         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
32695
32696         Simplification.
32697         * lib/ioctl.c (ioctl): Don't undefine.
32698         * lib/socket.c (socket): Don't undefine.
32699
32700         Remove unused module indicator macros.
32701         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
32702         GNULIB_$1 as a C macro.
32703
32704         * doc/posix-functions/close.texi: Undo last change.
32705         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
32706         Windows platforms.
32707
32708 2008-10-21  Bruno Haible  <bruno@clisp.org>
32709
32710         Add gethostname() declaration to <unistd.h>.
32711         * lib/unistd.in.h (gethostname): New declaration.
32712         * lib/gethostname.c: Include <unistd.h>.
32713         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
32714         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
32715         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
32716         and HAVE_GETHOSTNAME.
32717         * modules/gethostname (Depends-on): Add unistd.
32718         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
32719         (Include): Specify <unistd.h>.
32720         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
32721         HAVE_GETHOSTNAME.
32722         * tests/test-gethostname.c: Include <unistd.h> first.
32723
32724 2008-10-21  Bruno Haible  <bruno@clisp.org>
32725
32726         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
32727         * modules/select-tests (Depends-on): Likewise.
32728         Reported by Simon Josefsson.
32729
32730 2008-10-21  Simon Josefsson  <simon@josefsson.org>
32731
32732         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
32733         * lib/accept.c: New file, based on winsock.c.
32734         * lib/bind.c: New file, based on winsock.c.
32735         * lib/connect.c: New file, based on winsock.c.
32736         * lib/getpeername.c: New file, based on winsock.c.
32737         * lib/getsockname.c: New file, based on winsock.c.
32738         * lib/getsockopt.c: New file, based on winsock.c.
32739         * lib/ioctl.c: New file, based on winsock.c.
32740         * lib/listen.c: New file, based on winsock.c.
32741         * lib/recv.c: New file, based on winsock.c.
32742         * lib/recvfrom.c: New file, based on winsock.c.
32743         * lib/send.c: New file, based on winsock.c.
32744         * lib/sendto.c: New file, based on winsock.c.
32745         * lib/setsockopt.c: New file, based on winsock.c.
32746         * lib/shutdown.c: New file, based on winsock.c.
32747         * lib/socket.c: New file, based on winsock.c.
32748         * lib/w32sock.h: New file, based on winsock.c.
32749         * lib/winsock.c: Remove file.
32750         * modules/accept: Likewise.
32751         * modules/bind: Likewise.
32752         * modules/connect: Likewise.
32753         * modules/getpeername: Likewise.
32754         * modules/getsockname: Likewise.
32755         * modules/getsockopt: Likewise.
32756         * modules/ioctl: Likewise.
32757         * modules/listen: Likewise.
32758         * modules/recv: Likewise.
32759         * modules/recvfrom: Likewise.
32760         * modules/send: Likewise.
32761         * modules/sendto: Likewise.
32762         * modules/setsockopt: Likewise.
32763         * modules/shutdown: Likewise.
32764         * modules/socket: Use socket.c instead of winsock.c.
32765         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
32766         * doc/posix-functions/accept.texi: Doc fix.
32767         * doc/posix-functions/bind.texi: Doc fix.
32768         * doc/posix-functions/close.texi: Doc fix.
32769         * doc/posix-functions/connect.texi: Doc fix.
32770         * doc/posix-functions/getpeername.texi: Doc fix.
32771         * doc/posix-functions/getsockname.texi: Doc fix.
32772         * doc/posix-functions/getsockopt.texi: Doc fix.
32773         * doc/posix-functions/ioctl.texi: Doc fix.
32774         * doc/posix-functions/listen.texi: Doc fix.
32775         * doc/posix-functions/recv.texi: Doc fix.
32776         * doc/posix-functions/recvfrom.texi: Doc fix.
32777         * doc/posix-functions/send.texi: Doc fix.
32778         * doc/posix-functions/sendto.texi: Doc fix.
32779         * doc/posix-functions/setsockopt.texi: Doc fix.
32780         * doc/posix-functions/shutdown.texi: Doc fix.
32781         * doc/posix-functions/socket.texi: Doc fix.
32782
32783 2008-10-20  Bruno Haible  <bruno@clisp.org>
32784
32785         Take into account the role of SIGABRT_COMPAT on Windows 2008.
32786         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
32787         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
32788         as an alias for SIGABRT.
32789         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
32790         (sigaction): Map it to SIGABRT.
32791         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
32792
32793 2008-10-20  Bruno Haible  <bruno@clisp.org>
32794
32795         * lib/fts.c: Don't include lstat.h.
32796         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
32797
32798         Move the lstat() declaration to <sys/stat.h>.
32799         * lib/lstat.h: Remove file.
32800         * lib/sys_stat.in.h: Add special invocation convention.
32801         (lstat): New declaration.
32802         * lib/lstat.c (orig_lstat): New function.
32803         (rpl_lstat): Use orig_lstat instead of lstat.
32804         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
32805         AC_C_INLINE. Set REPLACE_LSTAT.
32806         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
32807         and REPLACE_LSTAT.
32808         * modules/lstat (Files): Remove lib/lstat.h.
32809         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
32810         (Include): Specify <sys/stat.h> instead of lstat.h.
32811         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
32812         REPLACE_LSTAT.
32813         * NEWS: Mention the change.
32814
32815 2008-10-20  Bruno Haible  <bruno@clisp.org>
32816
32817         * modules/posix_spawn-tests: New file.
32818         * tests/test-posix_spawn3.c: New file.
32819
32820 2008-10-20  Bruno Haible  <bruno@clisp.org>
32821
32822         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
32823         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
32824         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
32825         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
32826         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
32827
32828 2008-10-20  Bruno Haible  <bruno@clisp.org>
32829
32830         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
32831         of posix_spawn on AIX 5.3.
32832
32833 2008-10-20  Bruno Haible  <bruno@clisp.org>
32834
32835         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
32836
32837 2008-10-20  Bruno Haible  <bruno@clisp.org>
32838
32839         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
32840         of AC_LANG_PROGRAM.
32841
32842 2008-10-20  Simon Josefsson  <simon@josefsson.org>
32843
32844         * lib/netdb.in.h: Don't define GNU specific constants until they
32845         are supported or needed.  Reported by Bruno Haible
32846         <bruno@clisp.org>.
32847
32848 2008-10-20  Simon Josefsson  <simon@josefsson.org>
32849
32850         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
32851
32852 2008-10-20  Simon Josefsson  <simon@josefsson.org>
32853
32854         * lib/getaddrinfo.h: Remove file.
32855         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
32856         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
32857         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
32858         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
32859         * modules/netdb: Substitute GNULIB_GETADDRINFO.
32860         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
32861         * tests/test-getaddrinfo.c: Likewise.
32862         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
32863         * NEWS: Mention change.
32864
32865 2008-10-19  Bruno Haible  <bruno@clisp.org>
32866
32867         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
32868
32869 2008-10-19  Bruno Haible  <bruno@clisp.org>
32870
32871         * lib/wait-process.c: Include simply <sys/wait.h>.
32872         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
32873         WIFSTOPPED): Remove fallback definitions.
32874         * modules/wait-process (Depends-on): Add sys_wait.
32875
32876         New module 'sys_wait'.
32877         * modules/sys_wait: New file.
32878         * lib/sys_wait.in.h: New file, partially copied from
32879         lib/wait-process.c.
32880         * m4/sys_wait_h.m4: New file.
32881         * doc/posix-headers/sys_wait.texi: Mention the new module.
32882
32883 2008-10-19  Bruno Haible  <bruno@clisp.org>
32884
32885         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
32886
32887 2008-10-19  Bruno Haible  <bruno@clisp.org>
32888
32889         Assume that waitpid() fills an 'int' status, not a 'union wait'.
32890         * lib/wait-process.c (WAIT_T): Remove type.
32891         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
32892         (wait_subprocess): Update.
32893
32894 2008-10-19  Bruno Haible  <bruno@clisp.org>
32895
32896         New module 'atoll'.
32897         * modules/atoll: New file.
32898         * lib/stdlib.in.h (atoll): New declaration.
32899         * lib/atoll.c: New file, from glibc with modifications.
32900         * m4/atoll.m4: New file.
32901         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
32902         HAVE_ATOLL.
32903         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
32904         * doc/posix-functions/atoll.texi: Mention the new module.
32905
32906 2008-10-19  Bruno Haible  <bruno@clisp.org>
32907
32908         Add strtoull() declaration to <stdlib.h>.
32909         * lib/stdlib.in.h (strtoull): New declaration.
32910         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
32911         Set HAVE_STRTOULL.
32912         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
32913         HAVE_STRTOULL.
32914         * modules/strtoull (Depends-on): Add stdlib.
32915         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
32916         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
32917         HAVE_STRTOULL.
32918
32919 2008-10-19  Bruno Haible  <bruno@clisp.org>
32920
32921         Add strtoll() declaration to <stdlib.h>.
32922         * lib/stdlib.in.h (strtoll): New declaration.
32923         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
32924         Set HAVE_STRTOLL.
32925         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
32926         HAVE_STRTOLL.
32927         * modules/strtoll (Depends-on): Add stdlib.
32928         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
32929         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
32930
32931 2008-10-19  Bruno Haible  <bruno@clisp.org>
32932
32933         * modules/bcopy (Depends-on): Add strings.
32934         (Include): Specify <strings.h>.
32935
32936 2008-10-19  Bruno Haible  <bruno@clisp.org>
32937
32938         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
32939
32940 2008-10-19  Bruno Haible  <bruno@clisp.org>
32941
32942         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
32943         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
32944         mingw.
32945
32946 2008-10-19  Bruno Haible  <bruno@clisp.org>
32947
32948         * lib/atanl.c: Don't include isnanl.h.
32949         * lib/cosl.c: Likewise.
32950         * lib/ldexpl.c: Likewise.
32951         * lib/logl.c: Likewise.
32952         * lib/sinl.c: Likewise.
32953         * lib/sqrtl.c: Likewise.
32954         * lib/tanl.c: Likewise.
32955
32956         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
32957         * lib/isnanf.h: Remove file.
32958         * lib/isnand.h: Remove file.
32959         * lib/isnanl.h: Remove file.
32960         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
32961         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
32962         macros.
32963         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
32964         HAVE_ISNANF, don't define it as a C macro.
32965         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
32966         HAVE_ISNAND, don't define it as a C macro.
32967         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
32968         HAVE_ISNANL, don't define it as a C macro.
32969         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
32970         HAVE_ISNAN[FDL].
32971         * modules/isnanf (Files): Remove lib/isnanf.h.
32972         (Depends-on): Add math.
32973         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
32974         (Include): Specify <math.h> instead of isnanf.h.
32975         * modules/isnand (Files): Remove lib/isnand.h.
32976         (Depends-on): Add math.
32977         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
32978         (Include): Specify <math.h> instead of isnand.h.
32979         * modules/isnanl (Files): Remove lib/isnanl.h.
32980         (Depends-on): Add math.
32981         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
32982         (Include): Specify <math.h> instead of isnanl.h.
32983         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
32984         HAVE_ISNAN[FDL].
32985         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
32986         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
32987         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
32988         * NEWS: Mention the change.
32989
32990 2008-10-18  Bruno Haible  <bruno@clisp.org>
32991
32992         Add getusershell(), setusershell(), endusershell() declarations to
32993         <unistd.h>.
32994         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
32995         declarations.
32996         * lib/getusershell.c: Include unistd.h.
32997         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
32998         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
32999         HAVE_GETUSERSHELL.
33000         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
33001         and HAVE_GETUSERSHELL.
33002         * modules/getusershell (Depends-on): Add unistd, extensions.
33003         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33004         (Include): Specify <unistd.h>.
33005         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
33006         HAVE_GETUSERSHELL.
33007
33008 2008-10-18  Bruno Haible  <bruno@clisp.org>
33009
33010         Add a getloadavg() declaration to <stdlib.h>.
33011         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
33012         getloadavg declaration.
33013         (getloadavg): New declaration.
33014         * lib/getloadavg.c: Include <stdlib.h> first.
33015         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
33016         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
33017         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
33018         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
33019         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
33020         * modules/getloadavg (Depends-on): Add stdlib, extensions.
33021         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33022         (Include): Specify <stdlib.h>.
33023         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
33024         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
33025
33026 2008-10-18  Bruno Haible  <bruno@clisp.org>
33027
33028         * lib/dirchownmod.c: Don't include lchmod.h.
33029
33030         Move the lchmod() declaration to <sys/stat.h>.
33031         * lib/lchmod.h: Remove file.
33032         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
33033         (lchmod): New declaration, moved here from lib/lchown.h.
33034         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
33035         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
33036         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
33037         and HAVE_LCHMOD.
33038         * modules/lchmod (Files): Remove lib/lchmod.h.
33039         (Depends-on): Add sys_stat, extensions.
33040         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
33041         (Include): Specify <sys/stat.h> instead of lchmod.h.
33042         * modules/sys_stat (Depends-on): Add link-warning.
33043         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
33044         definition of GL_LINK_WARNING.
33045         * NEWS: Mention the change.
33046
33047 2008-10-18  Bruno Haible  <bruno@clisp.org>
33048
33049         * lib/fchdir.c: Don't include dirfd.h.
33050         * lib/fts.c: Likewise.
33051         * lib/getcwd.c: Likewise.
33052         * lib/glob.c: Likewise.
33053
33054         Move the dirfd() declaration to <dirent.h>.
33055         * lib/dirfd.h: Remove file.
33056         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
33057         (dirfd): New declaration.
33058         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
33059         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
33060         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
33061         HAVE_DECL_DIRFD.
33062         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
33063         HAVE_DECL_DIRFD.
33064         * modules/dirfd (Files): Remove lib/dirfd.h.
33065         (Depends-on): Add dirent, extensions.
33066         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
33067         (Include): Specify <dirent.h> instead of dirfd.h.
33068         * modules/dirent (Depends-on): Add link-warning.
33069         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
33070         definition of GL_LINK_WARNING.
33071         * NEWS: Mention the change.
33072
33073 2008-10-18  Bruno Haible  <bruno@clisp.org>
33074
33075         Move the euidaccess() declaration to <unistd.h>.
33076         * lib/euidaccess.h: Remove file.
33077         * lib/unistd.in.h (euidaccess): New declaration.
33078         * lib/euidaccess.c: Don't include euidaccess.h.
33079         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
33080         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
33081         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
33082         and HAVE_EUIDACCESS.
33083         * modules/euidaccess (Files): Remove lib/euidaccess.h.
33084         (Depends-on): Add unistd.
33085         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33086         (Include): Specify <unistd.h> instead of euidaccess.h.
33087         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
33088         HAVE_EUIDACCESS.
33089         * NEWS: Mention the change.
33090
33091 2008-10-18  Bruno Haible  <bruno@clisp.org>
33092
33093         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
33094
33095         Move the getdomainname() declaration to <unistd.h>.
33096         * lib/getdomainname.h: Remove file.
33097         * lib/unistd.in.h (getdomainname): New declaration.
33098         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
33099         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
33100         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
33101         HAVE_GETDOMAINNAME.
33102         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33103         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
33104         * modules/getdomainname (Files): Remove lib/getdomainname.h.
33105         (Depends-on): Add unistd, extensions.
33106         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33107         (Includes): Specify <unistd.h> instead of getdomainname.h.
33108         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
33109         HAVE_GETDOMAINNAME.
33110         * NEWS: Mention the change.
33111
33112 2008-10-18  Bruno Haible  <bruno@clisp.org>
33113
33114         * modules/dirent: New file.
33115         * m4/dirent_h.m4: New file.
33116         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
33117         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
33118         * modules/fchdir (Files): Remove lib/dirent.in.h.
33119         (Depends-on): Add dirent.
33120         (Makefile.am): Move rules to modules/dirent.
33121         * doc/posix-headers/dirent.texi: Mention the new module.
33122
33123 2008-10-18  Bruno Haible  <bruno@clisp.org>
33124
33125         Avoid -Wunused-parameter warnings in public gnulib header files.
33126         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
33127         macro.
33128         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
33129
33130 2008-10-18  Bruno Haible  <bruno@clisp.org>
33131
33132         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
33133         * doc/glibc-functions/error.texi: Mention the module 'error'.
33134         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
33135         * doc/glibc-functions/getdomainname.texi: Mention the module
33136         'getdomainname'.
33137         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
33138         * doc/glibc-functions/getpagesize.texi: Mention the module
33139         'getpagesize'.
33140         * doc/glibc-functions/getusershell.texi: Mention the module
33141         'getusershell'.
33142         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
33143         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
33144         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
33145         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
33146         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
33147         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
33148         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
33149         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
33150         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
33151         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
33152         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
33153         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
33154         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
33155         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
33156
33157 2008-10-17  Bruno Haible  <bruno@clisp.org>
33158
33159         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
33160         HP-UX and IRIX, use -0.0L.
33161         * tests/test-ceill.c (minus_zero): Likewise.
33162         * tests/test-floorl.c (minus_zero): Likewise.
33163         * tests/test-frexpl.c (minus_zero): Likewise.
33164         * tests/test-isnan.c (minus_zerol): Likewise.
33165         * tests/test-isnanl.h (minus_zero): Likewise.
33166         * tests/test-ldexpl.c (minus_zero): Likewise.
33167         * tests/test-roundl.c (minus_zero): Likewise.
33168         * tests/test-signbit.c (minus_zerol): Likewise.
33169         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
33170         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
33171         * tests/test-truncl.c (minus_zero): Likewise.
33172         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
33173         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
33174         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
33175         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
33176
33177 2008-10-17  Bruno Haible  <bruno@clisp.org>
33178
33179         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
33180         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
33181         that it gets activated only for gcc >= 3.0.
33182         * lib/dirent.in.h: Likewise.
33183         * lib/errno.in.h: Likewise.
33184         * lib/fcntl.in.h: Likewise.
33185         * lib/float.in.h: Likewise.
33186         * lib/iconv.in.h: Likewise.
33187         * lib/inttypes.in.h: Likewise.
33188         * lib/locale.in.h: Likewise.
33189         * lib/math.in.h: Likewise.
33190         * lib/netdb.in.h: Likewise.
33191         * lib/netinet_in.in.h: Likewise.
33192         * lib/search.in.h: Likewise.
33193         * lib/signal.in.h: Likewise.
33194         * lib/spawn.in.h: Likewise.
33195         * lib/stdarg.in.h: Likewise.
33196         * lib/stdint.in.h: Likewise.
33197         * lib/stdio.in.h: Likewise.
33198         * lib/stdlib.in.h: Likewise.
33199         * lib/string.in.h: Likewise.
33200         * lib/strings.in.h: Likewise.
33201         * lib/sys_file.in.h: Likewise.
33202         * lib/sys_ioctl.in.h: Likewise.
33203         * lib/sys_select.in.h: Likewise.
33204         * lib/sys_socket.in.h: Likewise.
33205         * lib/sys_stat.in.h: Likewise.
33206         * lib/sys_time.in.h: Likewise.
33207         * lib/sysexits.in.h: Likewise.
33208         * lib/time.in.h: Likewise.
33209         * lib/unistd.in.h: Likewise.
33210         * lib/wchar.in.h: Likewise.
33211         * lib/wctype.in.h: Likewise.
33212         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
33213
33214 2008-10-17  Jim Meyering  <meyering@redhat.com>
33215
33216         ignore-value: don't depend on inline module
33217         * modules/ignore-value (Depends-on): Remove 'inline'.
33218         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
33219         Suggestion from Bruno Haible.
33220
33221 2008-10-17  Bruno Haible  <bruno@clisp.org>
33222
33223         New implementation of condition variables for Win32.
33224         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
33225         (gl_linked_waitqueue_t): New type.
33226         (gl_cond_t): Use it.
33227         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
33228         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
33229         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
33230         (glthread_cond_init_func, glthread_cond_wait_func,
33231         glthread_cond_timedwait_func, glthread_cond_signal_func,
33232         glthread_cond_broadcast_func, glthread_cond_destroy_func):
33233         Reimplemented on the basis of gl_linked_waitqueue_t.
33234         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
33235         gl_waitqueue_t.
33236         (gl_rwlock_t): Update.
33237         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
33238
33239 2008-10-17  Simon Josefsson  <simon@josefsson.org>
33240
33241         * modules/recvfrom (Depends-on): Add dependency on getpeername.
33242         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
33243
33244 2008-10-17  Jim Meyering  <meyering@redhat.com>
33245
33246         ignore-value: new module
33247         * modules/ignore-value: New file.
33248         * lib/ignore-value.h: New file.
33249         * MODULES.html.sh (Compiler warning management): New section,
33250         just for this module.  More to come.
33251
33252 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33253
33254         open-safer.c: avoid 'signed and unsigned in conditional...' warning
33255         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
33256         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
33257
33258 2008-10-16  Jim Meyering  <meyering@redhat.com>
33259
33260         openat-die.c: avoid 'no previous prototype' warning
33261         * lib/openat-die.c: Include "openat.h".
33262         Reported by Reuben Thomas <rrt@sc3d.org>.
33263
33264 2008-10-16  Simon Josefsson  <simon@josefsson.org>
33265
33266         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
33267         * lib/netdb.in.h: Fix typo.
33268         Reported by Bruno Haible  <bruno@clisp.org>
33269
33270         * lib/netdb.in.h: Include sys/socket.h for platforms without
33271         netdb.h, to get structures like hostent on MinGW.
33272         * modules/netdb (Depends-on): Add sys_socket.
33273
33274 2008-10-15  Simon Josefsson  <simon@josefsson.org>
33275
33276         * modules/netdb, modules/netdb-tests: New file.
33277         * m4/netdb_h.m4: New file.
33278         * lib/netdb.in.h: Add, currently just an empty file pending
33279         definitions.
33280         * tests/test-netdb.c: New file.
33281         * doc/posix-headers/netdb.texi: Mention that we replace it if
33282         needed.
33283         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
33284         netdb.
33285
33286 2008-10-15  Simon Josefsson  <simon@josefsson.org>
33287
33288         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
33289         with code.
33290
33291 2008-10-13  Bruno Haible  <bruno@clisp.org>
33292
33293         * lib/glthread/cond.c (glthread_cond_wait_func,
33294         glthread_cond_timedwait_func): Add a comment.
33295
33296 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
33297
33298         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
33299         * tests/test-select.c: Likewise,
33300
33301 2008-10-13  Bruno Haible  <bruno@clisp.org>
33302
33303         * lib/glthread/cond.c (glthread_cond_wait_func,
33304         glthread_cond_timedwait_func): Fix variable name.
33305         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
33306
33307 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
33308
33309         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
33310         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
33311         struct sockaddr.sa_len.
33312         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
33313
33314 2008-10-13  Simon Josefsson  <simon@josefsson.org>
33315
33316         * build-aux/pmccabe2html: Add css and css_url parameters.
33317
33318 2008-10-12  Bruno Haible  <bruno@clisp.org>
33319
33320         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
33321         calling aclx_get.
33322         Reported by Rainer Tammer <tammer@tammer.net>.
33323
33324 2008-10-12  Bruno Haible  <bruno@clisp.org>
33325
33326         Use msvcrt aware primitives for creation/termination of Win32 threads.
33327         * lib/glthread/thread.c: Include <process.h>.
33328         (glthread_create_func): Use _beginthreadex instead of CreateThread.
33329         (wrapper_func): Update signature.
33330         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
33331
33332 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
33333             Bruno Haible  <bruno@clisp.org>
33334
33335         Provide a Win32 implementation of the 'cond' module.
33336         * lib/glthread/cond.h [USE_WIN32]: New implementation.
33337         * lib/glthread/cond.c (glthread_cond_init_func,
33338         glthread_cond_wait_func, glthread_cond_timedwait_func,
33339         glthread_cond_signal_func, glthread_cond_broadcast_func,
33340         glthread_cond_destroy_func) [USE_WIN32]: New functions.
33341         * modules/cond (Dependencies): Add gettimeofday.
33342
33343 2008-10-11  Bruno Haible  <bruno@clisp.org>
33344
33345         Make sleep work on older versions of mingw.
33346         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
33347         only whether it exists.
33348         * doc/posix-functions/sleep.texi: Mention the problem with older
33349         versions of mingw.
33350
33351 2008-10-11  Bruno Haible  <bruno@clisp.org>
33352
33353         New module 'shutdown'.
33354         * modules/shutdown: New file.
33355         * lib/sys_socket.in.h (shutdown): New declaration.
33356         * lib/winsock.c (shutdown): New function.
33357         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
33358         GNULIB_SHUTDOWN.
33359         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
33360         * doc/posix-functions/shutdown.texi: Document the new module.
33361
33362 2008-10-11  Jim Meyering  <meyering@redhat.com>
33363
33364         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
33365
33366 2008-10-11  Bruno Haible  <bruno@clisp.org>
33367
33368         New module 'fclose'.
33369         * modules/fclose: New file.
33370         * lib/stdio.in.h (fclose): New declaration.
33371         * lib/fclose.c: New file.
33372         * m4/fclose.m4: New file.
33373         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
33374         REPLACE_FCLOSE.
33375         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
33376         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
33377         REPLACE_FCLOSE.
33378         * modules/close (Depends-on): fclose.
33379         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
33380
33381 2008-10-11  Bruno Haible  <bruno@clisp.org>
33382
33383         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
33384         set errno and don't call _close.
33385
33386 2008-10-10  Bruno Haible  <bruno@clisp.org>
33387
33388         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
33389         ACL, not afterwards. Fixes test failure on Cygwin.
33390
33391 2008-10-09  Ben Pfaff  <blp@gnu.org>
33392
33393         * build-aux/announce-gen: Fix gnulib version related part of usage
33394         message.  Die with a useful error message if no tarballs are
33395         found.
33396
33397 2008-10-10  Jim Meyering  <meyering@redhat.com>
33398
33399         bootstrap: use git's --depth=N option only if it's supported
33400         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
33401         recognize the --depth option.  Reported by Pádraig Brady.
33402
33403 2008-10-09  Bruno Haible  <bruno@clisp.org>
33404
33405         New module 'ioctl'.
33406         * modules/ioctl: New file.
33407         * lib/sys_socket.in.h (ioctl): Remove declaration.
33408         * lib/winsock.c: Include <sys/ioctl.h>.
33409         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
33410         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
33411         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
33412         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
33413         * doc/posix-functions/ioctl.texi: Mention the new module.
33414
33415 2008-10-09  Bruno Haible  <bruno@clisp.org>
33416
33417         New module 'sys_ioctl'.
33418         * lib/sys_ioctl.in.h: New file.
33419         * m4/sys_ioctl_h.m4: New file.
33420         * modules/sys_ioctl: New file.
33421         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
33422
33423 2008-10-09  Bruno Haible  <bruno@clisp.org>
33424
33425         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
33426         * lib/winsock.c: Include <stdarg.h>.
33427         (rpl_ioctl): Change to second argument 'int' and then varargs.
33428
33429 2008-10-09  Bruno Haible  <bruno@clisp.org>
33430
33431         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
33432         when the sys_socket module is present and the system has <winsock2.h>.
33433
33434 2008-10-09  Bruno Haible  <bruno@clisp.org>
33435
33436         * doc/posix-functions/close.texi: Mention module 'close' instead of
33437         module 'sys_socket'.
33438
33439 2008-10-09  Bruno Haible  <bruno@clisp.org>
33440
33441         * doc/glibc-headers/sys_ioctl.texi: New file.
33442         * doc/gnulib.texi: Include it.
33443
33444 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33445             Bruno Haible  <bruno@clisp.org>
33446
33447         Combine the two replacements of 'close'.
33448         * lib/sys_socket.in.h (close): Define to a reminder to include
33449         <unistd.h>.
33450         (_gl_close_fd_maybe_socket): New declaration.
33451         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
33452         * lib/winsock.c (close): Remove undefinition.
33453         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
33454         needed for the gnulib module 'close'.
33455         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
33456         define to an error symbol or to a warning, if suitable.
33457         * lib/close.c: Include <sys/socket.h>.
33458         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
33459         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
33460         UNISTD_H_HAVE_WINSOCK2_H.
33461         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
33462         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33463         UNISTD_H_HAVE_WINSOCK2_H.
33464         * modules/sys_socket (Files): Add m4/unistd_h.m4.
33465         (configure.ac): Set a module indicator.
33466         (Makefile.am): Substitute GNULIB_CLOSE.
33467         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
33468         * modules/poll-tests (Depends-on): Add close.
33469         * modules/select-tests (Depends-on): Likewise.
33470
33471 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33472             Bruno Haible  <bruno@clisp.org>
33473
33474         New module 'close'.
33475         * modules/close: New file.
33476         * lib/unistd.in.h (close): Move declaration out of the
33477         FCHDIR_REPLACEMENT scope.
33478         (_gl_unregister_fd): New declaration.
33479         * lib/close.c: New file.
33480         * lib/fchdir.c (rpl_close): Remove function.
33481         * m4/close.m4: New file.
33482         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
33483         close.
33484         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
33485         REPLACE_CLOSE.
33486         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
33487         REPLACE_CLOSE.
33488         * modules/fchdir (Depends-on): Add close.
33489
33490 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33491             Bruno Haible  <bruno@clisp.org>
33492
33493         * lib/fcntl.in.h (open): Simplify conditionals.
33494         (_gl_register_fd): New declaration.
33495         * lib/fchdir.c (rpl_open): Remove function.
33496         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
33497         also.
33498         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
33499         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
33500         open.
33501
33502 2008-10-09  Jim Meyering  <meyering@redhat.com>
33503
33504         GNUmakefile: use the more name-space-friendly "_version"
33505         * top/GNUmakefile (_dummy): Update.
33506         (_version): Rename from "version".
33507
33508 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33509             Bruno Haible  <bruno@clisp.org>
33510
33511         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
33512         rpl_close.
33513         (_gl_register_fd): New function, extracted from rpl_open.
33514         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
33515         (rpl_open, rpl_opendir): Use _gl_register_fd.
33516
33517 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33518
33519         Fix organization of 'open' replacement.
33520         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
33521         (gl_FUNC_OPEN): Use it.
33522         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
33523
33524 2008-10-08  Bruno Haible  <bruno@clisp.org>
33525
33526         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
33527
33528 2008-10-08  Simon Josefsson  <simon@josefsson.org>
33529
33530         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
33531         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
33532         listen).
33533
33534 2008-10-08  Eric Blake  <ebb9@byu.net>
33535
33536         GNUmakefile: add 'make version' target
33537         * top/GNUmakefile (_curr-ver): Split version update rules...
33538         (version): ...into a target.
33539
33540 2008-10-07  Bruno Haible  <bruno@clisp.org>
33541
33542         Use a more portable replacement expression for -0.0L.
33543         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
33544         instead of -0.0L. Fix m4 quotation.
33545
33546         * tests/test-signbit.c: Include <float.h>.
33547         (minus_zero): New variable.
33548         (test_signbitl): Use minus_zero instead of -zero.
33549         * modules/signbit-tests (Depends-on): Add float.
33550
33551         * tests/test-ceill.c: Include <float.h>.
33552         (zero): Remove variable.
33553         (minus_zero): New variable.
33554         (main): Use minus_zero instead of -zero.
33555         * modules/ceill-tests (Depends-on): Add float.
33556
33557         * tests/test-floorl.c: Include <float.h>.
33558         (zero): Remove variable.
33559         (minus_zero): New variable.
33560         (main): Use minus_zero instead of -zero.
33561         * modules/floorl-tests (Depends-on): Add float.
33562
33563         * tests/test-roundl.c: Include <float.h>.
33564         (zero): Remove variable.
33565         (minus_zero): New variable.
33566         (main): Use minus_zero instead of -zero.
33567         * modules/roundl-tests (Depends-on): Add float.
33568
33569         * tests/test-truncl.c: Include <float.h>.
33570         (zero): Remove variable.
33571         (minus_zero): New variable.
33572         (main): Use minus_zero instead of -zero.
33573         * modules/truncl-tests (Depends-on): Add float.
33574
33575         * tests/test-frexpl.c (zero): Remove variable.
33576         (minus_zero): New variable.
33577         (main): Use minus_zero instead of -zero.
33578         * modules/frexpl-tests (Depends-on): Add float.
33579
33580         * tests/test-isnan.c (zerol): Remove variable.
33581         (minus_zerol): New variable.
33582         (test_long_double): Use minus_zerol instead of -zerol.
33583         * modules/isnan-tests (Depends-on): Add float.
33584
33585         * tests/test-isnanl.h (zero): Remove variable.
33586         (minus_zero): New variable.
33587         (main): Use minus_zero instead of -zero.
33588         * modules/isnanl-nolibm-tests (Depends-on): Add float.
33589         * modules/isnanl-tests (Depends-on): Add float.
33590
33591         * tests/test-ldexpl.c (zero): Remove variable.
33592         (minus_zero): New variable.
33593         (main): Use minus_zero instead of -zero.
33594         * modules/ldexpl-tests (Depends-on): Add float.
33595
33596         * tests/test-snprintf-posix.h (zerol): Remove variable.
33597         (minus_zerol): New variable.
33598         (test_function): Use minus_zerol instead of -zerol.
33599         * modules/snprintf-posix-tests (Depends-on): Add float.
33600         * modules/vsnprintf-posix-tests (Depends-on): Add float.
33601
33602         * tests/test-sprintf-posix.h (zerol): Remove variable.
33603         (minus_zerol): New variable.
33604         (test_function): Use minus_zerol instead of -zerol.
33605         * modules/sprintf-posix-tests (Depends-on): Add float.
33606         * modules/vsprintf-posix-tests (Depends-on): Add float.
33607
33608         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
33609         (minus_zerol): New variable.
33610         (test_function): Use minus_zerol instead of -zerol.
33611         * modules/vasnprintf-posix-tests (Depends-on): Add float.
33612
33613         * tests/test-vasprintf-posix.c (zerol): Remove variable.
33614         (minus_zerol): New variable.
33615         (test_function): Use minus_zerol instead of -zerol.
33616         * modules/vasprintf-posix-tests (Depends-on): Add float.
33617
33618 2008-10-07  Simon Josefsson  <simon@josefsson.org>
33619
33620         * MODULES.html.sh (Support for building documentation): Mention
33621         pmccabe2html.  Sort entries.
33622
33623         Add pmccabe2html module, from gnupdf.
33624         * build-aux/pmccabe.css: New file.
33625         * build-aux/pmccabe2html: New file.
33626         * m4/pmccabe2html.m4: New file.
33627         * modules/pmccabe2html: New file.
33628
33629 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
33630
33631         flock: new module
33632         * MODULES.html.sh: Add to list of modules.
33633         * lib/flock.c: flock implementation for Windows and Unix systems
33634         which have fcntl.
33635         * doc/glibc-functions/flock.texi: Update documentation.
33636         * lib/sys_file.in.h: <sys/file.h> header file.
33637         * m4/flock.m4: M4 macros.
33638         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
33639         * modules/flock: flock module.
33640         * modules/flock-tests: flock tests module.
33641         * modules/sys_file: sys/file.h module.
33642         * tests/test-flock.c: test suite for flock.
33643
33644 2008-10-06  Jim Meyering  <meyering@redhat.com>
33645
33646         bootstrap: check for LT_INIT more portably still ;-)
33647         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
33648         Spotted by Bruno Haible.
33649
33650 2008-10-06  Eric Blake  <ebb9@byu.net>
33651
33652         test-signbit: avoid tripping Irix cc bug on -0.0L
33653         * tests/test-signbit.c (minus_zerol): Delete, and replace with
33654         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
33655         entire testsuite consistent and avoids an Irix 6.2 bug.
33656
33657 2008-10-05  Bruno Haible  <bruno@clisp.org>
33658             Jim Meyering  <jim@meyering.net>
33659
33660         Add an option for ignoring EPIPE during close_stdout.
33661         * lib/closeout.h: Include <stdbool.h>.
33662         (close_stdout_set_ignore_EPIPE): New declaration.
33663         * lib/closeout.c: Include <stdbool.h>.
33664         (ignore_EPIPE): New variable.
33665         (close_stdout_set_ignore_EPIPE): New function.
33666         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
33667         * lib/close-stream.c (close_stream): Mention the possible EPIPE
33668         failure.
33669         * modules/closeout (Depends-on): Add stdbool.
33670
33671 2008-10-05  Bruno Haible  <bruno@clisp.org>
33672
33673         * modules/accept: New file.
33674         * modules/bind: New file.
33675         * modules/connect: New file.
33676         * modules/getpeername: New file.
33677         * modules/getsockname: New file.
33678         * modules/getsockopt: New file.
33679         * modules/listen: New file.
33680         * modules/recv: New file.
33681         * modules/recvfrom: New file.
33682         * modules/send: New file.
33683         * modules/sendto: New file.
33684         * modules/setsockopt: New file.
33685         * modules/socket: New file.
33686         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
33687         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
33688         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
33689         the particular module is requested. Add a link warning when the
33690         particular module is not requested.
33691         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
33692         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
33693         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
33694         the particular module is requested.
33695         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
33696         gl_SYS_SOCKET_H_DEFAULTS): New macros.
33697         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
33698         * modules/sys_socket (Depends-on): Add link-warning.
33699         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
33700         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
33701         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
33702         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
33703         GL_LINK_WARNING.
33704         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
33705         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
33706         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
33707         * doc/posix-functions/getpeername.texi: Mention the new module
33708         'getpeername'.
33709         * doc/posix-functions/getsockname.texi: Mention the new module
33710         'getsockname'.
33711         * doc/posix-functions/getsockopt.texi: Mention the new module
33712         'getsockopt'.
33713         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
33714         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
33715         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
33716         * doc/posix-functions/send.texi: Mention the new module 'send'.
33717         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
33718         * doc/posix-functions/setsockopt.texi: Mention the new module
33719         'setsockopt'.
33720         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
33721         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
33722         listen, connect, accept.
33723         * modules/select-tests (Depends-on): Likewise.
33724
33725 2008-10-05  Bruno Haible  <bruno@clisp.org>
33726
33727         * lib/winsock.c (strerror): Remove unused #undef.
33728         (rpl_close): Remove unused local variable.
33729
33730         * modules/sys_socket (Depends-on); Add errno.
33731
33732 2008-10-05  Bruno Haible  <bruno@clisp.org>
33733
33734         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
33735         (select): Add a link warning when the 'select' module is not used.
33736         * modules/sys_select (Depends-on): Add link-warning.
33737         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
33738         Suggested by Paolo Bonzini.
33739
33740 2008-10-05  Jim Meyering  <meyering@redhat.com>
33741
33742         bootstrap: check for LT_INIT more portably
33743         * build-aux/bootstrap: Avoid using grep -E, since it's not
33744         portable enough.  Suggestion from Bruno Haible.
33745
33746 2008-10-05  Bruno Haible  <bruno@clisp.org>
33747
33748         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
33749         as being fixed by gnulib.
33750
33751 2008-10-05  Bruno Haible  <bruno@clisp.org>
33752
33753         * modules/select-tests: New file, mostly copied from
33754         modules/sys_select-tests.
33755         * tests/test-select.c: New file, mostly copied from
33756         tests/test-sys_select.c.
33757         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
33758         * modules/sys_select-tests (Depends-on): Remove all dependencies.
33759         (Makefile.am): Remove test_sys_select_LDADD.
33760
33761         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
33762         to an undefined symbol, for an error message.
33763         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
33764         (gl_SYS_SELECT_H_DEFAULTS): New macro.
33765         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
33766         winsock-select.c here.
33767         * modules/sys_select (Files): Remove lib/winsock-select.c.
33768         (Depends-on): Remove alloca.
33769         (Makefile.am): Substitute GNULIB_SELECT.
33770         * modules/select: New file.
33771         * doc/posix-functions/select.texi: Update.
33772
33773 2008-10-05  Bruno Haible  <bruno@clisp.org>
33774
33775         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
33776         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
33777         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
33778         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
33779         getdtablesize.
33780         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
33781         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
33782
33783 2008-10-05  Bruno Haible  <bruno@clisp.org>
33784
33785         * modules/getdtablesize-tests: New file.
33786         * tests/test-getdtablesize.c: New file.
33787
33788         New module 'getdtablesize'.
33789         * lib/unistd.in.h (getdtablesize): New declaration.
33790         * lib/getdtablesize.c: New file.
33791         * m4/getdtablesize.m4: New file.
33792         * modules/getdtablesize: New file.
33793         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33794         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
33795         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
33796         HAVE_GETDTABLESIZE.
33797         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
33798
33799 2008-10-05  Bruno Haible  <bruno@clisp.org>
33800
33801         * modules/sched (Makefile.am): Fix typo.
33802         Reported by Simon Josefsson.
33803
33804 2008-10-05  Jim Meyering  <meyering@redhat.com>
33805
33806         bootstrap: check for LT_INIT, too
33807         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
33808         are deprecated.  Suggestion from Ralf Wildenhues.
33809
33810 2008-10-05  Bruno Haible  <bruno@clisp.org>
33811
33812         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
33813         overriding them by ours.
33814         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
33815
33816 2008-10-05  Jim Meyering  <meyering@redhat.com>
33817
33818         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
33819         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
33820         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
33821
33822 2008-10-04  Bruno Haible  <bruno@clisp.org>
33823
33824         * modules/dup2 (License): Change to LGPLv2+.
33825         * modules/sleep (License): Likewise.
33826         * modules/perror (License): Likewise.
33827         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
33828         Blake.
33829         * modules/signal (License): Likewise.
33830         * modules/sigprocmask (License): Likewise.
33831         * modules/raise (License): Change to LGPLv2+, with approval by Jim
33832         Meyering.
33833
33834 2008-10-04  Bruno Haible  <bruno@clisp.org>
33835
33836         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
33837         Reported by Rainer Tammer <tammer@tammer.net>.
33838
33839 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
33840             Bruno Haible  <bruno@clisp.org>
33841
33842         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
33843         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
33844         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
33845
33846 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
33847
33848         filevercmp: new module
33849         * lib/filevercmp.h: New function filevercmp comparing version strings.
33850         * lib/filevercmp.c: Implementation of filevercmp function.
33851         * modules/filevercmp: Module metadata.
33852         * tests/test-filevercmp.c: Unit test for new module.
33853         * modules/filevercmp-tests: Unit test metadata.
33854         * MODULES.html.sh: Add filevercmp module.
33855
33856 2008-10-03  Bruno Haible  <bruno@clisp.org>
33857
33858         * lib/c-ctype.h: Add comment.
33859         Reported by Jim Meyering.
33860
33861 2008-10-02  Bruno Haible  <bruno@clisp.org>
33862
33863         * modules/posix_spawn-internal (Depends-on): Add 'open'.
33864
33865 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
33866
33867         * build-aux/bootstrap: Allow renaming bootstrap, and change the
33868         name of bootstrap.conf accordingly.
33869
33870 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
33871
33872         * build-aux/bootstrap: Install git-merge-changelog configuration
33873         items into .gitconfig if needed.
33874
33875 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
33876
33877         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
33878         git repository, and initialize/update it accordingly.
33879
33880 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
33881
33882         * modules/fsync-tests: New file.
33883         * tests/test-fsync.c: New file.
33884
33885         New module 'fsync'.
33886         * lib/fsync.c: New file.
33887         * m4/fsync.m4: New file.
33888         * modules/fsync: New file.
33889         * lib/unistd.in.h (fsync): New declaration.
33890         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
33891         GNULIB_FSYNC and HAVE_FSYNC.
33892         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
33893         * MODULES.html.sh (posix_functions): Add fsync.
33894         * doc/posix-functions/fsync.texi: Mention the new module.
33895
33896 2008-10-02  Jim Meyering  <meyering@redhat.com>
33897
33898         fts.c: sync with similar code from coreutils' remove.c
33899         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
33900         Guard also with "#if defined __linux__", since for now at least,
33901         this code is Linux-kernel-specific.
33902
33903 2008-10-02  Jim Meyering  <meyering@redhat.com>
33904
33905         fts: bug fixes
33906         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
33907         Include <sys/vfs.h>, not <sys/statfs.h>.
33908
33909         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
33910         Include <sys/vfs.h>, not <sys/statfs.h>.
33911
33912 2008-10-01  Bruno Haible  <bruno@clisp.org>
33913
33914         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
33915         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
33916         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
33917         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
33918         * doc/posix-functions/posix_spawnp.texi: Likewise.
33919         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
33920         whether posix_spawn actually works.
33921         * m4/pipe.m4 (gl_PIPE): Likewise.
33922         * modules/execute (Files): Add m4/posix_spawn.m4.
33923         * modules/pipe (Files): Add m4/posix_spawn.m4.
33924         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
33925
33926 2008-10-01  Jim Meyering  <meyering@redhat.com>
33927
33928         remove trailing spaces
33929         * NEWS: Likewise.
33930         * lib/poll.c (poll): Likewise.
33931         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
33932         * lib/winsock.c (rpl_close): Likewise.
33933         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
33934         * modules/yield: Likewise.
33935         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
33936         * tests/test-sys_select.c (connect_to_socket): Likewise.
33937
33938         fts.c: adjust a new interface to be more generally useful
33939         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
33940         (fts_build): Adjust caller.
33941
33942 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33943
33944         * modules/cond-tests: New file.
33945         * tests/test-cond.c: New file.
33946
33947 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33948             Bruno Haible  <bruno@clisp.org>
33949
33950         * modules/cond (Dependencies): Add errno, time.
33951         * lib/glthread/cond.h: Include <time.h>.
33952         (gl_cond_define, gl_cond_define_initialized): Use the same definition
33953         across platforms.
33954
33955 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33956             Bruno Haible  <bruno@clisp.org>
33957
33958         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
33959
33960 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33961             Bruno Haible  <bruno@clisp.org>
33962
33963         * modules/tls-tests (Depends-on): Add thread, yield.
33964         (configure.ac): Remove all checks.
33965         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
33966         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
33967         gl_thread_self): Remove definitions. Include glthread/thread.h and
33968         glthread/yield.h instead.
33969         (test_tls): Pass an additional NULL argument to gl_thread_join.
33970
33971 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33972             Bruno Haible  <bruno@clisp.org>
33973
33974         * modules/lock-tests (Depends-on): Add thread, yield.
33975         (configure.ac): Remove all checks.
33976         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
33977         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
33978         gl_thread_self): Remove definitions. Include glthread/thread.h and
33979         glthread/yield.h instead.
33980         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
33981         additional NULL argument to gl_thread_join.
33982
33983 2008-09-30  Bruno Haible  <bruno@clisp.org>
33984
33985         Fix the Win32 implementation of the 'thread' module.
33986         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
33987         pointer type.
33988         (gl_thread_self): Invoke gl_thread_self_func.
33989         (gl_thread_self_func): New declaration.
33990         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
33991         (do_init_self_key, init_self_key): New functions.
33992         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
33993         Remove some fields.
33994         (running_threads, running_lock): Remove variables.
33995         (get_current_thread_handle): New function.
33996         (gl_thread_self_func, wrapper_func, glthread_create_func,
33997         glthread_join_func, gl_thread_exit_func): Largely rewritten and
33998         simplified.
33999
34000 2008-09-30  Bruno Haible  <bruno@clisp.org>
34001
34002         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
34003         files.
34004
34005 2008-09-30  Jim Meyering  <meyering@redhat.com>
34006
34007         fts.m4: correct the test for statfs.f_type
34008         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
34009         when checking for statfs.f_type.
34010
34011 2008-09-15  Simon Josefsson  <simon@josefsson.org>
34012
34013         tests: avoid some compiler warnings
34014         * tests/test-memchr.c (main): Pass NULL indirectly.
34015         * tests/test-getdate.c (main): Remove unused variable 'ret'.
34016
34017 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
34018
34019         getdate.y: disallow countable dayshifts like "4 yesterday ago"
34020         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
34021         exactly specified dayshifts.
34022         (dayshift): New rule.
34023         (rel): Add dayshift.
34024         (relative_time_table) [tomorrow, yesterday, today, now]:
34025         Use tDAY_SHIFT in place of tDAY_UNIT.
34026         * tests/test-getdate.c: Add tests for now-disallowed countable
34027         dayshifts, e.g., "4 yesterday ago".
34028
34029 2008-09-29  Bruno Haible  <bruno@clisp.org>
34030
34031         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
34032         * tests/test-posix_spawn1.in.sh: Renamed from
34033         tests/test-posix_spawn.in.sh.
34034         * tests/test-posix_spawn2.c: New file.
34035         * tests/test-posix_spawn2.in.sh: New file.
34036         * modules/posix_spawnp-tests (Files): Update.
34037         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
34038
34039 2008-09-29  Bruno Haible  <bruno@clisp.org>
34040
34041         Propagate effects of putenv/setenv/unsetenv to child processes.
34042         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
34043         * lib/pipe.c (create_pipe): Likewise.
34044
34045 2008-09-29  Bruno Haible  <bruno@clisp.org>
34046
34047         Enable use of shell scripts as executables in mingw.
34048         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
34049         run the program as a shell script.
34050         * lib/pipe.c (create_pipe): Likewise.
34051         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
34052         resulting array.
34053
34054 2008-09-29  Eric Blake  <ebb9@byu.net>
34055
34056         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
34057
34058 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
34059
34060         * doc/posix-functions/accept.texi: Update mingw problems.
34061         * doc/posix-functions/bind.texi: Update mingw problems.
34062         * doc/posix-functions/close.texi: Update mingw problems.
34063         * doc/posix-functions/connect.texi: Update mingw problems.
34064         * doc/posix-functions/getpeername.texi: Update mingw problems.
34065         * doc/posix-functions/getsockname.texi: Update mingw problems.
34066         * doc/posix-functions/getsockopt.texi: Update mingw problems.
34067         * doc/posix-functions/ioctl.texi: Update mingw problems.
34068         * doc/posix-functions/listen.texi: Update mingw problems.
34069         * doc/posix-functions/recv.texi: Update mingw problems.
34070         * doc/posix-functions/recvfrom.texi: Update mingw problems.
34071         * doc/posix-functions/select.texi: Update mingw problems.
34072         * doc/posix-functions/send.texi: Update mingw problems.
34073         * doc/posix-functions/sendto.texi: Update mingw problems.
34074         * doc/posix-functions/setsockopt.texi: Update mingw problems.
34075         * doc/posix-functions/socket.texi: Update mingw problems.
34076
34077 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
34078             Bruno Haible  <bruno@clisp.org>
34079
34080         * lib/sys_select.in.h: Include sys/time.h.
34081         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
34082         * modules/sys_select: Depend on sys_time.
34083         * tests/test-sys_select.c: Test that sys/select.h defines struct
34084         timeval fully.
34085
34086 2008-09-29  Bruno Haible  <bruno@clisp.org>
34087
34088         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
34089         * lib/sys_select.in.h: Likewise.
34090
34091 2008-09-29  Bruno Haible  <bruno@clisp.org>
34092
34093         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
34094
34095 2008-09-29  Bruno Haible  <bruno@clisp.org>
34096
34097         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
34098         Set LIBSOCKET instead of augmenting LIBS.
34099         * modules/sockets (Link): New section.
34100         * modules/sockets-tests (test_sockets_LDADD): New variable.
34101         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
34102         * modules/poll-tests (test_poll_LDADD): New variable.
34103         * NEWS: Document the change.
34104
34105 2008-09-29  Bruno Haible  <bruno@clisp.org>
34106
34107         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
34108         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
34109         ARPA_INET_H directly.
34110         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
34111
34112 2008-09-28  Bruno Haible  <bruno@clisp.org>
34113
34114         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
34115         from gl_HEADER_SYS_SOCKET.
34116         (gl_HEADER_SYS_SOCKET): Invoke it.
34117         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34118
34119 2008-09-28  Bruno Haible  <bruno@clisp.org>
34120
34121         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
34122         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
34123         Needed on OSF/1 4.0.
34124
34125 2008-09-28  Bruno Haible  <bruno@clisp.org>
34126
34127         Override open more carefully.
34128         * lib/open.c (orig_open): New function.
34129         (rpl_open): Use orig_open instead of open.
34130         * lib/fcntl.in.h: Add special invocation convention.
34131         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
34132         (gl_FUNC_OPEN): Invoke it.
34133
34134         Override freopen more carefully.
34135         * lib/freopen.c (orig_freopen): New function.
34136         (rpl_freopen): Use orig_freopen instead of freopen.
34137         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
34138         (gl_FUNC_FREOPEN): Invoke it.
34139
34140         Override fopen more carefully.
34141         * lib/fopen.c (orig_fopen): New function.
34142         (rpl_fopen): Use orig_fopen instead of fopen.
34143         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
34144         (gl_FUNC_FOPEN): Invoke it.
34145         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
34146
34147 2008-09-28  Bruno Haible  <bruno@clisp.org>
34148
34149         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
34150         SIGPIPE.
34151
34152 2008-09-28  Bruno Haible  <bruno@clisp.org>
34153
34154         * tests/test-sigaction.c (handler, main): Disable the check whether
34155         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
34156         glibc systems with LinuxThreads.
34157
34158 2008-09-28  Bruno Haible  <bruno@clisp.org>
34159
34160         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
34161
34162         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
34163         with AIX xlc.
34164         * lib/fcntl.in.h (open): Likewise.
34165         Reported by Rainer Tammer <tammer@tammer.net>.
34166
34167 2008-09-28  Bruno Haible  <bruno@clisp.org>
34168
34169         * modules/posix_spawnp-tests: New file.
34170         * tests/test-posix_spawn.c: New file.
34171         * tests/test-posix_spawn.in.sh: New file.
34172
34173         New module 'posix_spawnp'.
34174         * modules/posix_spawnp: New file.
34175         * lib/spawnp.c: New file, from GNU libc with modifications.
34176         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
34177
34178         New module 'posix_spawn'.
34179         * modules/posix_spawn: New file.
34180         * lib/spawn.c: New file, from GNU libc with modifications.
34181         * doc/posix-functions/posix_spawn.texi: Mention the new module.
34182
34183         New module 'posix_spawnattr_destroy'.
34184         * modules/posix_spawnattr_destroy: New file.
34185         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
34186         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
34187         module.
34188
34189         New module 'posix_spawnattr_setsigmask'.
34190         * modules/posix_spawnattr_setsigmask: New file.
34191         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
34192         modifications.
34193         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
34194         new module.
34195
34196         New module 'posix_spawnattr_getsigmask'.
34197         * modules/posix_spawnattr_getsigmask: New file.
34198         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
34199         modifications.
34200         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
34201         new module.
34202
34203         New module 'posix_spawnattr_setsigdefault'.
34204         * modules/posix_spawnattr_setsigdefault: New file.
34205         * lib/spawnattr_setdefault.c: New file, from GNU libc with
34206         modifications.
34207         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
34208         new module.
34209
34210         New module 'posix_spawnattr_getsigdefault'.
34211         * modules/posix_spawnattr_getsigdefault: New file.
34212         * lib/spawnattr_getdefault.c: New file, from GNU libc with
34213         modifications.
34214         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
34215         new module.
34216
34217         New module 'posix_spawnattr_setschedpolicy'.
34218         * modules/posix_spawnattr_setschedpolicy: New file.
34219         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
34220         modifications.
34221         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
34222         new module.
34223
34224         New module 'posix_spawnattr_getschedpolicy'.
34225         * modules/posix_spawnattr_getschedpolicy: New file.
34226         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
34227         modifications.
34228         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
34229         new module.
34230
34231         New module 'posix_spawnattr_setschedparam'.
34232         * modules/posix_spawnattr_setschedparam: New file.
34233         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
34234         modifications.
34235         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
34236         new module.
34237
34238         New module 'posix_spawnattr_getschedparam'.
34239         * modules/posix_spawnattr_getschedparam: New file.
34240         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
34241         modifications.
34242         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
34243         new module.
34244
34245         New module 'posix_spawnattr_setpgroup'.
34246         * modules/posix_spawnattr_setpgroup: New file.
34247         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
34248         modifications.
34249         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
34250         module.
34251
34252         New module 'posix_spawnattr_getpgroup'.
34253         * modules/posix_spawnattr_getpgroup: New file.
34254         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
34255         modifications.
34256         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
34257         module.
34258
34259         New module 'posix_spawnattr_setflags'.
34260         * modules/posix_spawnattr_setflags: New file.
34261         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
34262         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
34263         module.
34264
34265         New module 'posix_spawnattr_getflags'.
34266         * modules/posix_spawnattr_getflags: New file.
34267         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
34268         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
34269         module.
34270
34271         New module 'posix_spawnattr_init'.
34272         * modules/posix_spawnattr_init: New file.
34273         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
34274         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
34275         module.
34276
34277         New module 'posix_spawn_file_actions_destroy'.
34278         * modules/posix_spawn_file_actions_destroy: New file.
34279         * lib/spawn_faction_destroy.c: New file, from GNU libc with
34280         modifications.
34281         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
34282         the new module.
34283
34284         New module 'posix_spawn_file_actions_addopen'.
34285         * modules/posix_spawn_file_actions_addopen: New file.
34286         * lib/spawn_faction_addopen.c: New file, from GNU libc with
34287         modifications.
34288         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
34289         the new module.
34290
34291         New module 'posix_spawn_file_actions_adddup2'.
34292         * modules/posix_spawn_file_actions_adddup2: New file.
34293         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
34294         modifications.
34295         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
34296         the new module.
34297
34298         New module 'posix_spawn_file_actions_addclose'.
34299         * modules/posix_spawn_file_actions_addclose: New file.
34300         * lib/spawn_faction_addclose.c: New file, from GNU libc with
34301         modifications.
34302         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
34303         the new module.
34304
34305         New module 'posix_spawn_file_actions_init'.
34306         * modules/posix_spawn_file_actions_init: New file.
34307         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
34308         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
34309         new module.
34310
34311         New module 'posix_spawn-internal'.
34312         * modules/posix_spawn-internal: New file.
34313         * lib/spawn_int.h: New file, from GNU libc with modifications.
34314         * lib/spawni.c: New file, from GNU libc with modifications.
34315         * m4/posix_spawn.m4: New file.
34316
34317         New module 'spawn'.
34318         * modules/spawn: New file.
34319         * lib/spawn.in.h: New file, from GNU libc with modifications.
34320         * m4/spawn_h.m4: New file.
34321         * doc/posix-headers/spawn.texi: Mention the new module.
34322
34323 2008-09-28  Bruno Haible  <bruno@clisp.org>
34324
34325         * modules/sched-tests: New file.
34326         * tests/test-sched.c: New file.
34327
34328         New module 'sched'.
34329         * modules/sched: New file.
34330         * lib/sched.in.h: New file.
34331         * m4/sched_h.m4: New file.
34332         * doc/posix-headers/sched.texi: Mention the new module.
34333
34334 2008-09-27  Eric Blake  <ebb9@byu.net>
34335
34336         Fix previous patch, and tweak references to $0.
34337         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
34338         (func_version, func_gnulib_dir): Don't call this program
34339         gnulib-tool.
34340         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
34341         with using $0 in function.
34342         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
34343         (func_fatal_error): Reuse the name the user invoked us with.
34344
34345 2008-09-27  Bruno Haible  <bruno@clisp.org>
34346
34347         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
34348         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
34349         (gl_ICONV_H): Not here.
34350         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
34351         instead of assigning ICONV_H directly.
34352
34353         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
34354         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
34355         WCHAR_H directly.
34356
34357 2008-09-27  Bruno Haible  <bruno@clisp.org>
34358
34359         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
34360         * modules/arpa_inet (Depends-on): Add link-warning.
34361         (Makefile.am): Insert the definition of GL_LINK-WARNING.
34362         * modules/unistd (Makefile.am): Likewise.
34363
34364 2008-09-26  Bruno Haible  <bruno@clisp.org>
34365
34366         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
34367         variables.
34368         (func_version): Essentially copied from gnulib-tool.
34369         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
34370         func_readlink): Copied from gnulib-tool.
34371
34372 2008-09-26  Bruno Haible  <bruno@clisp.org>
34373
34374         * gnulib-tool (func_version): Change directory to $gnulib_dir before
34375         invoking git-version-gen.
34376
34377 2008-09-26  Bruno Haible  <bruno@clisp.org>
34378
34379         * posix-modules: Update to directory names changed on 2008-01-19.
34380         Remove commas in output before splitting into words. No more need to
34381         avoid 'ftruncate' since 2007-02-19.
34382
34383 2008-09-26  Bruno Haible  <bruno@clisp.org>
34384
34385         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
34386
34387 2008-09-26  Bruno Haible  <bruno@clisp.org>
34388
34389         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
34390         * modules/fwriteerror (Depends-on): Add errno.
34391
34392 2008-09-26  Bruno Haible  <bruno@clisp.org>
34393
34394         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
34395         * tests/test-vc-list-files-cvs.sh: Likewise.
34396
34397 2008-09-26  Bruno Haible  <bruno@clisp.org>
34398
34399         * doc/posix-headers/sys_resource.texi: Reorder items.
34400
34401 2008-09-26  Jim Meyering  <meyering@redhat.com>
34402
34403         fts: tweak inode comparison function
34404         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
34405         inode numbers, as documented.
34406
34407         fts: sort dirent entries on inode number before traversing
34408         This avoids a quadratic, seek-related performance penalty when
34409         operating on a directory containing many entries (measurable at 10k;
34410         3.5 hours at 2 million entries with a cold cache) on certain types
34411         of file systems, including ext3 and ext4, but not tmpfs.
34412         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
34413         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
34414         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
34415         (fs_handles_readdir_ordered_dirents_efficiently): New function.
34416         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
34417         (fts_build): Set the stat.st_ino member from D_INO.
34418         If it is likely to be useful, sort dirent entries on inode number.
34419
34420         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
34421         and the struct statfs.f_type member.
34422         * modules/fts (Depends-on): Add d-ino.
34423
34424 2008-09-26  Bruno Haible  <bruno@clisp.org>
34425
34426         * modules/sigpipe-die (Depends-on): Add sigpipe.
34427
34428         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
34429         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
34430         and GNULIB_STDIO_H_SIGPIPE are set.
34431         * lib/stdio-write.c: New file.
34432         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
34433         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
34434         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
34435         REPLACE_STDIO_WRITE_FUNCS.
34436         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
34437         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
34438         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
34439         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
34440         * modules/stdio (Files): Add lib/stdio-write.c.
34441         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
34442         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
34443         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
34444         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
34445         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
34446         REPLACE_FPRINTF_POSIX.
34447         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
34448         REPLACE_PRINTF_POSIX.
34449         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
34450         REPLACE_VFPRINTF_POSIX.
34451         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
34452         REPLACE_VPRINTF_POSIX.
34453         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
34454         SIGPIPE issue.
34455         * doc/posix-functions/fputc.texi: Likewise.
34456         * doc/posix-functions/fputs.texi: Likewise.
34457         * doc/posix-functions/fwrite.texi: Likewise.
34458         * doc/posix-functions/printf.texi: Likewise.
34459         * doc/posix-functions/putc.texi: Likewise.
34460         * doc/posix-functions/putchar.texi: Likewise.
34461         * doc/posix-functions/puts.texi: Likewise.
34462         * doc/posix-functions/vfprintf.texi: Likewise.
34463         * doc/posix-functions/vprintf.texi: Likewise.
34464
34465         * modules/safe-write (Depends-on): Add write.
34466
34467         * modules/sigpipe-tests: New file.
34468         * tests/test-sigpipe.c: New file.
34469         * tests/test-sigpipe.sh: New file.
34470
34471         * modules/write: New file.
34472         * lib/unistd.in.h: Include <sys/types.h>.
34473         (write): New declaration.
34474         * lib/write.c: New file.
34475         * m4/write.m4: New file.
34476         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34477         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
34478         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
34479         GNULIB_WRITE, REPLACE_WRITE.
34480         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
34481         and the SIGPIPE issue.
34482
34483         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
34484         (raise): New declaration.
34485         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
34486         (ext_signal): New function.
34487         (rpl_raise): New function.
34488         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
34489         GNULIB_SIGNAL_H_SIGPIPE.
34490         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
34491         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
34492
34493         * modules/sigpipe: New file.
34494         * m4/sigpipe.m4: New file.
34495
34496 2008-09-25  Derek Price  <derek@ximbiot.com>
34497             Bruno Haible  <bruno@clisp.org>
34498
34499         * gnulib-tool (func_import): Report all license incompatibilities, not
34500         just the first one.
34501
34502 2008-09-25  Bruno Haible  <bruno@clisp.org>
34503
34504         * gnulib-tool (func_import): When computing the edits, consider not
34505         only the Makefile.ams that exist but also those that will be generated.
34506
34507 2008-09-25  Simon Josefsson  <simon@josefsson.org>
34508
34509         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
34510         fixes gnulib-tool --test warning about duplicate dependency.
34511
34512 2008-09-25  Bruno Haible  <bruno@clisp.org>
34513
34514         * gnulib-tool: Don't ask the user to perform edits in the generated
34515         Makefile.ams.
34516         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
34517         apply to the Makefile.am being generated.
34518         (func_emit_tests_Makefile_am): Execute edits that apply to the
34519         Makefile.am being generated.
34520         (func_import): Setup list of Makefile.am edits before emitting the
34521         Makefile.ams, not at the end.
34522         (func_create_testdir): Update.
34523         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
34524
34525 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34526
34527         * gnulib-tool (func_import): Store the --tests-base option in the
34528         comment in gnulib-cache.m4.
34529
34530 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
34531
34532         * NEWS: Document increased portability that sys_select now provides.
34533
34534         * lib/sys_select.in.h: Install select wrapper.
34535         * lib/sys_socket.in.h: Use more descriptive name when there is no
34536         select wrapper.
34537         * lib/winsock-select.c: New.
34538         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
34539         Require gl_HEADER_SYS_SOCKET.
34540         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
34541         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
34542         * tests/test-sys_select.c: Add functional tests.
34543
34544 2008-09-24  Eric Blake  <ebb9@byu.net>
34545
34546         open, fopen: close fd leak in last patch
34547         * lib/open.c (rpl_open): Close fd before returning error.
34548         * lib/fopen.c (rpl_fopen): Close fd before returning error.
34549         * doc/posix-functions/open.texi (open): Document that Irix also
34550         has the bug.
34551         * doc/posix-functions/fopen.texi (fopen): Likewise.
34552         Reported by Paolo Bonzini.
34553
34554 2008-09-24  Bruno Haible  <bruno@clisp.org>
34555
34556         Ensure that a filename ending in a slash cannot be used to access a
34557         non-directory.
34558         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
34559         to check whether it's really a directory.
34560         * lib/fopen.c: Include fcntl.h, unistd.h.
34561         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
34562         and fdopen().
34563         * modules/fopen (Depends-on): Add unistd.
34564         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
34565         * tests/test-fopen.c (main): Likewise.
34566         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
34567         * doc/posix-functions/fopen.texi: Likewise.
34568         Reported by Eric Blake.
34569
34570 2008-09-23  Eric Blake  <ebb9@byu.net>
34571
34572         c-stack: avoid compiler optimizations when provoking overflow
34573         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
34574         recursion harder to optimize, to ensure a stack overflow occurs.
34575         * tests/test-c-stack.c (recurse): Likewise.
34576         Borrowed from libsigsegv.
34577
34578         c-stack: work around Irix sigaltstack bug
34579         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
34580         whether sigaltstack uses wrong end of stack_t (copied in part from
34581         libsigsegv).
34582         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
34583         Irix bug, without requiring an over-allocation.
34584         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
34585         bug.
34586
34587         fopen: document mingw bug on directories
34588         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
34589         not allowing a stream visiting a directory, even though reading
34590         from such a stream is not portable.
34591
34592 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
34593
34594         * lib/poll.c: Rewrite.
34595         * modules/poll: Depend on alloca.
34596
34597 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
34598
34599         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
34600         instead define prototypes for a full set of wrappers.  Ensure
34601         that Cygwin does not use the compatibility code, which is only
34602         for MinGW.
34603         * lib/winsock.c: New.
34604         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
34605         * modules/sys_socket: Add lib/winsock.c.
34606
34607         * modules/poll-tests: Add errno and perror.
34608         * tests/test-poll.c: Use ioctl, not ioctlsocket.
34609
34610 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
34611
34612         * tests/test-poll.c: Downgrade minimum needed Winsock version.
34613
34614 2008-09-23  Bruno Haible  <bruno@clisp.org>
34615
34616         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
34617         * doc/glibc-functions/*: Likewise.
34618
34619 2008-09-23  Simon Josefsson  <simon@josefsson.org>
34620
34621         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
34622         success.
34623
34624 2008-09-22  Eric Blake  <ebb9@byu.net>
34625             Bruno Haible  <bruno@clisp.org>
34626
34627         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
34628         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
34629         supply %A but mishandle pseudo-NaN.
34630         Reported by Simon Josefsson.
34631
34632 2008-09-21  Bruno Haible  <bruno@clisp.org>
34633
34634         * tests/test-lock.c (main): Tweak skip message.
34635         * tests/test-tls.c (main): Likewise.
34636
34637 2008-09-21  Bruno Haible  <bruno@clisp.org>
34638
34639         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
34640         whether 'struct sigaction' has sa_sigaction here...
34641         (gl_PREREQ_SIG_HANDLER_H): ... not here.
34642         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
34643
34644 2008-09-21  Bruno Haible  <bruno@clisp.org>
34645
34646         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
34647         section.
34648         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
34649         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
34650         the new section.
34651         (Support for obsolete systems lacking POSIX:2001): New section.
34652         (String handling <string.h>): Move strdup to the new section.
34653         Suggested by Simon Josefsson and Paolo Bonzini.
34654
34655 2008-09-21  Bruno Haible  <bruno@clisp.org>
34656
34657         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
34658         exponents in %e and %g results on 'long double'. Needed for mingw's
34659         improved *printf functions.
34660         * tests/test-vasprintf-posix.c (test_function): Likewise.
34661         * tests/test-snprintf-posix.h (test_function): Likewise.
34662         * tests/test-sprintf-posix.h (test_function): Likewise.
34663         Reported by Eric Blake.
34664
34665 2008-09-21  Bruno Haible  <bruno@clisp.org>
34666
34667         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
34668         * tests/test-sprintf-posix.h (test_function): Likewise.
34669
34670 2008-09-21  Bruno Haible  <bruno@clisp.org>
34671
34672         * modules/getpass (Depends-on): Add strdup-posix.
34673
34674         New module 'strdup-posix'.
34675         * modules/strdup-posix: New file.
34676         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
34677         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
34678         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34679         REPLACE_STRDUP.
34680         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
34681         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
34682         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
34683         strdup-posix.
34684
34685         * modules/strdup (Depends-on): Remove malloc-posix.
34686
34687 2008-09-20  Bruno Haible  <bruno@clisp.org>
34688
34689         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
34690         Wildenhues.
34691
34692 2008-09-20  Bruno Haible  <bruno@clisp.org>
34693
34694         Ensure that wint_t gets defined on IRIX 5.3.
34695         * lib/wchar.in.h (wint_t): Define if not defined by the system.
34696         * lib/wctype.in.h (wint_t): Likewise.
34697         (__wctype_wint_t): Remove type.
34698         (isw*): Use wint_t instead of __wctype_wint_t.
34699         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
34700         * modules/wchar (Files): Add m4/wint_t.m4.
34701         (Makefile.am): Substitute HAVE_WINT_T.
34702         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
34703         * tests/test-wctype.c: Check that wint_t is defined.
34704         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
34705         * doc/posix-headers/wctype.texi: Likewise.
34706         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34707
34708 2008-09-18  Bruno Haible  <bruno@clisp.org>
34709
34710         * gnulib-tool (func_exit): Update comment.
34711
34712 2008-09-18  Simon Josefsson  <simon@josefsson.org>
34713
34714         * modules/getaddrinfo (Depends-on): Remove strdup, this module
34715         assumes strdup exists and does not depend on strdup to return
34716         ENOMEM on out of memory conditions.
34717
34718 2008-09-18  Bruno Haible  <bruno@clisp.org>
34719
34720         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
34721         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
34722         digits for the exponent.
34723
34724 2008-09-18  Jim Meyering  <meyering@redhat.com>
34725             Bruno Haible  <bruno@clisp.org>
34726
34727         * lib/vasnprintf.c (decimal_point_char): Define also if
34728         NEED_PRINTF_INFINITE_LONG_DOUBLE.
34729
34730 2008-09-16  Bruno Haible  <bruno@clisp.org>
34731         and Eric Blake  <ebb9@byu.net>
34732
34733         vasnprintf: support Irix 5.3
34734         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
34735         that mishandle long double infinity.
34736         Reported by Tom G. Christensen.
34737
34738 2008-09-16  Bruno Haible  <bruno@clisp.org>
34739
34740         * doc/glibc-functions/scandir.texi: Mention the function is missing on
34741         Solaris 9.
34742         * doc/glibc-functions/alphasort.texi: Likewise.
34743         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
34744
34745 2008-09-16  Jim Meyering  <meyering@redhat.com>
34746
34747         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
34748         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
34749         a umask modification leak out of a subshell.  Otherwise, the
34750         opensolaris /bin/sh would be accepted and thus cause unwarranted
34751         failures in the coreutils test suite.
34752
34753 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
34754
34755         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
34756         to succeed.
34757
34758 2008-09-16  Jim Meyering  <meyering@redhat.com>
34759
34760         avoid spurious test failure when library is built without ACL support
34761         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
34762         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
34763         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
34764         * tests/test-copy-acl.sh: Likewise.
34765
34766 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34767
34768         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
34769         based on character occurrence counts.
34770
34771 2008-09-15  Eric Blake  <ebb9@byu.net>
34772
34773         tests: avoid some compiler warnings
34774         * tests/test-memchr.c (main): Pass NULL indirectly.
34775         * tests/test-closein.c (main): Avoid unused variable.
34776
34777 2008-09-15  Bruno Haible  <bruno@clisp.org>
34778
34779         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
34780         are missing on OpenBSD 4.0 individually.
34781         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
34782
34783 2008-09-15  Bruno Haible  <bruno@clisp.org>
34784
34785         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
34786         * doc/posix-functions/strerror.texi: Mention also Cygwin.
34787         * doc/posix-functions/perror.texi: Likewise.
34788         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
34789         is missing.
34790         Reported by Eric Blake.
34791
34792         * lib/errno.in.h: Use replacement values >= 2000.
34793         Reported by Eric Blake.
34794
34795 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34796
34797         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
34798         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
34799         limit.
34800         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
34801         compareseq was aborted.
34802
34803 2008-09-14  Bruno Haible  <bruno@clisp.org>
34804
34805         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
34806         yvec_edit_count.
34807         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
34808         (fstrcmp_bounded): Simplify result computation accordingly.
34809
34810 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34811
34812         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
34813         (fstrcmp): Define in terms of fstrcmp_bounded.
34814         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
34815         lower_bound argument.
34816         Return quickly if the result is certainly < lower_bound.
34817         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
34818
34819 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34820
34821         * lib/diffseq.h (EARLY_ABORT): New macro.
34822         (compareseq): Change return type to bool. Return true when EARLY_ABORT
34823         evaluates to true.
34824
34825 2008-09-14  Bruno Haible  <bruno@clisp.org>
34826
34827         * modules/perror-tests: New file.
34828         * tests/test-perror.sh: New file.
34829         * tests/test-perror.c: New file.
34830
34831         New module 'perror'.
34832         * lib/stdio.in.h (perror): New declaration.
34833         * lib/perror.c: New file.
34834         * m4/perror.m4: New file.
34835         * modules/perror: New file.
34836         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
34837         * doc/posix-functions/perror.texi: Mention the perror module.
34838         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
34839         REPLACE_PERROR.
34840         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
34841         REPLACE_PERROR.
34842
34843 2008-09-14  Bruno Haible  <bruno@clisp.org>
34844
34845         * modules/stdio (Makefile.am): Reorder to match the order in
34846         lib/stdio.in.h.
34847         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
34848
34849 2008-09-13  Bruno Haible  <bruno@clisp.org>
34850
34851         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
34852
34853 2008-09-13  Bruno Haible  <bruno@clisp.org>
34854
34855         Extend strerror to cover the added errno values.
34856         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
34857         (rpl_strerror): Provide error messages for the added errno values and
34858         for the WSA* values.
34859         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
34860         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
34861         strerror.
34862         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
34863         * modules/strerror (Depends-on): Add errno.
34864         * doc/posix-functions/strerror.texi: Document the change.
34865         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
34866         and EOVERFLOW.
34867
34868 2008-09-13  Bruno Haible  <bruno@clisp.org>
34869
34870         * modules/EOVERFLOW: Remove file.
34871         * m4/eoverflow.m4: Remove file.
34872         * modules/EOVERFLOW-tests: Remove file.
34873         * tests/test-EOVERFLOW.c: Remove file.
34874         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
34875         * modules/ftell (Depends-on): Likewise.
34876         * modules/getdelim (Depends-on): Likewise.
34877         * modules/getugroups (Depends-on): Likewise.
34878         * modules/poll (Depends-on): Likewise.
34879         * modules/snprintf (Depends-on): Likewise.
34880         * modules/sprintf-posix (Depends-on): Likewise.
34881         * modules/vasnprintf (Depends-on): Likewise.
34882         * modules/vasprintf (Depends-on): Likewise.
34883         * modules/vfprintf-posix (Depends-on): Likewise.
34884         * modules/vsnprintf (Depends-on): Likewise.
34885         * modules/vsprintf-posix (Depends-on): Likewise.
34886         * modules/xvasprintf (Depends-on): Likewise.
34887         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
34888         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
34889         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
34890         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
34891         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
34892         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
34893         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
34894         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
34895         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
34896         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
34897         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
34898         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
34899         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
34900         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
34901         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
34902         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
34903         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
34904         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
34905         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
34906         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
34907         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
34908         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
34909         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
34910         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
34911         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
34912         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
34913         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
34914         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
34915         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
34916         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
34917         * MODULES.html.sh: Remove EOVERFLOW.
34918         * NEWS: Mention the change.
34919
34920 2008-09-13  Bruno Haible  <bruno@clisp.org>
34921
34922         * modules/errno-tests: New file.
34923         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
34924
34925         * lib/errno.in.h: New file.
34926         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
34927         * modules/errno: New file.
34928         * doc/posix-headers/errno.texi: Update documentation.
34929         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
34930
34931 2008-09-13  Bruno Haible  <bruno@clisp.org>
34932
34933         * tests/test-poll.c: Use #if for native Windows, rather than testing
34934         __MSVCRT__.
34935
34936 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34937             Bruno Haible  <bruno@clisp.org>
34938
34939         * lib/glob.c: Don't include <pwd.h> on native Windows.
34940         (WINDOWS32): New macro.
34941         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
34942
34943 2008-09-13  Bruno Haible  <bruno@clisp.org>
34944
34945         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
34946         (ETIMEDOUT): Remove macro.
34947         (glthread_cond_timedwait_multithreaded): New declaration.
34948         (glthread_cond_timedwait): Use it.
34949         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
34950         (glthread_cond_timedwait_multithreaded): New function.
34951
34952 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
34953
34954         * modules/poll-tests: Do not check for io.h.
34955         * tests/test-poll.c: Check for __MSVCRT__ instead.
34956
34957 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
34958
34959         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
34960         * modules/poll-tests: Add inet_pton, stdbool, sockets.
34961         * tests/test-poll.c: Use them.  Use _pipe on Windows.
34962
34963 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
34964
34965         * modules/poll-tests: New.
34966         * tests/test-poll.c: New.
34967
34968 2008-09-12  Eric Blake  <ebb9@byu.net>
34969
34970         frexp: test for NetBSD failure on -0.0
34971         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
34972         not all, bugs from NetBSD 3.0 have been fixed.
34973         * doc/posix-functions/frexp.texi (frexp): Document bug.
34974         Reported by Thomas Klausner.
34975
34976         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
34977         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
34978         literal -0.0.
34979         Reported by Jonathan C. Patschke <jp@centtech.com>.
34980
34981 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34982
34983         * lib/glthread/cond.h: Use dummy implementation also if
34984         USE_WIN32_THREADS.
34985
34986 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34987
34988         * modules/fnmatch-posix (License): Change to LGPLv2+.
34989         * modules/fnmatch-gnu (License): Likewise.
34990
34991 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34992
34993         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
34994
34995 2008-09-11  Jim Meyering  <meyering@redhat.com>
34996
34997         * users.txt: Add gtk-vnc.
34998
34999 2008-09-08  Simon Josefsson  <simon@josefsson.org>
35000
35001         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
35002         rotate amounts.
35003
35004         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
35005         required for 16-bit and 8-bit rotates.
35006         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
35007         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
35008         UINT8_MAX instead of hard-coded constants.
35009         Suggested by Paul Eggert.
35010
35011 2008-09-07  Bruno Haible  <bruno@clisp.org>
35012
35013         * tests/test-striconveh.c (main): Check behaviour when converting from
35014         UTF-7.
35015
35016         Make striconveh work better with stateful encodings.
35017         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
35018         that iconv does not increment the inptr when returning -1/EINVAL.
35019
35020 2008-09-07  Bruno Haible  <bruno@clisp.org>
35021
35022         * build-aux/config.rpath: Update according to libtool-2.2.6.
35023         * build-aux/config.libpath: Likewise.
35024
35025 2008-09-06  Bruno Haible  <bruno@clisp.org>
35026
35027         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
35028         * lib/freadptr.c (freadptr): Likewise.
35029         * lib/freadseek.c (freadptrinc): Likewise.
35030         Reported by Simon Josefsson.
35031
35032 2008-09-06  Bruno Haible  <bruno@clisp.org>
35033
35034         * modules/freadptr (License): Change to LGPLv2+.
35035         * modules/freadseek (License): Likewise.
35036         Suggested by Eric Blake.
35037
35038         * modules/memchr2 (License): Change to LGPLv2+.
35039         Approved by Eric Blake.
35040
35041 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35042             Bruno Haible  <bruno@clisp.org>
35043
35044         Make gnulib-tool work with native 'sed' on AIX.
35045         * gnulib-tool (sed_noop): New variable.
35046         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
35047         func_add_or_update, func_create_testdir): Use it to initialize sed
35048         script variables.
35049         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35050
35051 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
35052             Bruno Haible  <bruno@clisp.org>
35053
35054         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
35055         also works after #include directives.
35056
35057 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
35058
35059         getdate.y: reject an out-of-range timezone value
35060         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
35061         the range [-24...+24].  When specified with only one or two digits,
35062         * tests/test-getdate.c: Tests for the fix.
35063         * doc/getdate.texi: Document this change.
35064
35065 2008-09-03  Bruno Haible  <bruno@clisp.org>
35066
35067         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
35068
35069 2008-09-02  Simon Josefsson  <simon@josefsson.org>
35070
35071         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
35072         <bruce.korb@gmail.com> with ideas from Ben Pfaff
35073         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
35074         Blake <ebb9@byu.net>.
35075
35076         * tests/test-bitrotate.c: Add more test vectors.
35077
35078 2008-09-02  Eric Blake  <ebb9@byu.net>
35079
35080         vasnprintf-posix: handle large precision via %.*d
35081         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
35082         when handling it ourselves.
35083         * tests/test-vasnprintf-posix.c (test_function): Add test.
35084         * tests/test-snprintf-posix.h (test_function): Likewise.
35085         * tests/test-sprintf-posix.h (test_function): Likewise.
35086         * tests/test-vasprintf-posix.c (test_function): Likewise.
35087         Reported by Alain Guibert.
35088
35089 2008-09-01  Eric Blake  <ebb9@byu.net>
35090
35091         c-stack: make configure-time check more robust
35092         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
35093         successful sigaction call.
35094         Reported by Tom G. Christensen.
35095
35096 2008-09-01  Bruno Haible  <bruno@clisp.org>
35097
35098         New module 'findprog-lgpl'.
35099         * modules/findprog-lgpl: New file.
35100         * lib/findprog-lgpl.c: New file.
35101         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
35102         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
35103         to decide whether to use strdup or xstrdup, concatenated_filename or
35104         xconcatenated_filename.
35105
35106 2008-09-01  Bruno Haible  <bruno@clisp.org>
35107
35108         Split module 'concat-filename' into 'concat-filename' (LGPL) and
35109         'xconcat-filename' (GPL).
35110         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
35111         (License): Change to LGPLv2+.
35112         * modules/xconcat-filename: New file.
35113         * lib/concat-filename.h (concatenated_filename): Change specification.
35114         (xconcatenated_filename): New declaration.
35115         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
35116         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
35117         memory situations.
35118         * lib/xconcat-filename.c: New file.
35119         * NEWS: Mention the change.
35120         * lib/findprog.c: Include concat-filename.h, not filename.h.
35121         (find_in_path): Use xconcatenated_filename instead of
35122         concatenated_filename.
35123         * lib/javacomp.c: Include concat-filename.h, not filename.h.
35124         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
35125         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
35126         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
35127         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
35128         instead of concatenated_filename.
35129         * lib/javaexec.c: Include concat-filename.h, not filename.h.
35130         (execute_java_class): Use xconcatenated_filename instead of
35131         concatenated_filename.
35132         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
35133         * modules/javacomp (Depends-on): Likewise.
35134         * modules/javaexec (Depends-on): Likewise.
35135
35136 2008-09-01  Bruno Haible  <bruno@clisp.org>
35137
35138         Split module 'filename' into 'filename' and 'concat-filename'.
35139         * modules/filename: Keep only lib/filename.h.
35140         (License): Change to LGPLv2+.
35141         * modules/concat-filename: New file, extracted from modules/filename.
35142         * lib/filename.h (concatenated_filename): Remove declaration.
35143         * lib/concat-filename.h: New file, extracted from lib/filename.h.
35144         * lib/concat-filename.c: Include concat-filename.h.
35145         * NEWS: Mention the change.
35146
35147 2008-09-01  Simon Josefsson  <simon@josefsson.org>
35148
35149         * lib/bitrotate.h (rotl8, rotr8): Add.
35150
35151         * modules/bitrotate (configure.ac): Need
35152         AC_REQUIRE([AC_C_INLINE]).
35153         (Description): Mention stdint.h.  Reported by Bruno Haible
35154         <bruno@clisp.org>.
35155
35156         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
35157         Paolo Bonzini <bonzini@gnu.org>.
35158
35159 2008-08-31  Bruno Haible  <bruno@clisp.org>
35160
35161         Assume Solaris specific bi-arch conventions on Solaris systems.
35162         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
35163         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
35164         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
35165         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
35166         like acl_libdirstem.
35167         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
35168         acl_libdirstem.
35169         * NEWS: Mention the change.
35170         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
35171
35172 2008-08-31  Jim Meyering  <meyering@redhat.com>
35173
35174         * lib/strftime.h: Add comments describing the two added arguments.
35175
35176         remove duplicate #include directives
35177         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
35178         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
35179
35180 2008-08-31  Bruno Haible  <bruno@clisp.org>
35181
35182         New module 'sigpipe-die'.
35183         * modules/sigpipe-die: New file.
35184         * lib/sigpipe-die.h: New file.
35185         * lib/sigpipe-die.c: New file.
35186         * MODULES.html.sh (Signal handling): Add sigpipe-die.
35187
35188 2008-08-31  Bruno Haible  <bruno@clisp.org>
35189
35190         Don't override previously installed signal handlers.
35191         * lib/fatal-signal.c (saved_sigactions): New variable.
35192         (uninstall_handlers): Reset the signal to the saved handler, not
35193         to SIG_DFL (except when ignored).
35194         (install_handlers): Save the previous handlers.
35195
35196 2008-08-30  Bruno Haible  <bruno@clisp.org>
35197
35198         * gnulib-tool (func_reset_sigpipe): New function.
35199         (func_get_automake_snippet, func_modules_transitive_closure,
35200         func_import): Invoke it before a join command that reads from stdin,
35201         to avoid "echo: write error: Broken pipe" error messages on stderr.
35202         Reported by Sam Steingold <sds@gnu.org>.
35203
35204 2008-08-30  Bruno Haible  <bruno@clisp.org>
35205
35206         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
35207         Code copied from m4/open.m4.
35208         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
35209         access and the filename ends in a slash. Code copied from lib/open.c.
35210         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
35211         * tests/test-fopen.c (main): Check against bug with trailing slash.
35212
35213 2008-08-29  Bruno Haible  <bruno@clisp.org>
35214
35215         Avoid some "gcc -pedantic" warnings.
35216         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
35217         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
35218         * lib/dirent.in.h: Likewise.
35219         * lib/fcntl.in.h: Likewise.
35220         * lib/float.in.h: Likewise.
35221         * lib/iconv.in.h: Likewise.
35222         * lib/inttypes.in.h: Likewise.
35223         * lib/locale.in.h: Likewise.
35224         * lib/math.in.h: Likewise.
35225         * lib/netinet_in.in.h: Likewise.
35226         * lib/search.in.h: Likewise.
35227         * lib/signal.in.h: Likewise.
35228         * lib/stdarg.in.h: Likewise.
35229         * lib/stdint.in.h: Likewise.
35230         * lib/stdio.in.h: Likewise.
35231         * lib/stdlib.in.h: Likewise.
35232         * lib/string.in.h: Likewise.
35233         * lib/strings.in.h: Likewise.
35234         * lib/sys_select.in.h: Likewise.
35235         * lib/sys_socket.in.h: Likewise.
35236         * lib/sys_stat.in.h: Likewise.
35237         * lib/sys_time.in.h: Likewise.
35238         * lib/sysexits.in.h: Likewise.
35239         * lib/time.in.h: Likewise.
35240         * lib/unistd.in.h: Likewise.
35241         * lib/wchar.in.h: Likewise.
35242         * lib/wctype.in.h: Likewise.
35243         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
35244         * modules/fchdir (Makefile.am): Likewise.
35245         * modules/fcntl (Makefile.am): Likewise.
35246         * modules/float (Makefile.am): Likewise.
35247         * modules/iconv_open (Makefile.am): Likewise.
35248         * modules/inttypes (Makefile.am): Likewise.
35249         * modules/locale (Makefile.am): Likewise.
35250         * modules/math (Makefile.am): Likewise.
35251         * modules/netinet_in (Makefile.am): Likewise.
35252         * modules/search (Makefile.am): Likewise.
35253         * modules/signal (Makefile.am): Likewise.
35254         * modules/stdarg (Makefile.am): Likewise.
35255         * modules/stdint (Makefile.am): Likewise.
35256         * modules/stdio (Makefile.am): Likewise.
35257         * modules/stdlib (Makefile.am): Likewise.
35258         * modules/string (Makefile.am): Likewise.
35259         * modules/strings (Makefile.am): Likewise.
35260         * modules/sys_select (Makefile.am): Likewise.
35261         * modules/sys_socket (Makefile.am): Likewise.
35262         * modules/sys_stat (Makefile.am): Likewise.
35263         * modules/sys_time (Makefile.am): Likewise.
35264         * modules/sysexits (Makefile.am): Likewise.
35265         * modules/time (Makefile.am): Likewise.
35266         * modules/unistd (Makefile.am): Likewise.
35267         * modules/wchar (Makefile.am): Likewise.
35268         * modules/wctype (Makefile.am): Likewise.
35269         Reported by Reuben Thomas <rrt@sc3d.org>.
35270
35271 2008-08-29  Bruno Haible  <bruno@clisp.org>
35272
35273         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
35274         any more.
35275
35276 2008-08-29  Simon Josefsson  <simon@josefsson.org>
35277
35278         * MODULES.html.sh (Misc): Add bitrotate.
35279
35280         * modules/bitrotate: New file.
35281
35282         * lib/bitrotate.h: New file.
35283
35284         * modules/bitrotate-tests: New file.
35285
35286         * tests/test-bitrotate.c: New file.
35287
35288         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
35289         on the bitrotate module.
35290
35291         * lib/arctwo.c: Use new bitrotate module.
35292
35293 2008-08-29  Jim Meyering  <meyering@redhat.com>
35294
35295         bootstrap: merge changes from coreutils
35296         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
35297         of copied files.  Remove a kludge, now that this is fixed.
35298         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
35299         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
35300         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
35301
35302 2008-08-29  Bruno Haible  <bruno@clisp.org>
35303
35304         * MODULES.html.sh: Remove --cvs-urls option.
35305
35306 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
35307
35308         maint.mk: adjust to file name change
35309         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
35310
35311 2008-08-28  Jim Meyering  <meyering@redhat.com>
35312
35313         * modules/getndelim2 (License): Relicense to LGPLv2+.
35314         Approved by Richard Stallman for the version of 1995, and by
35315         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
35316
35317 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
35318
35319         * lib/getdelim.c (flockfile, funlockfile): Make all of them
35320         dummy if one is not available.  Do not touch them if
35321         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
35322         (getc_maybe_unlocked): New.
35323         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
35324
35325 2008-08-26  Eric Blake  <ebb9@byu.net>
35326
35327         doc/INSTALL: resync from autoconf
35328         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
35329         (INSTALL_PRELUDE): Delete; this is done more efficiently by
35330         moving...
35331         * install.texi [!autoconf]: ...here.  Resync from autoconf.
35332         * INSTALL: Regenerate.
35333         * INSTALL.ISO: New file.
35334         * INSTALL.UTF-8: Likewise.
35335
35336 2008-08-26  Jim Meyering  <meyering@redhat.com>
35337
35338         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
35339         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
35340         these definitions conditional, so that they may be overridden, too.
35341
35342 2008-08-26  Bruno Haible  <bruno@clisp.org>
35343
35344         Generate INSTALL file variants with prettier quotes.
35345         * doc/Makefile (INSTALL_PRELUDE): New macro.
35346         (INSTALL): Use it.
35347         (INSTALL.ISO, INSTALL.UTF-8): New rules.
35348
35349 2008-08-26  Bruno Haible  <bruno@clisp.org>
35350
35351         Run makeinfo in an English locale.
35352         * doc/Makefile (MAKEINFO): New variable.
35353
35354 2008-08-26  Bruno Haible  <bruno@clisp.org>
35355
35356         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
35357         Suggested by Eric Blake.
35358
35359 2008-08-25  Bruno Haible  <bruno@clisp.org>
35360
35361         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
35362
35363 2008-08-25  Eric Blake  <ebb9@byu.net>
35364
35365         c-stack: test that stack overflow can be caught
35366         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
35367         that platform allows handling stack overflow; at least OS/2 EMX
35368         has sigaltstack, but crashes before transferring control to
35369         handler on stack overflow.
35370         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
35371         check for HAVE_STACK_OVERFLOW_HANDLING.
35372         Reported by Elbert Pol.
35373
35374 2008-08-25  Bruno Haible  <bruno@clisp.org>
35375
35376         * doc/posix-functions/strftime.texi: Fix description of strftime
35377         module.
35378
35379 2008-08-24  Bruno Haible  <bruno@clisp.org>
35380
35381         * tests/uniwidth/test-uc_width2.c: New file.
35382         * tests/uniwidth/test-uc_width2.sh: New file.
35383         * modules/uniwidth/width-tests (Files): Add the new files.
35384         (TESTS): Add uniwidth/test-uc_width2.sh.
35385         (TESTS_ENVIRONMENT): New variable.
35386         (check_PROGRAMS): Add test-uc_width2.
35387         (test_uc_width2_SOURCES): New variable.
35388
35389         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
35390         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
35391         not 0x00AB.
35392         Reported by Alexander V. Lukyanov <lav@netis.ru>.
35393
35394 2008-08-22  Eric Blake  <ebb9@byu.net>
35395
35396         test-lock, test-tls: mention why a test is skipped
35397         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
35398         skipped.
35399         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
35400
35401         count-one-bits: relax license
35402         * modules/count-one-bits (License): Relicense to LGPLv2+.
35403         Suggested by Ludovic Courtès, approved by Ben Pfaff.
35404
35405 2008-08-22  Andreas Schwab  <schwab@suse.de>
35406
35407         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
35408         Remove spurious space in assignment.
35409
35410 2008-08-21  Simon Josefsson  <simon@josefsson.org>
35411
35412         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
35413         Paul Eggert <eggert@CS.UCLA.EDU>.
35414
35415 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
35416
35417         * modules/gettext: Add m4/threadlib.m4.
35418
35419 2008-08-19  Eric Blake  <ebb9@byu.net>
35420
35421         test-c-stack: fix compilation failure on FreeBSD 5.0
35422         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
35423         headers before <sys/resource.h>.
35424         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
35425         the bug.
35426         Reported by Nelson H. F. Beebe.
35427
35428         strverscmp: migrate from "strverscmp.h" to <string.h>
35429         * modules/string (Makefile.am): Add new hooks.
35430         * modules/strverscmp (Files): Remove strverscmp.h.
35431         (Depends-on): Add string.
35432         (configure.ac): Add indicator.
35433         (Include): Mention new header.
35434         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
35435         defaults.
35436         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
35437         results.
35438         * lib/strverscmp.h: Delete.
35439         * lib/string.in.h (strverscmp): Provide declaration, when needed.
35440         * tests/test-strverscmp.c (includes): Adjust client.
35441         * lib/check-version.c (includes): Likewise.
35442         * NEWS: Document the change.
35443
35444         strverscmp: add unit test
35445         * modules/strverscmp-tests: New file.
35446         * tests/test-strverscmp.c: Likewise.
35447
35448 2008-08-19  Simon Josefsson  <simon@josefsson.org>
35449
35450         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
35451         regarding Windows crypto stuff, from Mono.
35452
35453 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
35454
35455         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
35456         if present, for intel RND.  Return error on failures.
35457
35458 2008-08-18  Ben Pfaff  <blp@gnu.org>
35459
35460         gitlog-to-changelog: give better diagnostic for failed pipe-open
35461         * build-aux/gitlog-to-changelog: Improve error message: suggest
35462         that the version of Git may be too old.
35463
35464 2008-08-18  Simon Josefsson  <simon@josefsson.org>
35465
35466         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
35467         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
35468
35469 2008-08-18  Bruno Haible  <bruno@clisp.org>
35470
35471         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
35472         pthread_in_use().
35473
35474 2008-08-18  Bruno Haible  <bruno@clisp.org>
35475
35476         * lib/glthread/threadlib.c: Include <pthread.h>.
35477
35478 2008-08-18  Bruno Haible  <bruno@clisp.org>
35479
35480         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
35481         glthread_recursive_lock_* macros.
35482         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
35483         Fix syntax error.
35484
35485 2008-08-18  Bruno Haible  <bruno@clisp.org>
35486
35487         * lib/glthread/thread.c: Avoid forcing a context switch right after
35488         thread creation.
35489
35490 2008-08-17  Bruno Haible  <bruno@clisp.org>
35491
35492         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
35493         * lib/glthread/thread.h: Provide Win32 specific implementation.
35494         * modules/thread (Files): Add lib/glthread/thread.c.
35495         (Depends-on): Add lock.
35496         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
35497
35498 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35499
35500         New module 'yield'.
35501         * modules/yield: New file.
35502         * lib/glthread/yield.h: New file.
35503         * m4/yield.m4: New file.
35504         * MODULES.html.sh (Multithreading): Add yield.
35505
35506 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35507
35508         New module 'thread'.
35509         * modules/thread: New file.
35510         * lib/glthread/thread.h: New file.
35511         * m4/thread.m4: New file.
35512         * MODULES.html.sh (Multithreading): Add thread.
35513
35514 2008-08-17  Bruno Haible  <bruno@clisp.org>
35515
35516         * lib/glthread/lock.h: Include <stdlib.h> always.
35517         * lib/glthread/tls.h: Likewise.
35518         * lib/glthread/cond.h: Likewise.
35519
35520 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35521
35522         New module 'cond'.
35523         * modules/cond: New file.
35524         * lib/glthread/cond.h: New file.
35525         * lib/glthread/cond.c: New file.
35526         * m4/cond.m4: New file.
35527         * MODULES.html.sh (Multithreading): Add cond.
35528
35529 2008-08-16  Eric Blake  <ebb9@byu.net>
35530
35531         c-stack: fix regression on Irix 5.3 from 2008-06-21
35532         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
35533         sa_sigaction...
35534         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
35535         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
35536         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
35537         * modules/signal (Makefile.am): Use the value.
35538         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
35539         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
35540         * doc/posix-headers/signal.texi (signal.h): Document this
35541         portability issue.
35542         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
35543         Reported by Tom G. Christensen.
35544
35545 2008-08-17  Bruno Haible  <bruno@clisp.org>
35546
35547         New module 'threadlib'.
35548         * modules/threadlib: New file.
35549         * lib/glthread/threadlib.c: New file, extracted from
35550         lib/glthread/lock.c.
35551         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
35552         functions.
35553         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
35554         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
35555         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
35556         macros.
35557         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
35558         (gl_DISABLE_THREADS): Remove macro.
35559         * modules/lock (Files): Remove build-aux/config.rpath.
35560         (Depends-on): Remove havelib. Add threadlib.
35561         (configure.ac-early): Remove section.
35562         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
35563         * modules/tls (Depends-on): Remove lock. Add threadlib.
35564         (Link): New section, copied from threadlib.
35565         * MODULES.html.sh (Multithreading): Add threadlib.
35566
35567 2008-08-14  Bruno Haible  <bruno@clisp.org>
35568
35569         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
35570         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
35571         glthread_rwlock_unlock, glthread_rwlock_destroy,
35572         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
35573         glthread_recursive_lock_destroy): Define as macros always.
35574         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
35575         glthread_lock_lock.
35576         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
35577         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
35578         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
35579         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
35580         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
35581         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
35582         (glthread_recursive_lock_lock_func): Renamed from
35583         glthread_recursive_lock_lock.
35584         (glthread_recursive_lock_unlock_func): Renamed from
35585         glthread_recursive_lock_unlock.
35586         (glthread_recursive_lock_destroy_func): Renamed from
35587         glthread_recursive_lock_destroy.
35588
35589 2008-08-14  Bruno Haible  <bruno@clisp.org>
35590
35591         * lib/glthread/lock.h: Renamed from lib/lock.h.
35592         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
35593         * lib/glthread/tls.h: Renamed from lib/tls.h.
35594         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
35595         * lib/fstrcmp.c: Update includes.
35596         * lib/strsignal.c: Update includes.
35597         * modules/lock (Files, Makefile.am): Update.
35598         (Include): Change to "glthread/lock.h".
35599         * modules/tls (Files, Makefile.am): Update.
35600         (Include): Change to "glthread/tls.h".
35601         * tests/test-lock.c: Update includes.
35602         * tests/test-tls.c: Update includes.
35603         * NEWS: Mention the renamed header files.
35604
35605 2008-08-11  Jim Meyering  <meyering@redhat.com>
35606
35607         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
35608
35609 2008-08-11  Eric Blake  <ebb9@byu.net>
35610
35611         test-c-stack: avoid C99-ism
35612         * tests/test-c-stack.c (main): Fix whitespace, move declaration
35613         before statement.
35614         Reported by Alain Guibert.
35615
35616 2008-08-10  Jim Meyering  <meyering@redhat.com>
35617
35618         ensure that return value of uinttostr et al are not ignored
35619         * lib/inttostr.h (__GNUC_PREREQ): Define.
35620         (__attribute_warn_unused_result__): Define.
35621         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
35622
35623 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
35624
35625         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
35626         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
35627
35628 2008-08-07  Jim Meyering  <meyering@redhat.com>
35629
35630         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
35631
35632         * modules/mkstemp (License): Relicense under LGPLv2+.
35633         * modules/tempname (License): Likewise.
35634
35635 2008-08-06  Bruno Haible  <bruno@clisp.org>
35636
35637         * lib/poll.c (poll): Further micro-optimization.
35638
35639 2008-08-06  Jim Meyering  <meyering@redhat.com>
35640
35641         inet_pton.c: use locale-independent tolower
35642         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
35643         (inet_pton6): Use c_tolower rather than tolower.
35644         * modules/inet_pton (Depends-on): Add c-ctype.
35645
35646 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
35647
35648         * lib/poll.c (poll): Avoid division when timeout is 0, cache
35649         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
35650
35651 2008-08-06  Jim Meyering  <meyering@redhat.com>
35652
35653         * modules/inet_pton (License): Relicense under LGPLv2+.
35654
35655 2008-08-03  Bruno Haible  <bruno@clisp.org>
35656
35657         Additional non-aborting API for lock and tls.
35658         * lib/lock.h: Include <errno.h>.
35659         (glthread_lock_init): New macro/function.
35660         (gl_lock_init): Define as wrapper around glthread_lock_init.
35661         (glthread_lock_lock): New macro/function.
35662         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
35663         (glthread_lock_unlock): New macro/function.
35664         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
35665         (glthread_lock_destroy): New macro/function.
35666         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
35667         (glthread_rwlock_init): New macro/function.
35668         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
35669         (glthread_rwlock_rdlock): New macro/function.
35670         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
35671         (glthread_rwlock_wrlock): New macro/function.
35672         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
35673         (glthread_rwlock_unlock): New macro/function.
35674         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
35675         (glthread_rwlock_destroy): New macro/function.
35676         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
35677         (glthread_recursive_lock_init): New macro/function.
35678         (gl_recursive_lock_init): Define as wrapper around
35679         glthread_recursive_lock_init.
35680         (glthread_recursive_lock_lock): New macro/function.
35681         (gl_recursive_lock_lock): Define as wrapper around
35682         glthread_recursive_lock_lock.
35683         (glthread_recursive_lock_unlock): New macro/function.
35684         (gl_recursive_lock_unlock): Define as wrapper around
35685         glthread_recursive_lock_unlock.
35686         (glthread_recursive_lock_destroy): New macro/function.
35687         (gl_recursive_lock_destroy): Define as wrapper around
35688         glthread_recursive_lock_destroy.
35689         (glthread_once): New macro/function.
35690         (gl_once): Define as wrapper around glthread_once.
35691         Update function declarations.
35692         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
35693         glthread_rwlock_init. Return error code.
35694         (glthread_rwlock_rdlock_multithreaded): Renamed from
35695         glthread_rwlock_rdlock. Return error code.
35696         (glthread_rwlock_wrlock_multithreaded): Renamed from
35697         glthread_rwlock_wrlock. Return error code.
35698         (glthread_rwlock_unlock_multithreaded): Renamed from
35699         glthread_rwlock_unlock. Return error code.
35700         (glthread_rwlock_destroy_multithreaded): Renamed from
35701         glthread_rwlock_destroy. Return error code.
35702         (glthread_recursive_lock_init_multithreaded): Renamed from
35703         glthread_recursive_lock_init. Return error code.
35704         (glthread_recursive_lock_lock_multithreaded): Renamed from
35705         glthread_recursive_lock_lock. Return error code.
35706         (glthread_recursive_lock_unlock_multithreaded): Renamed from
35707         glthread_recursive_lock_unlock. Return error code.
35708         (glthread_recursive_lock_destroy_multithreaded): Renamed from
35709         glthread_recursive_lock_destroy. Return error code.
35710         (glthread_once_call): Make static.
35711         (glthread_once_multithreaded): Renamed from glthread_once.
35712         * lib/tls.h: Include <errno.h>.
35713         (glthread_tls_key_init): New macro/function.
35714         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
35715         (glthread_tls_set): New macro/function.
35716         (gl_tls_set): Define as wrapper around glthread_tls_set.
35717         (glthread_tls_key_destroy): New macro/function.
35718         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
35719         Update function declarations.
35720         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
35721         glthread_tls_get.
35722         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
35723
35724 2008-08-04  Eric Blake  <ebb9@byu.net>
35725
35726         gnumakefile: use space, not TAB, outside of targets
35727         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
35728
35729 2008-08-02  Jim Meyering  <meyering@redhat.com>
35730
35731         getdate.y: avoid locale-dependent date parsing failure
35732         In Turkish locales, getdate would fail to recognize keywords
35733         containing a lowercase "i".  The solution is not to rely on
35734         locale-sensitive case-conversion.
35735         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
35736         (lookup_word): Use c_toupper in place of toupper.
35737         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
35738         Reported by Vefa Bicakci <bicave@superonline.com> in
35739         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
35740         * modules/getdate (Depends-on): Add c-ctype.
35741
35742 2008-08-02  Bruno Haible  <bruno@clisp.org>
35743
35744         * gnulib-tool (func_import): When updating or creating a .gitignore
35745         file, prepend each added line with a slash, and ignore leading slashes
35746         from the existing lines.
35747         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
35748
35749 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35750
35751         Portability fix for GNU make 3.79.1.
35752         * top/GNUmakefile: Avoid 'else COND', which older GNU make
35753         versions do not understand.
35754
35755 2008-08-01  Bruno Haible  <bruno@clisp.org>
35756
35757         Work around bug of HP-UX 10.20 cc with -0.0 literal.
35758         * tests/test-isnanf.h (zero): New variable.
35759         (main): Avoid literal -0.0f.
35760         * tests/test-isnand.h (zero): New variable.
35761         (main): Avoid literal -0.0.
35762         * tests/test-isnanl.h (zero): New variable.
35763         (main): Avoid literal -0.0L.
35764         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
35765         (test_float, test_double, test_long_double): Avoid literals -0.0f,
35766         -0.0, -0.0L.
35767         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
35768         (test_signbitd): Avoid literal -0.0.
35769         (test_signbitl): Avoid literal -0.0L.
35770         * tests/test-ceilf1.c (zero): New variable.
35771         (main): Avoid literal -0.0f.
35772         * tests/test-ceill.c (zero): New variable.
35773         (main): Avoid literal -0.0L.
35774         * tests/test-floorf1.c (zero): New variable.
35775         (main): Avoid literal -0.0f.
35776         * tests/test-floorl.c (zero): New variable.
35777         (main): Avoid literal -0.0L.
35778         * tests/test-roundf1.c (zero): New variable.
35779         (main): Avoid literal -0.0f.
35780         * tests/test-round1.c (zero): New variable.
35781         (main): Avoid literal -0.0.
35782         * tests/test-roundl.c (zero): New variable.
35783         (main): Avoid literal -0.0L.
35784         * tests/test-truncf1.c (zero): New variable.
35785         (main): Avoid literal -0.0f.
35786         * tests/test-trunc1.c (zero): New variable.
35787         (main): Avoid literal -0.0.
35788         * tests/test-truncl.c (zero): New variable.
35789         (main): Avoid literal -0.0L.
35790         * tests/test-frexp.c (zero): New variable.
35791         (main): Avoid literal -0.0.
35792         * tests/test-frexpl.c (zero): New variable.
35793         (main): Avoid literal -0.0L.
35794         * tests/test-ldexpl.c (zero): New variable.
35795         (main): Avoid literal -0.0L.
35796         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
35797         (zerod, zerol): New variables.
35798         (test_function): Avoid literals -0.0, -0.0L.
35799         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
35800         (zerod, zerol): New variables.
35801         (test_function): Avoid literals -0.0, -0.0L.
35802         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
35803         (zerod, zerol): New variables.
35804         (test_function): Avoid literals -0.0, -0.0L.
35805         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
35806         (zerod, zerol): New variables.
35807         (test_function): Avoid literals -0.0, -0.0L.
35808         * tests/test-strtod.c (zero): New variable.
35809         (main): Avoid literal -0.0.
35810         Reported by Jonathan C. Patschke <jp@centtech.com>.
35811
35812 2008-07-31  Jim Meyering  <meyering@redhat.com>
35813
35814         sha256.h: correct definition of SHA224_DIGEST_SIZE
35815         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
35816         Reported by Paulie Pena IV <paulie4@gmail.com>.
35817         Define as 224 / 8, rather than as a literal.
35818         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
35819         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
35820         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
35821
35822 2008-07-31  Bruno Haible  <bruno@clisp.org>
35823
35824         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
35825         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
35826         Reported by Jonathan Patschke <jp@centtech.com>.
35827
35828 2008-07-31  Bruno Haible  <bruno@clisp.org>
35829
35830         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
35831         Reported by Paolo Bonzini <bonzini@gnu.org>.
35832
35833 2008-07-30  Eric Blake  <ebb9@byu.net>
35834
35835         test-strtod: allow compilation without -lm
35836         * tests/test-strtod.c (main): Avoid link dependence on fabs.
35837         Reported by Dennis Clarke <blastwave@gmail.com>.
35838
35839 2008-07-28  Jim Meyering  <meyering@redhat.com>
35840
35841         bootstrap: work also when there are no .po files in po/
35842         * build-aux/bootstrap (update_po_files): Complete the change
35843         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
35844
35845 2008-07-27  Jim Meyering  <meyering@redhat.com>
35846
35847         * users.txt: Add zile.
35848
35849 2008-07-26  Ben Pfaff  <blp@gnu.org>
35850
35851         Add missing dependencies on new m4/exponent[fdl].m4 files.
35852         * modules/isnanf-nolibm: Add m4/exponentf.m4.
35853         * modules/isnand-nolibm: Add m4/exponentd.m4.
35854         * modules/isnanl-nolibm: Add m4/exponentl.m4.
35855         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
35856         m4/isnan[fdl].m4, because the macros actually used moved.
35857         Reported by Jim Meyering.
35858
35859 2008-07-14  Ben Pfaff  <blp@gnu.org>
35860
35861         Add isinf module.
35862         * lib/isinf.c: New file.
35863         * lib/math.in.h: Define isinf macro if we have decided to replace
35864         it.
35865         * m4/isinf.m4: New file.
35866         * m4/math_h.m4: Initialize and substitute variables for isinf
35867         module.
35868         * modules/isinf: New file.
35869         * modules/isinf-tests: New file.
35870         * modules/math: Add substitutions for new module.
35871         * tests/test-isinf.c: New file.
35872         * doc/posix-functions/isinf.texi: Mention new module.
35873         * MODULES.html.sh: Mention new module.
35874
35875 2008-07-14  Ben Pfaff  <blp@gnu.org>
35876
35877         Factor out some macros for use by additional modules.
35878         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
35879         exponentf.m4.
35880         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
35881         exponentd.m4.
35882         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
35883         file exponentl.m4.
35884         * m4/exponentf.m4: New file.
35885         * m4/exponentd.m4: New file.
35886         * m4/exponentl.m4: New file.
35887         * modules/isnanf: Use new file m4/exponentf.m4.
35888         * modules/isnand: Use new file m4/exponentd.m4.
35889         * modules/isnanl: Use new file m4/exponentl.m4.
35890
35891 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
35892
35893         mktime.c: normalize tp->tm_isdst value to -1/0/1.
35894         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
35895         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
35896         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
35897
35898         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
35899         readlink on platforms without PATH_MAX.
35900
35901 2008-07-21  Eric Blake  <ebb9@byu.net>
35902
35903         Warn, not fail, on stale version.
35904         * top/GNUmakefile (_curr-ver): Tone down previous patch.
35905
35906         Don't allow installation with stale devel version number.
35907         * top/GNUmakefile (_is-install-target): New macro.
35908         (_curr-ver): Forbid installation with stale version number.
35909
35910 2008-07-20  Bruno Haible  <bruno@clisp.org>
35911
35912         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
35913         TESTS_ENVIRONMENT.
35914         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
35915
35916 2008-07-20  Bruno Haible  <bruno@clisp.org>
35917
35918         * lib/c-stack.h (c_stack_action): Add documentation.
35919         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
35920
35921 2008-07-20  Bruno Haible  <bruno@clisp.org>
35922
35923         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
35924         * modules/readlink (License): Likewise.
35925
35926 2008-07-17  Eric Blake  <ebb9@byu.net>
35927
35928         * modules/c-stack (Link): Fix typo.
35929
35930         Make c-stack use libsigsegv, when available.
35931         * modules/c-stack (Depends-on): Add libsigsegv.
35932         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
35933         needed.
35934         * lib/c-stack.c (SIGSTKSZ): Define fallback.
35935         (segv_handler, overflow_handler, c_stack_action)
35936         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
35937         implementation when libsigsegv is available, but only when using
35938         the library is necessary.
35939         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
35940         comment, explaining why XSI check fails on Linux.
35941         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
35942         * tests/test-c-stack2.sh: Tweak skip message.
35943         * NEWS: Document new link-time requirements.
35944
35945 2008-07-16  Eric Blake  <ebb9@byu.net>
35946
35947         c-stack: Expose false positives when not using libsigsegv.
35948         * modules/c-stack-tests (Files): Expand test.
35949         * tests/test-c-stack.c (main): Add means to conditionally trigger
35950         non-overflow SIGSEGV.
35951         * tests/test-c-stack2.sh: New file.
35952
35953 2008-07-14  Bruno Haible  <bruno@clisp.org>
35954
35955         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
35956         Reported by Eric Blake.
35957
35958 2008-07-14  Sam Steingold  <sds@gnu.org>
35959             Bruno Haible  <bruno@clisp.org>
35960
35961         New module libsigsegv.
35962         * modules/libsigsegv: New file.
35963         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
35964         modifications.
35965         * MODULES.html.sh (Signal handling): New section.
35966
35967 2008-07-14  Bruno Haible  <bruno@clisp.org>
35968
35969         * modules/unictype/ctype-* (Description): Add the word "function".
35970         Improves the resulting doc in MODULES.html.
35971
35972 2008-07-12  Ben Pfaff  <blp@gnu.org>
35973
35974         Add longlong module.
35975         * modules/longlong: New file.
35976
35977 2008-07-12  Bruno Haible  <bruno@clisp.org>
35978
35979         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
35980         to empty.
35981
35982 2008-07-10  Ben Pfaff  <blp@gnu.org>
35983
35984         Add isnan module.
35985         * doc/posix-functions/isnan.texi: Mention new module.
35986         * lib/math.in.h: Define isnan macro if we have decided to replace
35987         it.
35988         * m4/isnan.m4: New file.
35989         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
35990         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
35991         also.
35992         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
35993         redundancy.
35994         * m4/math_h.m4: Initialize and substitute variables for isnan
35995         module.
35996         * modules/isnan: New file.
35997         * modules/isnan-tests: New file.
35998         * modules/math: Add substitutions for new module.
35999         * tests/test-isnan.c: New file.
36000         * MODULES.html.sh: Mention new module.
36001
36002 2008-07-10  Ben Pfaff  <blp@gnu.org>
36003
36004         Add isnanf module.
36005         * lib/isnanf.m4: New file.
36006         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
36007         (gl_HAVE_ISNANF_IN_LIBM): New macro.
36008         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
36009         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
36010         * modules/isnanf: New file.
36011         * modules/isnanf-tests: New file.
36012         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
36013         files.
36014         * tests/test-isnanf-nolibm.c: factored most of its contents into
36015         new file tests/test-isnanf.h.
36016         * tests/test-isnanf.h: New file.
36017         * tests/test-isnanf.c: New file.
36018         * MODULES.html.sh: Mention new module.
36019         * doc/glibc-functions/isnanf.texi: Mention new module.
36020
36021 2008-07-10  Ben Pfaff  <blp@gnu.org>
36022
36023         Add isnand module.
36024         * lib/isnand.h: New file.
36025         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
36026         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
36027         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
36028         functionality also.
36029         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
36030         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
36031         (gl_HAVE_ISNAND_IN_LIBM): New macro.
36032         * modules/isnand: New file.
36033         * modules/isnand-tests: New file.
36034         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
36035         files.
36036         * tests/test-isnand-nolibm.c: factored most of its contents into
36037         new file tests/test-isnand.h.
36038         * tests/test-isnand.h: New file.
36039         * tests/test-isnand.c: New file.
36040         * MODULES.html.sh: Mention new module.
36041
36042 2008-07-10  Ben Pfaff  <blp@gnu.org>
36043
36044         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
36045         * lib/isnand.h: Rename lib/isnand-nolibm.h.
36046         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
36047         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
36048         * modules/isnanf-nolibm: Update references to renamed files.
36049         * modules/isnand-nolibm: Likewise.
36050         * modules/isnanf-nolibm-tests: Likewise.
36051         * modules/isnand-nolibm-tests: Likewise.
36052         * lib/frexp.c: Likewise.
36053         * lib/isfinite.c: Likewise.
36054         * lib/signbitd.c: Likewise.
36055         * lib/signbitf.c: Likewise.
36056         * lib/vasnprintf.c: Likewise.
36057         * tests/test-ceilf1.c: Likewise.
36058         * tests/test-ceilf2.c: Likewise.
36059         * tests/test-floorf1.c: Likewise.
36060         * tests/test-floorf2.c: Likewise.
36061         * tests/test-frexp.c: Likewise.
36062         * tests/test-round1.c: Likewise.
36063         * tests/test-round2.c: Likewise.
36064         * tests/test-roundf1.c: Likewise.
36065         * tests/test-strtod.c: Likewise.
36066         * tests/test-trunc1.c: Likewise.
36067         * tests/test-trunc2.c: Likewise.
36068         * tests/test-truncf1.c: Likewise.
36069         * tests/test-truncf2.c: Likewise.
36070         * NEWS: Mention the renamed header files.
36071
36072 2008-07-11  Jim Meyering  <meyering@redhat.com>
36073
36074         vc-list-files: make the last-resort awk code more portable
36075         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
36076         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
36077         does not support it.
36078
36079 2008-07-10  Eric Blake  <ebb9@byu.net>
36080
36081         Work with tar's bootstrap.
36082         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
36083         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
36084         an m4 comment.
36085
36086 2008-07-09  Jim Meyering  <meyering@redhat.com>
36087
36088         posix-shell.m4: fix typo that made this test malfunction
36089         * m4/posix-shell.m4: Remove capitalization in variable name.
36090
36091 2008-07-08  Bruno Haible  <bruno@clisp.org>
36092
36093         * m4/onceonly.m4: Update comments.
36094         Reported by Ben Pfaff <blp@cs.stanford.edu>.
36095
36096 2008-07-04  Jim Meyering  <meyering@redhat.com>
36097
36098         * users.txt: Add vc-dwim.
36099         (bison, coreutils): Use the gitweb URL.
36100
36101 2008-07-03  Jim Meyering  <meyering@redhat.com>
36102
36103         * users.txt: Add libffcall.  From Sam Steingold.
36104
36105 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
36106
36107         getdate.y: do not ignore TZ with relative day, month or year offset
36108         * lib/getdate.y (get_date): Move the tz-handling block to follow the
36109         relative-date-handling, since otherwise, the latter would clobber the
36110         sole output (an updated Start value) of the tz-handling block.
36111         * tests/test-getdate.c: Tests for the fix
36112
36113 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36114
36115         Recognize 'foo_LIBRARIES += libgnu.a'.
36116         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
36117         makefile snippet has already specified an installation location,
36118         also using '+='.
36119
36120 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
36121
36122         getdate.y: factor out common actions
36123         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
36124         Use them in place of open-coded actions.
36125
36126 2008-07-01  Simon Josefsson  <simon@josefsson.org>
36127
36128         Add self-test for getdate module.
36129         * modules/getdate-tests: New file.
36130         * tests/test-getdate.c: New file.
36131
36132 2008-06-29  Bruno Haible  <bruno@clisp.org>
36133
36134         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
36135         .gitignore.
36136         Reported by Sylvain Beucler <beuc@beuc.net>.
36137
36138 2008-06-29  Bruno Haible  <bruno@clisp.org>
36139
36140         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
36141         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
36142
36143 2008-06-29  Bruno Haible  <bruno@clisp.org>
36144
36145         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
36146         EXTRA_DIST.
36147         Reported by Sylvain Beucler <beuc@beuc.net>.
36148
36149 2008-06-26  Jim Meyering  <meyering@redhat.com>
36150
36151         make several modules depend on the "open" module
36152         This provides slightly increased consistency when opening-for-write
36153         the name of a non-directory spelled with a trailing slash.
36154         * modules/chdir-safer: Likewise.
36155         * modules/chown: Likewise.
36156         * modules/clean-temp: Likewise.
36157         * modules/copy-file: Likewise.
36158         * modules/fchdir: Likewise.
36159         * modules/fcntl-safer: Likewise.
36160         * modules/pipe: Likewise.
36161         * modules/utime: Likewise.
36162         Prompted by Eric Blake and Bruno Haible.
36163
36164 2008-06-24  Andreas Schwab  <schwab@suse.de>
36165
36166         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
36167         literals can be used as initializers for global variables.
36168
36169 2008-06-23  Eric Blake  <ebb9@byu.net>
36170
36171         Make gnulib-cache.m4 easier to diff.
36172         * gnulib-tool (func_import): Allow newlines when reading cached
36173         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
36174
36175 2008-06-23  Bruno Haible  <bruno@clisp.org>
36176
36177         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
36178         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
36179         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
36180         m4/signalblocking.m4.
36181         (gl_PREREQ_SIGACTION): Don't invoke it.
36182         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
36183         gl_PREREQ_SIG_HANDLER_H.
36184         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
36185         Don't check for sigaction here.
36186
36187 2008-06-23  Bruno Haible  <bruno@clisp.org>
36188
36189         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
36190         (install_handlers): Don't set the SA_RESETHAND flag.
36191
36192 2008-06-23  Bruno Haible  <bruno@clisp.org>
36193
36194         * m4/sigaction.m4: Comment fixes.
36195         * lib/signal.in.h: Likewise.
36196
36197 2008-06-23  Eric Blake  <ebb9@byu.net>
36198
36199         Fix typo.
36200         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
36201
36202         Avoid SA_ namespace.
36203         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
36204         Reported by Ralf Wildenhues.
36205
36206         Avoid test failure due to SA_RESTORER.
36207         * tests/test-sigaction.c (SA_MASK): New macro.
36208         (main): Avoid failing due to extension flags being set.
36209         Reported by Jim Meyering.
36210
36211         Revert use of sig-handler.h in sigprocmask.c.
36212         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
36213         it requires the existence of struct sigaction.
36214         * lib/sigprocmask.c (handler_t): Restore typedef.
36215         (rpl_signal, old_handlers): Use local type.
36216
36217 2008-06-22  Bruno Haible  <bruno@clisp.org>
36218
36219         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
36220         conditionally.
36221         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36222
36223 2008-06-22  Bruno Haible  <bruno@clisp.org>
36224
36225         * doc/posix-functions/siginterrupt.texi: Move note.
36226
36227         * lib/signal.in.h (SA_RESTART): New macro.
36228         * lib/sigaction.c: Update comment.
36229
36230         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
36231
36232         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
36233         (gl_PREREQ_SIGPROCMASK): Invoke it.
36234         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
36235
36236         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
36237
36238         * lib/sigprocmask.c: Update a comment.
36239
36240 2008-06-21  Eric Blake  <ebb9@byu.net>
36241
36242         Use sigaction module rather than signal().
36243         * modules/c-stack (Depends-on): Add sigaction.
36244         * modules/fatal-signal (Depends-on): Likewise.
36245         * modules/nanosleep (Depends-on): Likewise.
36246         * modules/sigprocmask (Files): Add sig-handler.h.
36247         * modules/sigaction (Files): Likewise.
36248         * lib/sig-handler.h (get_handler): New file, suggested by Paul
36249         Eggert.
36250         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
36251         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
36252         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
36253         (init_fatal_signals): Likewise.
36254         * lib/nanosleep.c (rpl_nanosleep): Likewise.
36255         (siginterrupt): Delete fallback.
36256         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
36257         instead.
36258         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
36259         siginterrupt.
36260
36261         New module sigaction, for mingw.
36262         * modules/sigaction: New module...
36263         * modules/sigaction-tests: ...and its test.
36264         * m4/sigaction.m4: New file.
36265         * lib/sigaction.c: Likewise.
36266         * tests/test-sigaction.c: Likewise.
36267         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
36268         * modules/signal (Makefile.am): Likewise.
36269         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
36270         needed.
36271         * doc/posix-headers/signal.texi (signal.h): Mention provided
36272         types.
36273         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
36274         that sigaction is preferable.
36275         * doc/posix-functions/sigaction.texi (sigaction): Mention new
36276         module.
36277         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
36278         sigaction.
36279
36280         Improve robustness of sigprocmask by overriding signal.
36281         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
36282         is in use.
36283         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
36284         (SIGKILL, SIGSTOP): Provide fallbacks.
36285         (rpl_signal): Implement.
36286         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
36287         signal can be called inside handlers.
36288
36289         Fix nanosleep module on mingw.
36290         * modules/nanosleep (Depends-on): Add sys_select.
36291         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
36292
36293         Fix licensing of sigprocmask.
36294         * modules/raise (License): Relicense as LGPL.
36295
36296 2008-06-21  Bruno Haible  <bruno@clisp.org>
36297
36298         * lib/propername.c (proper_name_utf8): Don't use the transliterated
36299         result if it contains question marks.
36300         Reported by Michael Geng <linux@michaelgeng.de>.
36301
36302 2008-06-19  Bruno Haible  <bruno@clisp.org>
36303
36304         Fix CVS-ism.
36305         * doc/gnulib.texi: Include updated-stamp.texi.
36306         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
36307         (updated-stamp.texi): New rule.
36308         (gnulib.info): Depend on it.
36309         * doc/.gitignore: Add updated-stamp.texi.
36310         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
36311
36312 2008-06-19  Bruno Haible  <bruno@clisp.org>
36313
36314         * doc/Makefile (gnulib.info): Update and simplify dependencies.
36315         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
36316
36317 2008-06-19  Eric Blake  <ebb9@byu.net>
36318
36319         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
36320         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
36321         Reported by Stepan Kasal.
36322
36323 2008-06-18  Bruno Haible  <bruno@clisp.org>
36324
36325         * lib/fatal-signal.c (init_fatal_signals): Add comment.
36326         Reported by Eric Blake.
36327
36328 2008-06-18  Eric Blake  <ebb9@byu.net>
36329
36330         Work around cygwin 1.5.25 strsignal bug.
36331         * tests/test-strsignal.c: Allow for const char *.
36332         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
36333
36334 2008-06-18  Simon Josefsson  <simon@josefsson.org>
36335
36336         * users.txt: Update URL to article and add author/date
36337         information.
36338
36339 2008-06-17  Bruno Haible  <bruno@clisp.org>
36340
36341         New macro gl_DISABLE_THREADS.
36342         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
36343         if the user did not pass --enable-threads or --disable-threads option.
36344         (gl_DISABLE_THREADS): New macro.
36345         Reported by Eric Blake <ebb9@byu.net>.
36346
36347 2008-06-17  Bruno Haible  <bruno@clisp.org>
36348
36349         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
36350         when the macro ignores it.
36351         Based on a patch by Eric Blake <ebb9@byu.net>.
36352
36353 2008-06-17  Bruno Haible  <bruno@clisp.org>
36354
36355         * modules/tls (License): Change to LGPLv2+.
36356         Reported by Eric Blake.
36357
36358 2008-06-17  Eric Blake  <ebb9@byu.net>
36359
36360         Simplify c-stack prerequisites.
36361         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
36362         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
36363         no longer requires <ucontext.h> to exist.  Optimize setrlimit
36364         check.
36365         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
36366         <sys/resource.h>.
36367
36368         Move c-stack test into testsuite.
36369         * modules/c-stack-tests: New file.
36370         * lib/c-stack.c [DEBUG]: Move test program...
36371         * tests/test-c-stack.c: ...into this new file.  Skip rather than
36372         fail test if sigaltstack is lacking.
36373         * tests/test-c-stack.sh: New driver file.
36374
36375 2008-06-16  Eric Blake  <ebb9@byu.net>
36376
36377         Use raise module consistently.
36378         * modules/fatal-signal (Depends-on): Add raise.
36379         * modules/sigprocmask (Depends-on): Likewise.
36380         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
36381         * lib/sigprocmask.c (sigprocmask): Likewise.
36382         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
36383         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
36384
36385         Fix compliance bug in sigpending.
36386         * lib/sigprocmask.c (sigpending): Return pending array via
36387         parameter, not return value.
36388
36389 2008-06-14  Eric Blake  <ebb9@byu.net>
36390
36391         Improve obstack-printf test code.
36392         * tests/test-obstack-printf.c (test_function): Fix comment, and
36393         simplify usage of obstack_* in macros.  Add a test for coverage.
36394         Reported by Bruno Haible.
36395
36396 2008-06-14  Bruno Haible  <bruno@clisp.org>
36397
36398         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
36399         array size as a constant, not as a const variable.
36400         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
36401         AC_USE_SYSTEM_EXTENSIONS.
36402         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
36403         Test whether the obstack_printf function actually exists.
36404         * modules/obstack-printf (Depends-on): Add extensions.
36405         (Include): Remove obstack.h.
36406         * modules/obstack-printf-posix (Depends-on): Add extensions.
36407         (Include): Remove obstack.h.
36408
36409 2008-06-13  Eric Blake  <ebb9@byu.net>
36410
36411         Add obstack-printf and obstack-printf-posix modules.
36412         * modules/obstack-printf: New file.
36413         * modules/obstack-printf-posix: Likewise.
36414         * MODULES.html.sh (Misc): Mention them.
36415         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
36416         Likewise.
36417         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
36418         Likewise.
36419         * modules/stdio (Makefile.am): Accomodate new modules.
36420         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
36421         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
36422         Declare.
36423         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
36424         functions.
36425         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
36426         (gl_REPLACE_OBSTACK_PRINTF): New macros
36427         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
36428         * tests/test-obstack-printf.c: New file.
36429         * modules/obstack-printf-tests: Likewise.
36430         * modules/obstack-printf-posix-tests: Likewise.
36431
36432 2008-06-11  Bruno Haible  <bruno@clisp.org>
36433
36434         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
36435         * lib/open.c: Include errno.h.
36436         (open): Fail when attempting to write to a file that has a trailing
36437         slash.
36438         * tests/test-open.c (main): Test against trailing slash bug.
36439         * doc/posix-functions/open.texi: Mention the trailing slash bug.
36440
36441 2008-06-10  Bruno Haible  <bruno@clisp.org>
36442
36443         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
36444         for $? to work inside the trap command, with various /bin/sh-s.
36445         * tests/test-vc-list-files-cvs.sh: Likewise.
36446
36447 2008-06-10  Bruno Haible  <bruno@clisp.org>
36448
36449         * lib/acl-internal.h: Don't include gettext.h here.
36450         * lib/set-mode-acl.c: Include gettext.h here.
36451         * lib/copy-acl.c: Likewise.
36452
36453 2008-06-10  Bruno Haible  <bruno@clisp.org>
36454
36455         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
36456         * lib/wait-process.c (wait_subprocess): Likewise.
36457         * lib/execute.h (execute): Add termsigp argument.
36458         * lib/execute.c (execute): Likewise.
36459         * lib/csharpcomp.c (compile_csharp_using_pnet,
36460         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
36461         * lib/csharpexec.c (execute_csharp_using_pnet,
36462         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
36463         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
36464         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
36465         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
36466         is_jikes_present): Update.
36467         * lib/javaexec.c (execute_java_class): Update.
36468         * lib/javaversion.c (execute_and_read_line): Update.
36469         * NEWS: Document the changes.
36470         Reported by Eric Blake.
36471
36472 2008-06-10  Eric Blake  <ebb9@byu.net>
36473
36474         Add missing include.
36475         * tests/test-strstr.c (includes): Add <signal.h>.
36476         * tests/test-strcasestr.c (includes): Likewise.
36477         * tests/test-memmem.c (includes): Likewise.
36478
36479 2008-06-10  Bruno Haible  <bruno@clisp.org>
36480
36481         * lib/wait-process.c (wait_subprocess): Add an assertion.
36482
36483 2008-06-10  Bruno Haible  <bruno@clisp.org>
36484
36485         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
36486
36487 2008-06-10  Bruno Haible  <bruno@clisp.org>
36488
36489         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
36490         using alarm().
36491         * tests/test-strcasestr.c (main): Likewise.
36492         * tests/test-strstr.c (main): Likewise.
36493
36494 2008-06-09  Bruno Haible  <bruno@clisp.org>
36495
36496         Work around the Solaris 10 ACE ACLs ABI change.
36497         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
36498         declare if ACL_NO_TRIVIAL is present.
36499         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
36500         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
36501         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
36502         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
36503         define if ACL_NO_TRIVIAL is present.
36504         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
36505         and use the current ABI.
36506         (file_has_acl): Use same #if condition as elsewhere.
36507         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
36508         in use, and use the current ABI.
36509         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
36510         Reported by Jim Meyering.
36511
36512 2008-06-09  Eric Blake  <ebb9@byu.net>
36513
36514         Work around environments that (stupidly) ignore SIGALRM.
36515         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
36516         before using alarm().
36517         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
36518         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
36519         Reported by Ian Beckwith <ianb@erislabs.net>.
36520
36521         Produce autobuild blurb earlier in log.
36522         * modules/autobuild (configure.ac-early): Move AB_INIT here.
36523
36524 2008-06-09  Jim Meyering  <meyering@redhat.com>
36525         and OndÅ™ej Vašík  <ovasik@redhat.com>
36526
36527         utimens.c: correct kernel bug work-around
36528         OndÅ™ej Vašík found that the invalid return value of 280 indicates
36529         failure, not success, and the kernel bug we're trying to work
36530         around affects not just the utimensat call, but also the fallback
36531         futimens call.
36532         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
36533         not success.
36534         [HAVE_FUTIMENS]: Use the same work-around, here.
36535
36536 2008-06-09  Jim Meyering  <meyering@redhat.com>
36537
36538         add more guards around definition of ACE_-related code
36539         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
36540         ALLOW and ACE_OWNER are also defined.
36541
36542 2008-06-08  Bruno Haible  <bruno@clisp.org>
36543
36544         * lib/acl-internal.h: Add me as co-author.
36545         * lib/file-has-acl.c: Likewise.
36546         * lib/set-mode-acl.c: Likewise.
36547         * lib/copy-acl.c: Likewise.
36548
36549 2008-06-08  Bruno Haible  <bruno@clisp.org>
36550
36551         Add support for AIX ACLs.
36552         * lib/acl-internal.h (acl_nontrivial): New declaration.
36553         * lib/file-has-acl.c (acl_nontrivial): New function.
36554         (file_has_acl): Add implementation using AIX 4 ACL API.
36555         * lib/set-mode-acl.c (qset_acl): Likewise.
36556         * lib/copy-acl.c (qcopy_acl): Likewise.
36557
36558 2008-06-08  Bruno Haible  <bruno@clisp.org>
36559
36560         Add support for HP-UX ACLs.
36561         * lib/acl-internal.h (acl_nontrivial): New declaration.
36562         * lib/file-has-acl.c (acl_nontrivial): New function.
36563         (file_has_acl): Add implementation using HP-UX 11 ACL API.
36564         * lib/set-mode-acl.c (qset_acl): Likewise.
36565         * lib/copy-acl.c (qcopy_acl): Likewise.
36566
36567 2008-06-08  Bruno Haible  <bruno@clisp.org>
36568
36569         Add support for Cygwin ACLs.
36570         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
36571         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
36572         the chmod_or_fchmod call.
36573         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
36574
36575 2008-06-08  Bruno Haible  <bruno@clisp.org>
36576
36577         Fix bug with setuid modes in Solaris 10+ code.
36578         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
36579         succeeded, when the mode contains some special bits.
36580
36581 2008-06-08  Bruno Haible  <bruno@clisp.org>
36582
36583         Add support for Solaris 7..10 ACLs.
36584         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
36585         declarations.
36586         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
36587         functions.
36588         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
36589         * lib/set-mode-acl.c (qset_acl): Likewise.
36590         * lib/copy-acl.c (qcopy_acl): Likewise.
36591
36592 2008-06-08  Bruno Haible  <bruno@clisp.org>
36593
36594         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
36595         declaration.
36596         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
36597         (acl_access_nontrivial): Remove MacOS X case.
36598         (file_has_acl): Use acl_extended_nontrivial.
36599         * lib/copy-acl.c (qcopy_acl): Likewise.
36600
36601 2008-06-08  Bruno Haible  <bruno@clisp.org>
36602
36603         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
36604
36605 2008-06-08  Jim Meyering  <meyering@redhat.com>
36606
36607         * modules/acl (Maintainer): Add Bruno Haible.
36608
36609 2008-06-07  Bruno Haible  <bruno@clisp.org>
36610
36611         Improve support for Tru64 ACLs.
36612         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
36613         ACL on OSF/1.
36614
36615 2008-06-07  Bruno Haible  <bruno@clisp.org>
36616
36617         Add support for MacOS X ACLs.
36618         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
36619         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
36620         * lib/set-mode-acl.c (qset_acl): Likewise.
36621         * lib/copy-acl.c (qcopy_acl): Likewise.
36622
36623 2008-06-07  Bruno Haible  <bruno@clisp.org>
36624
36625         Fix memory leak introduced on 2008-05-22.
36626         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
36627         use.
36628
36629 2008-06-07  Bruno Haible  <bruno@clisp.org>
36630
36631         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
36632         to construct an empty ACL.
36633
36634 2008-06-07  Bruno Haible  <bruno@clisp.org>
36635
36636         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
36637         precisely.
36638         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
36639
36640 2008-06-07  Bruno Haible  <bruno@clisp.org>
36641
36642         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
36643         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
36644
36645 2008-06-07  Bruno Haible  <bruno@clisp.org>
36646
36647         * doc/posix-functions/_setjmp.texi: Explain the use of this function
36648         regardless of POSIX.
36649         * doc/posix-functions/_longjmp.texi: Likewise.
36650         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
36651         SystemV platform in this case.
36652
36653 2008-06-06  Eric Blake  <ebb9@byu.net>
36654
36655         Document abort() bugs.
36656         * doc/posix-functions/abort.texi (abort): Mention anomalies.
36657
36658         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
36659         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
36660         sigsetjmp.
36661         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
36662         siglongjmp, but only as a macro.
36663         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
36664         is obsolete.
36665         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
36666
36667         Tweak documentation to cover cygwin argz bugs.
36668         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
36669         argz bug fix; no code change needed since no cygwin releases
36670         occurred between the last fix and the bug being tested.
36671         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
36672         module and recently fixed cygwin bugs.
36673         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
36674         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
36675         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
36676         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
36677         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
36678         Likewise.
36679         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
36680         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
36681         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
36682         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
36683         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
36684         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
36685         Likewise.
36686
36687         Avoid gcc warning on cygwin.
36688         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
36689         !ACL_NO_TRIVIAL]: Avoid unused variable.
36690
36691 2008-06-05  Eric Blake  <ebb9@byu.net>
36692
36693         Be tolerant of UNKNOWN version in gnulib-tool test dir.
36694         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
36695         git-version-gen fails to come up with a version.
36696         Reported by Simon Josefsson.
36697
36698 2008-06-05  Jim Meyering  <meyering@redhat.com>
36699             Paul Eggert  <eggert@cs.ucla.edu>
36700
36701         utimens.c: work around a probable Linux kernel bug
36702         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
36703         appears to be a kernel bug that causes utimensat to return 280
36704         instead of 0, indicating success.
36705
36706 2008-06-04  Bruno Haible  <bruno@clisp.org>
36707
36708         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
36709         2008-06-01 commit.
36710
36711 2008-06-04  Bruno Haible  <bruno@clisp.org>
36712
36713         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
36714         * lib/file-has-acl.c (acl_access_nontrivial): New function.
36715         (file_has_acl): Use it. Save errno afterwards.
36716         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
36717
36718 2008-06-03  Bruno Haible  <bruno@clisp.org>
36719
36720         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
36721         draft code. Simplify #ifs.
36722         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
36723         Put Solaris code after POSIX-draft code. Fix comments regarding
36724         Solaris 10, HP-UX. Mention Cygwin.
36725         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
36726
36727 2008-06-03  Eric Blake  <ebb9@byu.net>
36728
36729         Provide fallback for older kernels.
36730         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
36731         Provide runtime fallback if kernel lacks support.
36732         Reported by Mike Frysinger.
36733
36734 2008-06-02  Bruno Haible  <bruno@clisp.org>
36735
36736         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
36737         it exists.
36738
36739 2008-06-02  Bruno Haible  <bruno@clisp.org>
36740
36741         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
36742         * lib/copy-acl.c (qcopy_acl): Update comment.
36743
36744 2008-06-02  Bruno Haible  <bruno@clisp.org>
36745
36746         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
36747         like ACL APIs.
36748
36749 2008-06-02  Bruno Haible  <bruno@clisp.org>
36750
36751         * tests/test-file-has-acl.sh: Use different code for Cygwin.
36752         * tests/test-set-mode-acl.sh: Likewise.
36753         * tests/test-copy-acl.sh: Likewise.
36754         * tests/test-copy-file.sh: Likewise.
36755
36756 2008-06-02  Bruno Haible  <bruno@clisp.org>
36757
36758         * tests/test-file-has-acl.sh: Remove unused code.
36759
36760 2008-06-01  Bruno Haible  <bruno@clisp.org>
36761
36762         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
36763         (copy_acl): Just a wrapper around qcopy_acl that emits the error
36764         messages.
36765         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
36766
36767 2008-06-01  Bruno Haible  <bruno@clisp.org>
36768
36769         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
36770         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
36771         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
36772         APIs.
36773         * modules/acl-tests (configure.ac): Remove tests now contained in
36774         m4/acl.m4.
36775
36776 2008-06-02  Jim Meyering  <meyering@redhat.com>
36777
36778         announce-gen: use a better key-server host name
36779         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
36780         it may be more consistently reliable.  Suggested by Werner Koch
36781         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
36782
36783 2008-06-01  Bruno Haible  <bruno@clisp.org>
36784
36785         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
36786         Reported by Voroskoi Andras <voroskoi@gmail.com>.
36787
36788 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
36789
36790         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
36791
36792 2008-06-01  Bruno Haible  <bruno@clisp.org>
36793
36794         New ACL tests.
36795         * tests/test-file-has-acl.sh: New file.
36796         * tests/test-file-has-acl.c: New file.
36797         * tests/test-set-mode-acl.sh: New file.
36798         * tests/test-set-mode-acl.c: New file.
36799         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
36800         * tests/test-copy-acl.c: New file.
36801         * modules/acl-tests: New file, based on modules/copy-file-tests.
36802         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
36803         (Depends-on): Add acl-tests.
36804         (configure.ac): Remove checks.
36805         (Makefile.am): Don't create test-sameacls program here any more.
36806
36807 2008-06-01  Bruno Haible  <bruno@clisp.org>
36808
36809         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
36810         * tests/test-sameacls.c: Include progname.h.
36811         (main): Invoke set_program_name. Portability fixes for MacOS X,
36812         Solaris, HP-UX.
36813
36814 2008-06-01  Bruno Haible  <bruno@clisp.org>
36815
36816         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
36817         function.
36818         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
36819
36820 2008-06-01  Bruno Haible  <bruno@clisp.org>
36821
36822         * modules/rpmatch (Depends-on): Add strdup.
36823
36824 2008-06-01  Bruno Haible  <bruno@clisp.org>
36825
36826         * lib/pipe.c: Include unistd-safer.h.
36827         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
36828         * modules/pipe (Depends-on): Add unistd-safer.
36829
36830 2008-05-30  Simon Josefsson  <simon@josefsson.org>
36831
36832         * modules/autobuild (configure.ac): Call AB_INIT.
36833
36834 2008-05-30  Simon Josefsson  <simon@josefsson.org>
36835
36836         * tests/test-getaddrinfo.c: Don't print debug messages by default.
36837         Suggested by Bruno Haible <bruno@clisp.org>.
36838
36839 2008-05-30  Simon Josefsson  <simon@josefsson.org>
36840
36841         * tests/test-base64.c: Cast size_t to unsigned long when invoking
36842         printf.  Use %lu instead of %d.  Reported by Bruno Haible
36843         <bruno@clisp.org>.
36844
36845 2008-05-29  Eric Blake  <ebb9@byu.net>
36846
36847         Prefer new POSIX 200x interfaces over futimesat.
36848         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
36849         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
36850         when available.
36851         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
36852
36853 2008-05-28  Bruno Haible  <bruno@clisp.org>
36854
36855         * modules/stpcpy (License): Change to LGPLv2+.
36856         Requested by David Lutterkort <dlutter@redhat.com>.
36857
36858 2008-05-27  Bruno Haible  <bruno@clisp.org>
36859
36860         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
36861         current mingw.
36862         Reported by Jose E. Marchesi <jemarch@gnu.org>.
36863
36864 2008-05-27  Bruno Haible  <bruno@clisp.org>
36865
36866         * modules/iconv_open (Link): New section, from module 'iconv'.
36867         * modules/striconv (Link): Likewise.
36868         * modules/striconveh (Link): Likewise.
36869         * modules/xstriconv (Link): Likewise.
36870         * modules/unicodeio (Link): Likewise.
36871         * modules/propername (Link): Likewise.
36872         Reported by Jim Meyering.
36873
36874 2008-05-26  Jim Meyering  <meyering@redhat.com>
36875
36876         sha256: do not artificially restrict buffer length to be < 2^32
36877         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
36878         uint32_t to size_t.
36879         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
36880         to match.
36881
36882         avoid unaligned access errors, e.g., on sparc
36883         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
36884         direct access through a possibly-unaligned uint64* pointer.
36885         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
36886         direct access through a possibly-unaligned uint32* pointer.
36887         Prompted by this patch from Tom "spot" Callaway:
36888         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
36889
36890         sha512.c: fix typo in comment
36891         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
36892
36893 2008-05-25  Bruno Haible  <bruno@clisp.org>
36894
36895         * lib/set-mode-acl.c: Renamed from lib/acl.c.
36896         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
36897         (Makefile.am): Update lib_SOURCES.
36898
36899 2008-05-25  Bruno Haible  <bruno@clisp.org>
36900
36901         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
36902
36903 2008-05-25  Jim Meyering  <meyering@redhat.com>
36904
36905         useless-if-before-free: freed expr may have white-space differences
36906         * build-aux/useless-if-before-free: Recognize cases in which the
36907         freed expression differs from the tested one in embedded white
36908         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
36909         $1 was used, so we can't make any regexp shy.  Improved tests now
36910         detect this.
36911
36912         useless-if-before-free: accept white space in the expression.
36913         * build-aux/useless-if-before-free: For now, any white space
36914         in the expression must be identical in the free argument.
36915
36916         useless-if-before-free: efficiency tweak
36917         * build-aux/useless-if-before-free: Make the expression-matching
36918         regexp "shy".
36919         Make the *outer* regexp shy, not the expr-matching one.
36920
36921         update code-in-comment to accept cast of free arg
36922         * build-aux/useless-if-before-free: Update regexp.
36923
36924 2008-05-25  Bruno Haible  <bruno@clisp.org>
36925
36926         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
36927         * modules/copy-file-tests (Files, Makefile.am): Update.
36928         * tests/test-copy-file.c (func_test_copy): Update.
36929
36930 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
36931
36932         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
36933
36934 2008-05-23  Bruno Haible  <bruno@clisp.org>
36935
36936         Improve support for ACLs on OSF/1.
36937         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
36938         Remove fallback for unknown flavors of ACLs.
36939
36940 2008-05-22  Bruno Haible  <bruno@clisp.org>
36941
36942         Add support for ACLs on OSF/1.
36943         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
36944         replacements.
36945         (acl_free_text): New macro fallback.
36946         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
36947         acl_free.
36948         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
36949         acl_free_text function. Require AC_C_INLINE.
36950
36951 2008-05-22  Bruno Haible  <bruno@clisp.org>
36952
36953         Make copy_acl work on MacOS X 10.5.
36954         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
36955         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
36956         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
36957         If MODE_INSIDE_ACL, don't assume that every system has the same text
36958         representation for ACLs as FreeBSD.
36959         * lib/copy-acl.c (copy_acl): Add support for platforms with
36960         !MODE_INSIDE_ACL.
36961         * lib/file-has-acl.c (file_has_acl): Likewise.
36962         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
36963         FreeBSD, MacOS X, or IRIX, respectively.
36964
36965 2008-05-22  Bruno Haible  <bruno@clisp.org>
36966
36967         * lib/acl.h: Don't include <sys/acl.h>.
36968         (GETACLCNT): Move fallback to lib/acl-internal.h.
36969         * lib/acl-internal.h: Include <sys/acl.h> here.
36970         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
36971
36972 2008-05-22  Bruno Haible  <bruno@clisp.org>
36973
36974         Split off copy_acl function to separate file.
36975         * lib/copy-acl.c: New file, extracted from lib/acl.c.
36976         * lib/acl.c (copy_acl): Moved function to separate file.
36977         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
36978         * modules/acl (Files): Add lib/copy-acl.c.
36979         (Makefiles.am): Augment lib_SOURCES.
36980
36981 2008-05-22  Bruno Haible  <bruno@clisp.org>
36982
36983         * modules/copy-file-tests: New file.
36984         * tests/test-copy-file.sh: New file.
36985         * tests/test-copy-file.c: New file.
36986         * tests/test-copy-file-sameacls.c: New file.
36987
36988 2008-05-22  Eric Blake  <ebb9@byu.net>
36989
36990         Avoid gcc warning.
36991         * tests/test-memcmp.c (main): Pass NULL indirectly.
36992
36993 2008-05-21  Bruno Haible  <bruno@clisp.org>
36994
36995         Add reference doc about ACLs.
36996         * doc/acl-resources.txt: New file.
36997         * doc/acl-cygwin.txt: New file.
36998
36999 2008-05-21  Bruno Haible  <bruno@clisp.org>
37000
37001         Avoid one more warning from gcc.
37002         * lib/vasnprintf.c (IF_LINT): Update comments.
37003         (VASNPRINTF): Use it also for the 'prefix' array initializer.
37004
37005 2008-05-21  Jim Meyering  <meyering@redhat.com>
37006
37007         avoid a warning from gcc
37008         * lib/vasnprintf.c (IF_LINT): Define.
37009         (scale10_round_decimal_long_double):
37010         Use it to avoid a "may be used uninitialized" warning.
37011         (scale10_round_decimal_double): Likewise.
37012
37013 2008-05-21  Simon Josefsson  <simon@josefsson.org>
37014
37015         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
37016         declared.
37017
37018 2008-05-20  Bruno Haible  <bruno@clisp.org>
37019
37020         * tests/test-memcmp.c (main): Test also the sign of the result. Test
37021         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
37022
37023 2008-05-20  Simon Josefsson  <simon@josefsson.org>
37024
37025         * modules/memcmp-tests: New file.
37026         * tests/test-memcmp.c: New file.
37027
37028 2008-05-19  Bruno Haible  <bruno@clisp.org>
37029
37030         * modules/propername (Notice, configure.ac): Put quoted "..." into
37031         --keyword option.
37032         * lib/propername.h: Update comments accordingly.
37033         Reported by Eric Blake.
37034
37035 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
37036
37037         * modules/getpass-gnu (Depends-on): Add fseeko.
37038
37039 2008-05-19  Simon Josefsson  <simon@josefsson.org>
37040
37041         * modules/base64-tests: New file.
37042
37043 2008-05-19  Bo Borgerson <gigabo@gmail.com>
37044
37045         * lib/base64.c (base64_decode_ctx): If a decode context structure
37046         was passed in use it to ignore newlines.  If a context structure
37047         was _not_ passed in, continue to treat newlines as garbage (this
37048         is the historical behavior).  Formerly base64_decode.
37049         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
37050         takes a decode context structure.
37051         * lib/base64.h (base64_decode): Macro for four-argument calls.
37052         (base64_decode_alloc): Likewise.
37053         * lib/base64.c (base64_decode_ctx): If a decode context structure
37054         was passed in use it to ignore newlines.  If a context structure
37055         was _not_ passed in, continue to treat newlines as garbage (this
37056         is the historical behavior).  Formerly base64_decode.
37057         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
37058         takes a decode context structure.
37059         * lib/base64.h (base64_decode): Macro for four-argument calls.
37060         (base64_decode_alloc): Likewise.
37061
37062 2008-05-19  Jim Meyering  <meyering@redhat.com>
37063
37064         avoid a warning from gcc
37065         * lib/trim.c (IF_LINT): Define.
37066         (trim2): Use it to avoid a "may be used uninitialized" warning.
37067
37068         Fix doc typo.
37069         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
37070
37071 2008-05-19  Bruno Haible  <bruno@clisp.org>
37072
37073         * doc/glibc-functions/getpass.texi: Document limits of other
37074         implementations.
37075
37076 2008-05-19  Simon Josefsson  <simon@josefsson.org>
37077             Bruno Haible <bruno@clisp.org>
37078
37079         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
37080
37081 2008-05-18  Bruno Haible  <bruno@clisp.org>
37082
37083         * modules/propername: New file, from GNU gettext.
37084         * lib/propername.h: New file, from GNU gettext.
37085         * lib/propername.c: New file, from GNU gettext.
37086         * MODULES.html.sh (Internationalization functions): Add propername.
37087
37088 2008-05-16  Jim Meyering  <meyering@redhat.com>
37089             Bruno Haible  <bruno@clisp.org>
37090
37091         Avoid some warnings from "gcc -Wshadow".
37092         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
37093
37094 2008-05-15  Eric Blake  <ebb9@byu.net>
37095
37096         Extend previous patch to cygwin 1.7.0.
37097         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
37098         fast implementation in cygwin >= 1.7.0.
37099         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37100         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37101
37102 2008-05-15  Bruno Haible  <bruno@clisp.org>
37103
37104         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
37105         implementation in glibc >= 2.9.
37106         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37107         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37108
37109 2008-05-15  Bruno Haible  <bruno@clisp.org>
37110
37111         * MODULES.html.sh (Internationalization functions): Remove linebreak.
37112         (Unicode string functions): Add unilbrk/*.
37113         Reported by Karl Berry.
37114
37115 2008-05-15  Eric Blake  <ebb9@byu.net>
37116
37117         Fix violation of <stdbool.h> replacement in regex.
37118         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
37119         * lib/regexec.c (re_search_internal): Likewise.
37120         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
37121
37122 2008-05-15  Jim Meyering  <meyering@redhat.com>
37123
37124         avoid distracting test output when git or cvs is not found
37125         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
37126         * tests/test-vc-list-files-git.sh: Likewise.
37127
37128 2008-05-15  Eric Blake  <ebb9@byu.net>
37129
37130         Glibc finally accepted the memmem speedup code, bugzilla #5514.
37131         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
37132         glibc version.
37133         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37134         * doc/posix-functions/strstr.texi (strstr): Likewise.
37135         * lib/str-two-way.h (MAX): Sychronize with glibc.
37136
37137 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
37138
37139         * lib/regcomp.c (optimize_utf8): Add a note on why we test
37140         opr.ctx_type.
37141         (calc_first): Initialize constraint field.
37142         (duplicate_node_closure): Use it instead of special casing ANCHORS.
37143         Fix grammar.
37144         (duplicate_node): Merge constraint field for all node types.
37145         (calc_eclosure_iter): Look at constraint field for all node types.
37146         * lib/regex_internal.c (create_cd_newstate): Don't look at
37147         opr.ctx_type.
37148
37149 2008-05-14  Bruno Haible  <bruno@clisp.org>
37150
37151         Help GCC to do better code generation.
37152         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
37153         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
37154         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
37155         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
37156         Declare with attribute 'malloc' if supported.
37157
37158 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
37159
37160         use "echo STR|wc -c" rather than unportable "expr length STR"
37161         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
37162         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
37163
37164 2008-05-14  Jim Meyering  <meyering@redhat.com>
37165
37166         use dd ibs=$n count=1 ... rather than less-portable head -c$n
37167         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
37168         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
37169         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
37170         via Collin Lasse.
37171
37172 2008-05-14  Eric Blake  <ebb9@byu.net>
37173
37174         Avoid quadratic growth in gl_LIBSOURCES.
37175         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
37176         Suggested by Bruno Haible.
37177
37178         Test xmemdup0.
37179         * modules/xmemdup0-tests: New file.
37180         * tests/test-xmemdup0.c: Likewise.
37181
37182 2008-05-13  Eric Blake  <ebb9@byu.net>
37183
37184         Split xmemdup0 into its own module.
37185         * modules/xmemdup0: New file.
37186         * lib/xmemdup0.h: Likewise.
37187         * lib/xmemdup0.c: Likewise.
37188         * MODULES.html.sh (Memory management functions): Add xmemdup0.
37189         * lib/xalloc.h (xmemdup0): Remove.
37190         * lib/xmalloc.c (xmemdup0): Likewise.
37191
37192 2008-05-13  Eric Blake  <ebb9@byu.net>
37193             Bruno Haible  <bruno@clisp.org>
37194
37195         Reduce number of forks required during autoconf.
37196         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
37197         and gl_LIBSOURCES_DIR.
37198         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
37199         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
37200         m4_syscmd per file.
37201         <m4_foreach_w>: Move...
37202         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
37203
37204 2008-05-13  Eric Blake  <ebb9@byu.net>
37205
37206         * gnulib-tool: Fix various comment typos.
37207
37208 2008-05-12  Bruno Haible  <bruno@clisp.org>
37209
37210         Tailor the linebreaking algorithm.
37211         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
37212
37213 2008-05-12  Bruno Haible  <bruno@clisp.org>
37214
37215         Update to Unicode 5.0.0.
37216         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
37217         LBP_JV, LBP_JT. Redistribute values.
37218         (unilbrk_table): Change size.
37219         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
37220         Unicode TR#14 rev. 22.
37221         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
37222         LBP_JV, LBP_JT. Redistribute values.
37223         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
37224         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
37225         Update.
37226         * lib/unilbrk/lbrkprop1.h: Regenerated.
37227         * lib/unilbrk/lbrkprop2.h: Regenerated.
37228         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
37229         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
37230         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
37231         Likewise.
37232         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
37233         Likewise.
37234         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
37235         result.
37236         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
37237         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
37238         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
37239         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
37240         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
37241         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
37242
37243 2008-05-11  Bruno Haible  <bruno@clisp.org>
37244
37245         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
37246
37247 2008-05-11  Bruno Haible  <bruno@clisp.org>
37248
37249         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
37250         * modules/unilbrk/gen-lbrk: New file.
37251
37252 2008-05-11  Bruno Haible  <bruno@clisp.org>
37253
37254         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
37255         * m4/sha512.m4 (gl_SHA512): Likewise.
37256
37257 2008-05-11  Jim Meyering  <meyering@redhat.com>
37258
37259         New modules: crypto/sha256, crypto/sha512 (from coreutils)
37260         * modules/crypto/sha256: New file.
37261         * modules/crypto/sha512: Likewise.
37262         * lib/sha256.c: Likewise.
37263         * lib/sha256.h: Likewise.
37264         * lib/sha512.c: Likewise.
37265         * lib/sha512.h: Likewise.
37266         * lib/u64.h: Likewise.
37267         * m4/sha256.m4: Likewise.
37268         * m4/sha512.m4: Likewise.
37269         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
37270
37271 2008-05-10  Bruno Haible  <bruno@clisp.org>
37272
37273         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
37274         (Input/Output <stdio.h>): Add xprintf.
37275         (Signal handling <signal.h>): Add strsignal.
37276         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
37277         (Core language properties): Add func.
37278         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
37279         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
37280         strings.
37281         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
37282         (Input/output): New section.
37283         (File system functions): Add openat-die, stat-macros.
37284         (Networking functions): Add sockets.
37285         (Unicode string functions): Add unictype/*.
37286         (Support for building libraries and executables): Add gperf.
37287         (Support for building documentation): Add agpl-3.0.
37288         (Misc): Add nocrash.
37289
37290 2008-05-10  Bruno Haible  <bruno@clisp.org>
37291
37292         * modules/unictype/gen-ctype: New file.
37293
37294 2008-05-10  Jim Meyering  <meyering@redhat.com>
37295
37296         Make chdir-safer.c more efficient on a system with no symlinks.
37297         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
37298         also if ELOOP is zero.  Suggested by Bruno Haible.
37299
37300         Make chdir-safer.c slightly safer.
37301         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
37302         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
37303
37304         Avoid compile failure on systems without ELOOP (like mingw).
37305         * lib/chdir-safer.c (ELOOP): Define if not already defined.
37306         Reported by Bruno Haible.
37307
37308 2008-05-10  Bruno Haible  <bruno@clisp.org>
37309
37310         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
37311         (is_utf8_encoding): Use a case-insensitive comparison.
37312         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
37313         streq.
37314
37315 2008-05-10  Bruno Haible  <bruno@clisp.org>
37316
37317         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
37318         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
37319         * lib/unilbrk/ulc-common.h (iconv_string_length,
37320         iconv_string_keeping_offsets): Remove declarations.
37321         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
37322         Don't include <iconv.h>, streq.h, xsize.h.
37323         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
37324         conversion.
37325         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
37326         <iconv.h>, streq.h, xsize.h.
37327         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
37328         conversion.
37329         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
37330         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
37331         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
37332         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
37333
37334 2008-05-10  Bruno Haible  <bruno@clisp.org>
37335
37336         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
37337         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
37338
37339         * modules/unilbrk/u32-width-linebreaks-tests: New file.
37340         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
37341
37342         * modules/unilbrk/u16-width-linebreaks-tests: New file.
37343         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
37344
37345         * modules/unilbrk/u8-width-linebreaks-tests: New file.
37346         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
37347
37348         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
37349         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
37350
37351         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
37352         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
37353
37354         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
37355         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
37356
37357         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
37358         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
37359
37360 2008-05-10  Bruno Haible  <bruno@clisp.org>
37361
37362         Split up 'linebreak' module.
37363         * lib/unilbrk.h: New file, based on lib/linebreak.h.
37364         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
37365         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
37366         modifications.
37367         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
37368         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
37369         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
37370         lib/linebreak.c.
37371         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
37372         lib/linebreak.c.
37373         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
37374         lib/linebreak.c.
37375         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
37376         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
37377         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
37378         lib/linebreak.c.
37379         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
37380         lib/linebreak.c.
37381         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
37382         lib/linebreak.c.
37383         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
37384         lib/linebreak.c.
37385         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
37386         lib/linebreak.c.
37387         * modules/unilbrk/base: New file.
37388         * modules/unilbrk/tables: New file.
37389         * modules/unilbrk/u8-possible-linebreaks: New file.
37390         * modules/unilbrk/u16-possible-linebreaks: New file.
37391         * modules/unilbrk/u32-possible-linebreaks: New file.
37392         * modules/unilbrk/ulc-common: New file.
37393         * modules/unilbrk/ulc-possible-linebreaks: New file.
37394         * modules/unilbrk/u8-width-linebreaks: New file.
37395         * modules/unilbrk/u16-width-linebreaks: New file.
37396         * modules/unilbrk/u32-width-linebreaks: New file.
37397         * modules/unilbrk/ulc-width-linebreaks: New file.
37398         * lib/linebreak.h: Remove file.
37399         * lib/linebreak.c: Remove file.
37400         * m4/linebreak.m4: Remove file.
37401         * modules/linebreak: Remove file.
37402         * NEWS: Mention the changes.
37403
37404 2008-05-09  Eric Blake  <ebb9@byu.net>
37405
37406         Add xmemdup0.
37407         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
37408         implementation.
37409         * lib/xmalloc.c (xmemdup0): New C implementation.
37410
37411 2008-05-08  Bruno Haible  <bruno@clisp.org>
37412
37413         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
37414
37415 2008-05-07  Eric Blake  <ebb9@byu.net>
37416
37417         Support cross-compilation of <wctype.h>.
37418         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
37419         AC_CACHE_CHECK.
37420
37421 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
37422
37423         * build-aux/vc-list-files: Add support for bzr.
37424
37425 2008-05-03  Jim Meyering  <meyering@redhat.com>
37426
37427         avoid failed assertion with tight malloc
37428         * tests/test-getndelim2.c: Correct an off-by-one assertion.
37429
37430 2008-05-03  Simon Josefsson  <simon@josefsson.org>
37431
37432         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
37433         are needed from arpa/inet.h.
37434         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
37435         Reported by Bruno Haible.
37436
37437 2008-05-02  Jim Meyering  <meyering@redhat.com>
37438
37439         avoid compilation error on FreeBSD 6
37440         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
37441
37442 2008-05-01  Jim Meyering  <meyering@redhat.com>
37443
37444         useless-if-before-free: correct --help's exit status description
37445         * build-aux/useless-if-before-free (usage): Like grep, exit 0
37446         for one or more matches, etc.  Reported by Bruno Haible.
37447
37448         vc-list-files: make the stand-alone gnulib test work
37449         * modules/vc-list-files-tests (configure.ac):
37450         Define and AC_SUBST abs_aux_dir.
37451         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
37452         $(abs_top_srcdir) to each script and having each of them
37453         duplicate the work of setting PATH, set PATH here, using
37454         the new variable, abs_aux_dir instead.
37455         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
37456         * tests/test-vc-list-files-git.sh: Likewise.
37457         Reported by Bruno Haible.
37458
37459 2008-05-01  Bruno Haible  <bruno@clisp.org>
37460
37461         * lib/getndelim2.c (getndelim2): Fix newsize computation during
37462         reallocation. Rename 'done' to 'found_delimiter'.
37463
37464 2008-05-01  Jim Meyering  <meyering@redhat.com>
37465
37466         vc-list-files: accommodate /bin/sh like the one from Solaris 10
37467         * build-aux/vc-list-files: Use `...`, not $(...).
37468
37469 2008-04-30  Jim Meyering  <meyering@redhat.com>
37470
37471         add tests for vc-list-files
37472         * modules/vc-list-files-tests: New module.
37473         * tests/test-vc-list-files-cvs.sh: New file.
37474         * tests/test-vc-list-files-git.sh: New file.
37475
37476         avoid a warning from gcc
37477         * lib/getndelim2.c (IF_LINT): Define.
37478         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
37479
37480         vc-list-files: work properly with build-aux/cvsu, too
37481         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
37482         to all cvs-based clauses.
37483
37484         vc-list-files: work properly in the CVS+awk case, too
37485         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
37486
37487         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
37488         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
37489         take more than one file argument, so .  Add quotes, just in case $dir
37490         ever contains a shell meta-character.  Prompted by Soren Hansen in
37491         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
37492
37493 2008-04-29  Eric Blake  <ebb9@byu.net>
37494
37495         Optimize getndelim2 to use block operations when possible.
37496         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
37497         freadseek, and memchr2.
37498         * lib/getndelim2.c (getndelim2): Use them for block reads.
37499
37500 2008-04-29  Bruno Haible  <bruno@clisp.org>
37501
37502         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
37503         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37504         * modules/inet_ntop (Depends-on): Add extensions.
37505         * modules/inet_pton (Depends-on): Likewise.
37506         Reported by Simon Josefsson.
37507
37508 2008-04-29  Jim Meyering  <meyering@redhat.com>
37509
37510         When the is more than one match in a block, match all of them.
37511         * build-aux/useless-if-before-free: Iterate through each block
37512         until there are no more matches.
37513
37514         Fix broken useless-if-before-free script.
37515         * build-aux/useless-if-before-free: Fix typo: missing "?" after
37516         the expression to match cast of argument to free-like function.
37517
37518 2008-04-29  Eric Blake  <ebb9@byu.net>
37519
37520         Use new header.
37521         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
37522
37523 2008-04-29  Jim Meyering  <meyering@redhat.com>
37524
37525         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
37526         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
37527         by gnulib to exist and to declare e.g., inet_ntop.
37528         Don't include "inet_ntop.h", now removed.
37529
37530         * m4/arpa_inet_h.m4: Remove trailing blanks.
37531
37532 2008-04-29  Eric Blake  <ebb9@byu.net>
37533
37534         Silence valgrind on safe reads beyond potential array bounds.
37535         * lib/rawmemchr.valgrind: New file.
37536         * lib/strchrnul.valgrind: Likewise.
37537         * modules/rawmemchr (Files): Distribute new file.
37538         * modules/strchrnul (Files): Likewise.
37539         Suggested by Bruno Haible.
37540
37541 2008-04-29  Bruno Haible  <bruno@clisp.org>
37542
37543         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
37544         (inet_ntop, inet_pton): Change portability warning's wording.
37545         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
37546         Invoke gl_CHECK_NEXT_HEADERS.
37547         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
37548         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
37549         set ARPA_INET_H.
37550         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37551         * modules/arpa_inet (Description): No longer only for systems that
37552         lack it.
37553         (Depends-on): Add include_next.
37554         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
37555         HAVE_ARPA_INET_H.
37556
37557 2008-04-29  Jim Meyering  <meyering@redhat.com>
37558
37559         * modules/mkdir (License): Re-license as LGPLv2+.
37560
37561 2008-04-29  Bruno Haible  <bruno@clisp.org>
37562
37563         * modules/rawmemchr (Maintainer): Set to Eric.
37564         * modules/strchrnul (Maintainer): Likewise.
37565
37566 2008-04-29  Simon Josefsson  <simon@josefsson.org>
37567
37568         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
37569         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
37570
37571         * modules/arpa_inet (arpa/inet.h): Use them.
37572
37573 2008-04-28  Eric Blake  <ebb9@byu.net>
37574
37575         Test getndelim2.
37576         * modules/getndelim2-tests: New file.
37577         * tests/test-getndelim2.c: Likewise.
37578         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
37579         stream.
37580         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
37581
37582         * MODULES.html.sh: Document new module.
37583
37584 2008-04-20  Bruno Haible  <bruno@clisp.org>
37585
37586         * lib/c-stack.c (die): Use raise.
37587         * modules/c-stack (Depends-on): Add raise.
37588
37589 2008-04-28  Bruno Haible  <bruno@clisp.org>
37590
37591         Expect rpmatch to be declared.
37592         * lib/yesno.c (rpmatch): Remove declaration.
37593
37594         Declare rpmatch.
37595         * lib/stdlib.in.h (rpmatch): New declaration.
37596         * lib/rpmatch.c: Include <stdlib.h> first.
37597         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
37598         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
37599         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
37600         HAVE_RPMATCH.
37601         * modules/rpmatch (Depends-on): Add stdlib, extensions.
37602         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
37603         (Include): Set to <stdlib.h>.
37604         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
37605         HAVE_RPMATCH.
37606         * NEWS: Document the change.
37607
37608 2008-04-28  Bruno Haible  <bruno@clisp.org>
37609
37610         Change rpmatch to use nl_langinfo when appropriate.
37611         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
37612         (N_): New macro.
37613         (localized_pattern): New function/macro.
37614         (try): Remove match, nomatch arguments. Copy the pattern into safe
37615         memory before caching it.
37616         (rpmatch): Use localized_pattern. Add translator comments.
37617         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
37618         Suggested by Eric Blake.
37619         * modules/rpmatch (Depends-on): Add stdbool.
37620
37621 2008-04-28  Eric Blake  <ebb9@byu.net>
37622
37623         Add rawmemchr module, matching glibc.
37624         * modules/string (Makefile.am): New indicator.
37625         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
37626         * lib/string.in.h (rawmemchr): Declare when appropriate.
37627         * modules/rawmemchr: New file.
37628         * m4/rawmemchr.m4: Likewise.
37629         * lib/rawmemchr.c: Likewise.
37630         * modules/rawmemchr-tests: Likewise.
37631         * tests/test-rawmemchr.c: Likewise.
37632         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
37633         module.
37634         * modules/strchrnul (Depends-on): Add rawmemchr.
37635         * lib/strchrnul.c (strchrnul): Optimize a corner case.
37636
37637         Whitespace cleanup.
37638         * tests/test-strchrnul.c: Reindent.
37639         * lib/strchrnul.c: Likewise.
37640
37641         Optimize and test strchrnul.
37642         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
37643         * modules/strchrnul-tests: New file.
37644         * tests/test-strchrnul.c: Likewise.
37645
37646         Remove intprops dependency.
37647         * modules/memchr (Depends-on): Remove intprops.
37648         * modules/memrchr (Depends-on): Likewise.
37649         * modules/memchr2 (Depends-on): Likewise.
37650         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
37651         * lib/memrchr.c (__memrchr): Likewise.
37652         * lib/memrchr2.c (memchr2): Likewise.
37653         Reported by Simon Josefsson.
37654
37655 2008-04-28  Simon Josefsson  <simon@josefsson.org>
37656
37657         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
37658         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37659
37660 2008-04-28  Simon Josefsson  <simon@josefsson.org>
37661
37662         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
37663
37664         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
37665
37666         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
37667
37668         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
37669         declarations.
37670         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
37671
37672         * m4/inet_pton.m4: Don't check for header files.
37673
37674         * m4/inet_ntop.m4: Don't check for header files.
37675
37676 2008-04-28  Simon Josefsson  <simon@josefsson.org>
37677
37678         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
37679         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
37680         trigger for cygwin).
37681         Reported by Bruno Haible  <bruno@clisp.org>.
37682
37683 2008-04-28  Bruno Haible  <bruno@clisp.org>
37684
37685         * doc/posix-functions/strdup.texi: Mention mingw problem.
37686
37687 2008-04-27  Bruno Haible  <bruno@clisp.org>
37688
37689         * modules/stat-time-tests (Depends-on): Add sleep.
37690         * tests/test-stat-time.c (force_unlink): New function.
37691         (cleanup): Use it.
37692         (test_mtime): Remove the ctime related tests.
37693         (test_ctime): New function, containing the ctime related tests.
37694         (main): Call test_ctime, except on native Windows platforms.
37695
37696 2008-04-27  Bruno Haible  <bruno@clisp.org>
37697
37698         * lib/rpmatch.c (rpmatch): Add some comments.
37699         Reported by James Youngman <jay@gnu.org>.
37700
37701 2008-04-27  Bruno Haible  <bruno@clisp.org>
37702
37703         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
37704         quiet NaNs.
37705
37706 2008-04-27  Bruno Haible  <bruno@clisp.org>
37707
37708         Make test-yesno.sh work on mingw.
37709         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
37710         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
37711         (main): Set stdin to binary mode.
37712         * modules/yesno-tests (Depends-on): Add binary-io.
37713
37714 2008-04-27  Bruno Haible  <bruno@clisp.org>
37715
37716         Fix 'isfinite' on x86, x86_64, ia64 platforms.
37717         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
37718         argument that lie outside the IEEE 854 domain.
37719         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
37720         (gl_ISFINITE): Use it.
37721         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
37722
37723 2008-04-27  Bruno Haible  <bruno@clisp.org>
37724
37725         Allow local renaming in config.h.
37726         * lib/memrchr.c (memrchr): Don't undefine outside libc.
37727
37728 2008-04-27  Bruno Haible  <bruno@clisp.org>
37729
37730         * lib/memchr.c (__memchr): Change type of 'i'.
37731         * lib/memchr2.c (memchr2): Likewise.
37732
37733 2008-04-26  Eric Blake  <ebb9@byu.net>
37734         and Bruno Haible  <bruno@clisp.org>
37735
37736         Optimize and test memrchr.
37737         * modules/memrchr (Depends-on): Add intprops.
37738         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
37739         * modules/memrchr-tests: New file.
37740         * tests/test-memrchr.c: New file.
37741
37742 2008-04-26  Bruno Haible  <bruno@clisp.org>
37743
37744         Add tentative support for DragonFly BSD.
37745         * lib/stdio-impl.h: Add macros for DragonFly BSD.
37746         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
37747         fp.
37748         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
37749         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
37750         * lib/fpurge.c (fpurge): Likewise.
37751         * lib/freadable.c (freaadable): Likewise.
37752         * lib/freadahead.c (freadahead): Likewise.
37753         * lib/freading.c (freading): Likewise.
37754         * lib/freadptr.c (freadptr): Likewise.
37755         * lib/freadseek.c (freadptrinc): Likewise.
37756         * lib/fseeko.c (fseeko): Likewise.
37757         * lib/fseterr.c (fseterr): Likewise.
37758         * lib/fwritable.c (fwritable): Likewise.
37759         * lib/fwriting.c (fwriting): Likewise.
37760
37761 2008-04-26  Bruno Haible  <bruno@clisp.org>
37762
37763         * lib/stdio-impl.h: New file.
37764         * lib/fbufmode.c: Include stdio-impl.h.
37765         (fbufmode): Use fp_, remove redundant #defines.
37766         * lib/fflush.c: Include stdio-impl.h.
37767         (clear_ungetc_buffer): Remove redundant #defines.
37768         * lib/fpurge.c: Include stdio-impl.h.
37769         (fpurge): Remove redundant #defines.
37770         * lib/freadable.c: Include stdio-impl.h.
37771         (freadable): Remove redundant #defines.
37772         * lib/freadahead.c: Include stdio-impl.h.
37773         (freadahead): Remove redundant #defines.
37774         * lib/freading.c: Include stdio-impl.h.
37775         (freading): Remove redundant #defines.
37776         * lib/freadptr.c: Include stdio-impl.h.
37777         (freadptr): Remove redundant #defines.
37778         * lib/freadseek.c: Include stdio-impl.h.
37779         (freadptrinc): Remove redundant #defines.
37780         * lib/fseeko.c: Include stdio-impl.h.
37781         (rpl_fseeko): Remove redundant #defines.
37782         * lib/fseterr.c: Include stdio-impl.h.
37783         (fseterr): Remove redundant #defines.
37784         * lib/fwritable.c: Include stdio-impl.h.
37785         (fwritable: Remove redundant #defines.
37786         * lib/fwriting.c: Include stdio-impl.h.
37787         (fwriting): Remove redundant #defines.
37788         * modules/fbufmode (Files): Add lib/stdio-impl.h.
37789         * modules/fflush (Files): Likewise.
37790         * modules/fpurge (Files): Likewise.
37791         * modules/freadable (Files): Likewise.
37792         * modules/freadahead (Files): Likewise.
37793         * modules/freading (Files): Likewise.
37794         * modules/freadptr (Files): Likewise.
37795         * modules/freadseek (Files): Likewise.
37796         * modules/fseeko (Files): Likewise.
37797         * modules/fseterr (Files): Likewise.
37798         * modules/fwritable (Files): Likewise.
37799         * modules/fwriting (Files): Likewise.
37800
37801 2008-04-26  Bruno Haible  <bruno@clisp.org>
37802
37803         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
37804         restore_seek_optimization, update_fpos_cache): New functions, extracted
37805         from rpl_fflush.
37806         (rpl_fflush): Use them.
37807         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
37808         (gl_REPLACE_FFLUSH): Use it.
37809
37810 2008-04-26  Bruno Haible  <bruno@clisp.org>
37811
37812         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
37813         on Solaris.
37814         * tests/test-xstrtoimax.sh: Likewise.
37815         * tests/test-xstrtoumax.sh: Likewise.
37816         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37817
37818 2008-04-26  Bruno Haible  <bruno@clisp.org>
37819
37820         * modules/memchr-tests: New file.
37821         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
37822
37823 2008-04-26  Eric Blake  <ebb9@byu.net>
37824             Bruno Haible  <bruno@clisp.org>
37825
37826         * lib/memchr.c: Include intprops.h.
37827         (__memchr): Optimize parallel detection of matching bytes. Rename local
37828         variables. Add explanatory comments.
37829
37830 2008-04-26  Bruno Haible  <bruno@clisp.org>
37831
37832         Fix module 'memchr', broken since 2000-10-28.
37833         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
37834
37835 2008-04-26  Bruno Haible  <bruno@clisp.org>
37836
37837         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
37838         comments.
37839
37840 2008-04-25  Eric Blake  <ebb9@byu.net>
37841
37842         Use native fstatat on cygwin 1.7.0.
37843         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
37844         first.
37845
37846 2008-04-23  Eric Blake  <ebb9@byu.net>
37847
37848         Improve memchr2 performance.
37849         * lib/memchr2.c (memchr2): Further optimize parallel detection of
37850         NUL bytes.
37851         * modules/memchr2 (Depends-on): Use intprops.h.
37852
37853 2008-04-23  Simon Josefsson  <simon@josefsson.org>
37854
37855         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
37856         an inline function instead of a CPP macro.  Patch by Ben Pfaff
37857         <blp@cs.stanford.edu>.
37858
37859 2008-04-23  Simon Josefsson  <simon@josefsson.org>
37860
37861         * lib/arpa_inet.in.h: New file.
37862
37863         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
37864         (Makefile.am): Sed in substitute header file.
37865
37866         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
37867         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
37868
37869         * modules/inet_ntop (configure.ac): Use
37870         gl_ARPA_INET_MODULE_INDICATOR.
37871
37872         * modules/inet_pton (configure.ac): Use
37873         gl_ARPA_INET_MODULE_INDICATOR.
37874
37875 2008-04-22  Jim Meyering  <meyering@redhat.com>
37876
37877         * modules/verify (License): Re-license as LGPLv2+.
37878
37879 2008-04-22  Simon Josefsson  <simon@josefsson.org>
37880
37881         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
37882         parameter to void* as per POSIX standard (MinGW uses char*).
37883
37884 2008-04-21  Bruno Haible  <bruno@clisp.org>
37885
37886         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
37887         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
37888         Define to replacements if REPLACE_ISWCNTRL is 1.
37889         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
37890         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
37891         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
37892         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
37893         what it fixes.
37894         * doc/posix-functions/iswalpha.texi: Likewise.
37895         * doc/posix-functions/iswblank.texi: Likewise.
37896         * doc/posix-functions/iswcntrl.texi: Likewise.
37897         * doc/posix-functions/iswdigit.texi: Likewise.
37898         * doc/posix-functions/iswgraph.texi: Likewise.
37899         * doc/posix-functions/iswlower.texi: Likewise.
37900         * doc/posix-functions/iswprint.texi: Likewise.
37901         * doc/posix-functions/iswpunct.texi: Likewise.
37902         * doc/posix-functions/iswspace.texi: Likewise.
37903         * doc/posix-functions/iswupper.texi: Likewise.
37904         * doc/posix-functions/iswxdigit.texi: Likewise.
37905         Reported by Alain Guibert.
37906
37907 2008-04-21  Bruno Haible  <bruno@clisp.org>
37908
37909         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
37910         Patch by Alain Guibert.
37911
37912 2008-04-21  Bruno Haible  <bruno@clisp.org>
37913
37914         Fix test failures on mingw.
37915         * tests/test-xstrtol.c (print_no_progname): New function.
37916         (main): Install it in error_print_progname hook.
37917         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
37918         * tests/test-xstrtoimax.sh: Likewise.
37919         * tests/test-xstrtoumax.sh: Likewise.
37920
37921 2008-04-21  Bruno Haible  <bruno@clisp.org>
37922
37923         Fix test failure on mingw.
37924         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
37925
37926 2008-04-21  Bruno Haible  <bruno@clisp.org>
37927
37928         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
37929         Actually assign a value.
37930
37931 2008-04-20  Bruno Haible  <bruno@clisp.org>
37932
37933         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
37934         take 2.
37935         * lib/canonicalize.c (canonicalize_file_name): Elide if the
37936         'canonicalize-lgpl' module is also used.
37937         * lib/canonicalize-lgpl.c: Undo last change.
37938         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
37939
37940 2008-04-20  Bruno Haible  <bruno@clisp.org>
37941
37942         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
37943         config.h. Provide _mkdir based fallback for mingw.
37944         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
37945         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
37946         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
37947         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
37948         rather than defining mkdir in config.h.
37949         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
37950         (gl_SYS_STAT_H_DEFAULTS): New macro.
37951         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
37952         HAVE_IO_H any more.
37953         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
37954         HAVE_DECL_MKDIR and HAVE_IO_H.
37955
37956 2008-04-20  Bruno Haible  <bruno@clisp.org>
37957
37958         * lib/isapipe.c: Port to native Windows platforms.
37959
37960 2008-04-20  Bruno Haible  <bruno@clisp.org>
37961
37962         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
37963
37964 2008-04-21  Eric Blake  <ebb9@byu.net>
37965
37966         Work around preprocessors that don't handle UINTMAX_MAX.
37967         * lib/memchr2.c (memchr2): Avoid embedded #if.
37968         Reported by Alain Guibert, fix suggested by Bruno Haible.
37969
37970 2008-04-21  Simon Josefsson  <simon@josefsson.org>
37971
37972         * doc/posix-functions/strftime.texi (strftime): Explain better
37973         Windows incompatibility.  Suggested by Micah Cowan
37974         <micah@cowan.name>.
37975
37976 2008-04-20  Bruno Haible  <bruno@clisp.org>
37977
37978         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
37979         unistr/u8-mblen.
37980
37981 2008-04-20  Bruno Haible  <bruno@clisp.org>
37982
37983         Fix test failure on platforms with non-GNU iconv.
37984         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
37985         (U_TO_U8): Use it, rather than u16_to_u8.
37986         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
37987         units at the end of the input string.
37988         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
37989
37990 2008-04-20  Bruno Haible  <bruno@clisp.org>
37991
37992         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
37993         when the resulting length is 0.
37994         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
37995
37996 2008-04-20  Bruno Haible  <bruno@clisp.org>
37997
37998         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
37999         works.
38000         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
38001
38002 2008-04-20  Bruno Haible  <bruno@clisp.org>
38003
38004         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
38005         * modules/tsearch-tests (configure.ac): Test for initstate function.
38006
38007 2008-04-20  Bruno Haible  <bruno@clisp.org>
38008
38009         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
38010         for nlink_t if missing.
38011         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
38012
38013 2008-04-19  Bruno Haible  <bruno@clisp.org>
38014
38015         Work around snprintf bug on Linux libc5.
38016         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
38017         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38018         gl_SNPRINTF_SIZE1.
38019         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38020         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
38021         that test failed.
38022         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
38023         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
38024         * modules/snprintf (Files): Add m4/printf.m4.
38025         * modules/vsnprintf (Files): Likewise.
38026         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
38027         * doc/posix-functions/vsnprintf.texi: Likewise.
38028
38029 2008-04-19  Bruno Haible  <bruno@clisp.org>
38030
38031         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
38032         from 0.0058 to less than 10^-7.
38033
38034 2008-04-19  Bruno Haible  <bruno@clisp.org>
38035
38036         Fix rounding when a precision is given.
38037         * lib/vasnprintf.c (is_borderline): New function.
38038         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
38039         9...9x.
38040         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
38041         %e, %g.
38042         * tests/test-vasprintf-posix.c (test_function): Likewise.
38043         * tests/test-snprintf-posix.h (test_function): Likewise.
38044         * tests/test-sprintf-posix.h (test_function): Likewise.
38045         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
38046         * tests/test-printf-posix.h (test_function): Likewise.
38047         * tests/test-printf-posix.output: Update.
38048         Reported by John Darrington <john@darrington.wattle.id.au> via
38049         Ben Pfaff <blp@cs.stanford.edu>.
38050
38051 2008-04-18  Simon Josefsson  <simon@josefsson.org>
38052
38053         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
38054         Suggested by Bruno Haible <bruno@clisp.org>.
38055
38056 2008-04-17  Bruno Haible  <bruno@clisp.org>
38057
38058         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
38059         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
38060         implementation.
38061         Patch by Bruce Merry <bmerry@gmail.com>.
38062
38063 2008-04-17  Simon Josefsson  <simon@josefsson.org>
38064
38065         * doc/posix-functions/strftime.texi (strftime): Mention that %e
38066         doesn't work under Windows.
38067
38068 2008-04-16  Bruno Haible  <bruno@clisp.org>
38069
38070         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
38071         New macros.
38072         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
38073         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
38074         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
38075         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
38076         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
38077         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
38078         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
38079         macros.
38080         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
38081         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
38082         Northern Sotho, Uighur.
38083
38084 2008-04-16  Bruno Haible  <bruno@clisp.org>
38085
38086         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
38087         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
38088         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
38089         Reported by Daniel Bergström <daniel@octocode.com>.
38090
38091 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
38092             Bruno Haible  <bruno@clisp.org>
38093
38094         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
38095         function.
38096         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
38097         New functions, mostly extracted from gl_locale_name_default.
38098         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
38099
38100 2008-04-16  Eric Blake  <ebb9@byu.net>
38101
38102         Adjust strtod detection to catch glibc 2.7 bug.
38103         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
38104         Reported by John Gatewood Ham.
38105
38106 2008-04-16  Bruno Haible  <bruno@clisp.org>
38107
38108         Add tentative support for Linux libc5.
38109         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
38110         * lib/fpurge.c (fpurge): Likewise.
38111         * lib/freadable.c (freadable): Likewise.
38112         * lib/freadahead.c (freadahead): Likewise.
38113         * lib/freading.c (freading): Likewise.
38114         * lib/freadptr.c (freadptr): Likewise.
38115         * lib/freadseek.c (freadptrinc): Likewise.
38116         * lib/fseeko.c (rpl_fseeko): Likewise.
38117         * lib/fseterr.c (fseterr): Likewise.
38118         * lib/fwritable.c (fwritable): Likewise.
38119         * lib/fwriting.c (fwriting): Likewise.
38120         Reported by Alain Guibert <alguibert+bts@free.fr>.
38121
38122 2008-04-15  Bruno Haible  <bruno@clisp.org>
38123
38124         * modules/mathl (configure.ac): Define module indicator.
38125
38126 2008-04-15  Bruno Haible  <bruno@clisp.org>
38127
38128         * lib/logl.c (logl): Remove unused variables.
38129
38130 2008-04-15  Bruno Haible  <bruno@clisp.org>
38131
38132         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
38133         fails.
38134
38135 2008-04-15  Bruno Haible  <bruno@clisp.org>
38136
38137         * lib/trim.c (trim2): Fix argument of isspace() macro.
38138
38139 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
38140
38141         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
38142         to 0.
38143         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
38144
38145 2008-04-14  Bruno Haible  <bruno@clisp.org>
38146
38147         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
38148         AC_LANG_PROGRAM argument.
38149         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
38150         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
38151         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
38152         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38153         * m4/math_h.m4 (gl_MATH_H): Likewise.
38154         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
38155         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
38156         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
38157         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
38158         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
38159         * m4/regex.m4 (gl_REGEX): Likewise.
38160         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
38161         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
38162         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38163         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
38164         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
38165         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
38166         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38167         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
38168
38169 2008-04-14  Jim Meyering  <meyering@redhat.com>
38170
38171         test-strtod: fix typos: s/abs/fabs/
38172         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
38173
38174 2008-04-13  Bruno Haible  <bruno@clisp.org>
38175
38176         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
38177         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
38178         module is also used and while not building the reloc-wrapper.
38179
38180 2008-04-13  Bruno Haible  <bruno@clisp.org>
38181
38182         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
38183
38184 2008-04-13  Bruno Haible  <bruno@clisp.org>
38185
38186         Fix AIX compilation failure introduced on 2008-04-02.
38187         * tests/test-frexp.c (exp): Undefine before redefining.
38188         * tests/test-frexpl.c (exp): Likewise.
38189
38190 2008-04-13  Bruno Haible  <bruno@clisp.org>
38191
38192         Work around a HP-UX stdio bug.
38193         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
38194         * tests/test-ftello.c (main): Likewise.
38195         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
38196         * doc/posix-functions/ftello.texi: Likewise.
38197
38198 2008-04-13  Bruno Haible  <bruno@clisp.org>
38199
38200         Make test-signbit pass on HP-UX/hppa.
38201         * tests/test-signbit.c (minus_zerol): New variable.
38202         (test_signbitl): Use it.
38203
38204 2008-04-13  Bruno Haible  <bruno@clisp.org>
38205
38206         Make truncl work on OSF/1 4.0.
38207         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
38208         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
38209         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
38210         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
38211         HAVE_DECL_TRUNCL.
38212         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
38213         HAVE_DECL_TRUNCL.
38214         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
38215
38216 2008-04-13  Bruno Haible  <bruno@clisp.org>
38217
38218         * lib/unictype.h: Remove trailing comma from enumeration definitions.
38219
38220 2008-04-13  Bruno Haible  <bruno@clisp.org>
38221
38222         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
38223         expression, so as to avoid HP-UX 11 cc compiler bug.
38224
38225 2008-04-13  Bruno Haible  <bruno@clisp.org>
38226
38227         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
38228
38229 2008-04-13  Bruno Haible  <bruno@clisp.org>
38230
38231         * lib/git-merge-changelog.c: Remove empty declaration outside of
38232         functions.
38233
38234 2008-04-13  Bruno Haible  <bruno@clisp.org>
38235
38236         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
38237
38238 2008-04-13  Bruno Haible  <bruno@clisp.org>
38239
38240         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
38241         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
38242         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
38243         also if it exists but lacks definitions of the SHUT_* macros.
38244         * modules/sys_socket (Description): Update.
38245         Reported by Elbert Pol <e.pol@chello.nl>.
38246
38247 2008-04-13  Bruno Haible  <bruno@clisp.org>
38248
38249         * lib/localcharset.c (OS2): Don't redefine if already defined.
38250         Reported by Elbert Pol <e.pol@chello.nl>.
38251
38252 2008-04-13  Bruno Haible  <bruno@clisp.org>
38253
38254         * lib/binary-io.h [__EMX__]: Include <io.h>.
38255         Reported by Elbert Pol <e.pol@chello.nl>.
38256
38257 2008-04-12  Bruno Haible  <bruno@clisp.org>
38258
38259         * lib/fpucw.h: Enable the definitions also for x86_64.
38260         Needed for NetBSD/x86_64.
38261         Reported by Thomas Klausner <tk@giga.or.at>.
38262
38263 2008-04-12  Bruno Haible  <bruno@clisp.org>
38264
38265         * tests/test-strtod.c: Include isnand.h.
38266         (main): Use isnand instead of isnan.
38267         Reported by Jim Meyering.
38268
38269 2008-04-12  Bruno Haible  <bruno@clisp.org>
38270
38271         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
38272         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
38273
38274 2008-04-12  Jim Meyering  <meyering@redhat.com>
38275
38276         * m4/math_h.m4 (gl_MATH_H): Fix typos.
38277
38278 2008-04-12  Bruno Haible  <bruno@clisp.org>
38279
38280         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
38281         Reported by Elbert Pol <e.pol@chello.nl>.
38282
38283 2008-04-12  Eric Blake  <ebb9@byu.net>
38284
38285         Work around Solaris 10 math.h bug.
38286         * m4/math_h.m4 (gl_MATH_H): Check for bug.
38287         (gl_MATH_H_DEFAULTS): Set up default.
38288         * modules/math (Makefile.am): Replace new indicators.
38289         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
38290         * tests/test-math.c (main): Test this.
38291         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
38292         * doc/posix-headers/math.texi (math.h): Mention bug.
38293         Reported by Nelson H. F. Beebe and Jim Meyering.
38294
38295 2008-04-11  Bruno Haible  <bruno@clisp.org>
38296
38297         Adapt to future versions of Apple GCC.
38298         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
38299         Reported by Peter O'Gorman <peter@pogma.com>.
38300
38301 2008-04-11  Bruno Haible  <bruno@clisp.org>
38302
38303         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
38304
38305 2008-04-11  Bruno Haible  <bruno@clisp.org>
38306
38307         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
38308
38309         * modules/getaddrinfo-tests (Makefile.am): Define
38310         test_getaddrinfo_LDADD.
38311
38312 2008-04-11  Bruno Haible  <bruno@clisp.org>
38313
38314         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
38315         (init): Fix syntax error.
38316         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
38317         is declared.
38318
38319 2008-04-11  Bruno Haible  <bruno@clisp.org>
38320
38321         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
38322         * modules/glob (Depends-on): Add stdbool.
38323
38324 2008-04-11  Bruno Haible  <bruno@clisp.org>
38325
38326         * lib/trim.c: Include <string.h>.
38327
38328 2008-04-11  Eric Blake  <ebb9@byu.net>
38329
38330         Avoid compile failure on OS/2.
38331         * lib/regex_internal.h (internal_function): Disable optimization
38332         on OS/2 (__EMX__), where it caused compiler error.
38333         Reported by Elbert Pol.
38334
38335 2008-04-11  Bruno Haible  <bruno@clisp.org>
38336
38337         Flush the standard error stream before aborting. Needed on mingw.
38338         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
38339         * tests/test-array_list.c (ASSERT): Likewise.
38340         * tests/test-array_oset.c (ASSERT): Likewise.
38341         * tests/test-avltree_list.c (ASSERT): Likewise.
38342         * tests/test-avltree_oset.c (ASSERT): Likewise.
38343         * tests/test-avltreehash_list.c (ASSERT): Likewise.
38344         * tests/test-binary-io.c (ASSERT): Likewise.
38345         * tests/test-byteswap.c (ASSERT): Likewise.
38346         * tests/test-c-ctype.c (ASSERT): Likewise.
38347         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
38348         * tests/test-c-strcasestr.c (ASSERT): Likewise.
38349         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
38350         * tests/test-c-strstr.c (ASSERT): Likewise.
38351         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
38352         * tests/test-canonicalize.c (ASSERT): Likewise.
38353         * tests/test-carray_list.c (ASSERT): Likewise.
38354         * tests/test-ceilf1.c (ASSERT): Likewise.
38355         * tests/test-ceilf2.c (ASSERT): Likewise.
38356         * tests/test-ceill.c (ASSERT): Likewise.
38357         * tests/test-count-one-bits.c (ASSERT): Likewise.
38358         * tests/test-fbufmode.c (ASSERT): Likewise.
38359         * tests/test-fflush2.c (ASSERT): Likewise.
38360         * tests/test-floorf1.c (ASSERT): Likewise.
38361         * tests/test-floorf2.c (ASSERT): Likewise.
38362         * tests/test-floorl.c (ASSERT): Likewise.
38363         * tests/test-fopen.c (ASSERT): Likewise.
38364         * tests/test-fpending.c (ASSERT): Likewise.
38365         * tests/test-fprintf-posix.c (ASSERT): Likewise.
38366         * tests/test-fpurge.c (ASSERT): Likewise.
38367         * tests/test-freadable.c (ASSERT): Likewise.
38368         * tests/test-freadahead.c (ASSERT): Likewise.
38369         * tests/test-freading.c (ASSERT): Likewise.
38370         * tests/test-freadptr.c (ASSERT): Likewise.
38371         * tests/test-freadptr2.c (ASSERT): Likewise.
38372         * tests/test-freadseek.c (ASSERT): Likewise.
38373         * tests/test-freopen.c (ASSERT): Likewise.
38374         * tests/test-frexp.c (ASSERT): Likewise.
38375         * tests/test-frexpl.c (ASSERT): Likewise.
38376         * tests/test-fseek.c (ASSERT): Likewise.
38377         * tests/test-fseeko.c (ASSERT): Likewise.
38378         * tests/test-fstrcmp.c (ASSERT): Likewise.
38379         * tests/test-ftell.c (ASSERT): Likewise.
38380         * tests/test-ftello.c (ASSERT): Likewise.
38381         * tests/test-func.c (ASSERT): Likewise.
38382         * tests/test-fwritable.c (ASSERT): Likewise.
38383         * tests/test-fwriting.c (ASSERT): Likewise.
38384         * tests/test-getdelim.c (ASSERT): Likewise.
38385         * tests/test-getline.c (ASSERT): Likewise.
38386         * tests/test-i-ring.c (ASSERT): Likewise.
38387         * tests/test-iconv-utf.c (ASSERT): Likewise.
38388         * tests/test-iconv.c (ASSERT): Likewise.
38389         * tests/test-isfinite.c (ASSERT): Likewise.
38390         * tests/test-isnand.c (ASSERT): Likewise.
38391         * tests/test-isnanf.c (ASSERT): Likewise.
38392         * tests/test-isnanl.h (ASSERT): Likewise.
38393         * tests/test-ldexpl.c (ASSERT): Likewise.
38394         * tests/test-linked_list.c (ASSERT): Likewise.
38395         * tests/test-linkedhash_list.c (ASSERT): Likewise.
38396         * tests/test-localename.c (ASSERT): Likewise.
38397         * tests/test-lseek.c (ASSERT): Likewise.
38398         * tests/test-mbscasecmp.c (ASSERT): Likewise.
38399         * tests/test-mbscasestr1.c (ASSERT): Likewise.
38400         * tests/test-mbscasestr2.c (ASSERT): Likewise.
38401         * tests/test-mbscasestr3.c (ASSERT): Likewise.
38402         * tests/test-mbscasestr4.c (ASSERT): Likewise.
38403         * tests/test-mbschr.c (ASSERT): Likewise.
38404         * tests/test-mbscspn.c (ASSERT): Likewise.
38405         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
38406         * tests/test-mbspbrk.c (ASSERT): Likewise.
38407         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
38408         * tests/test-mbsrchr.c (ASSERT): Likewise.
38409         * tests/test-mbsspn.c (ASSERT): Likewise.
38410         * tests/test-mbsstr1.c (ASSERT): Likewise.
38411         * tests/test-mbsstr2.c (ASSERT): Likewise.
38412         * tests/test-mbsstr3.c (ASSERT): Likewise.
38413         * tests/test-memchr2.c (ASSERT): Likewise.
38414         * tests/test-memmem.c (ASSERT): Likewise.
38415         * tests/test-open.c (ASSERT): Likewise.
38416         * tests/test-printf-frexp.c (ASSERT): Likewise.
38417         * tests/test-printf-frexpl.c (ASSERT): Likewise.
38418         * tests/test-printf-posix.c (ASSERT): Likewise.
38419         * tests/test-quotearg.c (ASSERT): Likewise.
38420         * tests/test-rbtree_list.c (ASSERT): Likewise.
38421         * tests/test-rbtree_oset.c (ASSERT): Likewise.
38422         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
38423         * tests/test-round1.c (ASSERT): Likewise.
38424         * tests/test-roundf1.c (ASSERT): Likewise.
38425         * tests/test-roundl.c (ASSERT): Likewise.
38426         * tests/test-signbit.c (ASSERT): Likewise.
38427         * tests/test-sleep.c (ASSERT): Likewise.
38428         * tests/test-snprintf-posix.c (ASSERT): Likewise.
38429         * tests/test-snprintf.c (ASSERT): Likewise.
38430         * tests/test-sprintf-posix.c (ASSERT): Likewise.
38431         * tests/test-stat-time.c (ASSERT): Likewise.
38432         * tests/test-strcasestr.c (ASSERT): Likewise.
38433         * tests/test-strerror.c (ASSERT): Likewise.
38434         * tests/test-striconv.c (ASSERT): Likewise.
38435         * tests/test-striconveh.c (ASSERT): Likewise.
38436         * tests/test-striconveha.c (ASSERT): Likewise.
38437         * tests/test-strsignal.c (ASSERT): Likewise.
38438         * tests/test-strstr.c (ASSERT): Likewise.
38439         * tests/test-strtod.c (ASSERT): Likewise.
38440         * tests/test-trunc1.c (ASSERT): Likewise.
38441         * tests/test-trunc2.c (ASSERT): Likewise.
38442         * tests/test-truncf1.c (ASSERT): Likewise.
38443         * tests/test-truncf2.c (ASSERT): Likewise.
38444         * tests/test-truncl.c (ASSERT): Likewise.
38445         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
38446         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
38447         * tests/test-vasnprintf.c (ASSERT): Likewise.
38448         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
38449         * tests/test-vasprintf.c (ASSERT): Likewise.
38450         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
38451         * tests/test-vprintf-posix.c (ASSERT): Likewise.
38452         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
38453         * tests/test-vsnprintf.c (ASSERT): Likewise.
38454         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
38455         * tests/test-wcwidth.c (ASSERT): Likewise.
38456         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
38457         * tests/test-xprintf-posix.c (ASSERT): Likewise.
38458         * tests/test-xvasprintf.c (ASSERT): Likewise.
38459         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
38460         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
38461         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
38462         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
38463         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
38464         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
38465         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
38466         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
38467         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
38468         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
38469         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
38470         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
38471         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
38472         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
38473         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
38474         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
38475         * tests/unictype/test-block_list.c (ASSERT): Likewise.
38476         * tests/unictype/test-block_of.c (ASSERT): Likewise.
38477         * tests/unictype/test-block_test.c (ASSERT): Likewise.
38478         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
38479         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
38480         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
38481         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
38482         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
38483         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
38484         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
38485         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
38486         * tests/unictype/test-combining.c (ASSERT): Likewise.
38487         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
38488         * tests/unictype/test-digit.c (ASSERT): Likewise.
38489         * tests/unictype/test-mirror.c (ASSERT): Likewise.
38490         * tests/unictype/test-numeric.c (ASSERT): Likewise.
38491         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
38492         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
38493         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
38494         * tests/unictype/test-scripts.c (ASSERT): Likewise.
38495         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
38496         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
38497         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
38498         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
38499         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
38500         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
38501         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
38502         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
38503         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
38504         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
38505         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
38506         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
38507         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
38508         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
38509         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
38510         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
38511         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
38512         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
38513         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
38514         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
38515         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
38516         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
38517         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
38518         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
38519         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
38520         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
38521         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
38522         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
38523         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
38524         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
38525         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
38526         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
38527         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
38528         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
38529         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
38530         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
38531         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
38532         Reported by Eric Blake.
38533
38534 2008-04-11  Bruno Haible  <bruno@clisp.org>
38535
38536         * lib/wchar.in.h: Tweak comment.
38537
38538 2008-04-11  Bruno Haible  <bruno@clisp.org>
38539
38540         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
38541         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
38542         gl_COMMON.
38543         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
38544
38545 2008-04-11  Bruno Haible  <bruno@clisp.org>
38546
38547         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
38548
38549 2008-04-11  Simon Josefsson  <simon@josefsson.org>
38550
38551         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
38552         of attempting to use non-existing /dev/*random.  Based on patch
38553         from Adam Strzelecki <ono@java.pl> in
38554         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
38555
38556 2008-04-08  Bruno Haible  <bruno@clisp.org>
38557
38558         Add tentative support for emx+gcc.
38559         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
38560         * lib/fpurge.c (fpurge): Likewise.
38561         * lib/freadable.c (freadable): Likewise.
38562         * lib/freadahead.c (freadahead): Likewise.
38563         * lib/freading.c (freading): Likewise.
38564         * lib/freadptr.c (freadptr): Likewise.
38565         * lib/freadseek.c (freadptrinc): Likewise.
38566         * lib/fseeko.c (rpl_fseeko): Likewise.
38567         * lib/fseterr.c (fseterr): Likewise.
38568         * lib/fwritable.c (fwritable): Likewise.
38569         * lib/fwriting.c (fwriting): Likewise.
38570         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
38571
38572 2008-04-09  Eric Blake  <ebb9@byu.net>
38573
38574         Avoid some autoconf warnings.
38575         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
38576         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
38577         * m4/afs.m4 (gl_AFS): Likewise.
38578         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
38579         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
38580         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
38581         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
38582         (gl_INTEGER_TYPE_SUFFIX): Likewise.
38583         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
38584         (AC_CHECK_DECLS_ONCE): Likewise.
38585         Rename file...
38586         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
38587         gnulib-tool requires autoconf 2.59 or better.
38588         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
38589
38590 2008-04-08  Eric Blake  <ebb9@byu.net>
38591
38592         Use 'git describe --match' if present (added in git 1.5.5).
38593         * build-aux/git-version-gen: Limit result to tags that match 'v*'
38594         if possible.
38595
38596 2008-04-08  Bruno Haible  <bruno@clisp.org>
38597
38598         Add tentative support for OpenServer.
38599         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
38600         _ptr, _cnt.
38601         * lib/fpurge.c (fpurge): Likewise.
38602         * lib/freadable.c (freadable): Likewise.
38603         * lib/freadahead.c (freadahead): Likewise.
38604         * lib/freading.c (freading): Likewise.
38605         * lib/freadptr.c (freadptr): Likewise.
38606         * lib/freadseek.c (freadptrinc): Likewise.
38607         * lib/fseeko.c (rpl_fseeko): Likewise.
38608         * lib/fseterr.c (fseterr): Likewise.
38609         * lib/fwritable.c (fwritable): Likewise.
38610         * lib/fwriting.c (fwriting): Likewise.
38611         Reported by Roger Cornelius <rac@tenzing.org> and
38612         Brian K. White <brian@aljex.com>.
38613
38614 2008-04-06  Jim Meyering  <meyering@redhat.com>
38615
38616         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
38617
38618 2008-04-06  Bruno Haible  <bruno@clisp.org>
38619
38620         Avoid possible error with non-ASCII bytes in UTF-8 locales.
38621         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
38622         * tests/test-printf-posix.sh: Likewise.
38623         * tests/test-vfprintf-posix.sh: Likewise.
38624         * tests/test-vprintf-posix.sh: Likewise.
38625         * tests/test-xprintf-posix.sh: Likewise.
38626
38627 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38628
38629         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
38630         hide error from 'ls', needed on OS/2.
38631         Report by Elbert Pol <elbert.pol@gmail.com>.
38632
38633 2008-04-04  Eric Blake  <ebb9@byu.net>
38634
38635         Make test-fseeko.c failures meaningful.
38636         * tests/test-fseeko.c: Print line number on failure.
38637         * tests/test-fseek.c: Likewise.
38638         Reported by Nelson H. F. Beebe.
38639
38640         Improve strtod bug detection check.
38641         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
38642         required for Solaris 10.
38643         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
38644
38645 2008-04-04  Bruno Haible  <bruno@clisp.org>
38646
38647         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
38648         by m4/setenv.m4.
38649
38650 2008-04-03  Eric Blake  <ebb9@byu.net>
38651
38652         Ensure sane .version contents.
38653         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
38654         version string.
38655         * build-aux/git-version-gen: Improve documentation.
38656
38657         Make GNU make output nicer.
38658         * top/GNUmakefile [!_have-Makefile]: Add dependency on
38659         MAKECMDGOALS to enforce message for all command line targets.  Set
38660         srcdir for use in maint.mk.
38661
38662         Another maintainer tweak.
38663         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
38664         a target that regenerates version.
38665
38666 2008-04-03  Jim Meyering  <meyering@redhat.com>
38667
38668         vc-list-files: don't cause coreutils "make po-check" failure
38669         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
38670
38671 2008-04-03  Eric Blake  <ebb9@byu.net>
38672
38673         Allow VPATH usage of vc-list-files.
38674         * build-aux/vc-list-files (scriptversion): Add timestamp.
38675         (options): Add --help, --version, -C.
38676         (CVS): Support installed cvsu.
38677
38678 2008-04-02  Bruno Haible  <bruno@clisp.org>
38679
38680         Avoid some "statement with no effect" warnings from gcc.
38681         * tests/test-wctype.c (main): Explicitly ignore unused values.
38682         Reported by Jim Meyering.
38683
38684 2008-04-02  Jim Meyering  <meyering@redhat.com>
38685
38686         Avoid some warnings from "gcc -Wshadow".
38687         * tests/test-frexp.c (exp): Define to a different identifier.
38688         * tests/test-frexpl.c (exp): Likewise.
38689
38690 2008-04-03  Jim Meyering  <meyering@redhat.com>
38691
38692         bootstrap: remove dangling *.[ch] symlinks from lib
38693         * build-aux/bootstrap [dangling symlink removal]: Move find's
38694         -depth option to precede all others, to avoid a warning.
38695         Remove *.[ch] files too, and from "$source_base" (usually lib/).
38696
38697 2008-04-02  Bruno Haible  <bruno@clisp.org>
38698
38699         Avoid some warnings from "gcc -Wshadow".
38700         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
38701         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
38702         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
38703         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
38704         Reported by Jim Meyering.
38705
38706 2008-04-01  Bruno Haible  <bruno@clisp.org>
38707
38708         Fix test to work on IRIX 6.5 with cc.
38709         * tests/test-math.c (numeric_equal): New function.
38710         (main): Use it.
38711
38712 2008-04-01  Bruno Haible  <bruno@clisp.org>
38713
38714         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
38715
38716 2008-04-01  Bruno Haible  <bruno@clisp.org>
38717
38718         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
38719         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38720         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
38721         (Depends-on): Remove math.
38722
38723         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
38724         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38725         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
38726         (Depends-on): Remove math.
38727
38728         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
38729         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38730         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
38731         (Depends-on): Remove math.
38732         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
38733         (Depends-on): Remove math.
38734
38735         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
38736         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38737         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
38738         (Depends-on): Remove math.
38739         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
38740         (Depends-on): Remove math.
38741
38742         * tests/test-round1.c: Include nan.h.
38743         (main): Use NaNd instead of NAN.
38744         * modules/round-tests (Files): Add tests/nan.h.
38745
38746         * tests/test-trunc1.c: Include nan.h.
38747         (main): Use NaNd instead of NAN.
38748         * modules/trunc-tests (Files): Add tests/nan.h.
38749
38750         * tests/test-roundf1.c: Include nan.h.
38751         (main): Use NaNf instead of NAN.
38752         * modules/roundf-tests (Files): Add tests/nan.h.
38753
38754         * tests/test-truncf1.c: Include nan.h.
38755         (main): Use NaNf instead of NAN.
38756         * modules/truncf-tests (Files): Add tests/nan.h.
38757
38758         * tests/test-ceilf1.c: Include nan.h.
38759         (main): Use NaNf instead of NAN.
38760         * modules/ceilf-tests (Files): Add tests/nan.h.
38761
38762         * tests/test-floorf1.c: Include nan.h.
38763         (main): Use NaNf instead of NAN.
38764         * modules/floorf-tests (Files): Add tests/nan.h.
38765
38766         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
38767         (main): Use NaNf instead of NAN.
38768         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
38769
38770         * tests/test-isnand.c: Include nan.h instead of <math.h>.
38771         (main): Use NaNd instead of NAN.
38772         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
38773
38774         * tests/test-frexp.c: Include nan.h.
38775         (main): Use NaNd instead of NAN.
38776         * modules/frexp-tests (Files): Add tests/nan.h.
38777
38778         * lib/isnan.c: Don't include <math.h>.
38779         (FUNC): Don't use NAN macro.
38780         * modules/isnand-nolibm (Depends-on): Remove math.
38781         * modules/isnanf-nolibm (Depends-on): Remove math.
38782         * modules/isnanl (Depends-on): Remove math.
38783         * modules/isnanl-nolibm (Depends-on): Remove math.
38784
38785         * tests/nan.h: New file.
38786
38787 2008-04-01  Eric Blake  <ebb9@byu.net>
38788
38789         Fix typos.
38790         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
38791         values to be the right type.
38792
38793         For now, cater to gnulib strtod inaccuracies.
38794         * tests/test-strtod.c (main): Allow 1-ulp error on expected
38795         fractional results.  While not as nice from a QoI perspective, it
38796         is a quicker patch than correctly implementing decimal to binary
38797         rounding.
38798
38799 2008-03-31  Eric Blake  <ebb9@byu.net>
38800
38801         Guarantee a definition of NAN.
38802         * lib/math.in.h (NAN): Define if missing.
38803         * tests/test-math.c (main): Test it.
38804         * doc/posix-headers/math.texi (math.h): Document this.
38805         * lib/isnan.c (rpl_isnand): Use it.
38806         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
38807         * tests/test-floorf1.c (NaN): Likewise.
38808         * tests/test-frexp.c (NaN): Likewise.
38809         * tests/test-isnand.c (NaN): Likewise.
38810         * tests/test-isnanf.c (NaN): Likewise.
38811         * tests/test-round1.c (NaN): Likewise.
38812         * tests/test-roundf1.c (NaN): Likewise.
38813         * tests/test-snprintf-posix.h (NaN): Likewise.
38814         * tests/test-sprintf-posix.h (NaN): Likewise.
38815         * tests/test-trunc1.c (NaN): Likewise.
38816         * tests/test-truncf1.c (NaN): Likewise.
38817         * tests/test-vasnprintf-posix.c (NaN): Likewise.
38818         * tests/test-vasprintf-posix.c (NaN): Likewise.
38819         * modules/isnand-nolibm (Depends-on): Add math.
38820         * modules/isnanf-nolibm (Depends-on): Likewise.
38821         * modules/isnanl (Depends-on): Likewise.
38822         * modules/isnanl-nolibm (Depends-on): Likewise.
38823         * modules/snprintf-posix-tests (Depends-on): Likewise.
38824         * modules/sprintf-posix-tests (Depends-on): Likewise.
38825         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
38826         * modules/vsprintf-posix-tests (Depends-on): Likewise.
38827         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
38828         * modules/vasprintf-posix-tests (Depends-on): Likewise.
38829
38830 2008-03-31  Bruno Haible  <bruno@clisp.org>
38831
38832         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
38833         * doc/posix-functions/strtod.texi: Likewise.
38834
38835 2008-03-31  Bruno Haible  <bruno@clisp.org>
38836
38837         * tests/test-strtod.c (main): Don't use C99 syntax.
38838
38839 2008-03-31  Bruno Haible  <bruno@clisp.org>
38840
38841         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
38842         Reported by Eric Blake.
38843
38844 2008-03-31  Jim Meyering  <meyering@redhat.com>
38845
38846         Don't compare actual signbit return values.
38847         * tests/test-strtod.c (main): Rather, compare only their
38848         zero/non-zero nature.
38849
38850 2008-03-31  Eric Blake  <ebb9@byu.net>
38851
38852         More strtod documentation.
38853         * doc/posix-functions/strtod.texi (strtod): Interpret more test
38854         failures as distinct bugs.
38855
38856 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
38857
38858         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
38859         Problem reported by Erik Benada in
38860         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
38861
38862 2008-03-30  Bruno Haible  <bruno@clisp.org>
38863
38864         * tests/test-strtod.c: Add comments about which assertion fails on which
38865         platform.
38866         * doc/posix-functions/strtod.texi: Add info about many more platforms.
38867
38868 2008-03-30  Eric Blake  <ebb9@byu.net>
38869
38870         Test signbit behavior on zeros.
38871         * tests/test-signbit.c (test_signbitf): Add tests for zero.
38872         (test_signbitd, test_signbitl): Likewise.
38873
38874         More strtod touchups.
38875         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
38876         sign of negative underflow, for now.  Use .5, not .1.
38877         * doc/posix-functions/strtod.texi (strtod): Mention these
38878         limitations.
38879         Reported by Jim Meyering.
38880
38881 2008-03-30  Bruno Haible  <bruno@clisp.org>
38882
38883         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
38884         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
38885
38886 2008-03-30  Bruno Haible  <bruno@clisp.org>
38887
38888         Avoid failure when attempting to return empty iconv results on some
38889         platforms.
38890         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
38891         allocation, don't report ENOMEM when the resulting string is empty.
38892
38893 2008-03-30  Bruno Haible  <bruno@clisp.org>
38894
38895         Fix buffer overrun.
38896         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
38897         Don't consider the width for tmp_length. Check count against tmp_length
38898         before doing the padding. Ensure enough allocation during padding.
38899
38900 2008-03-30  Eric Blake  <ebb9@byu.net>
38901
38902         strtod touchups.
38903         * lib/strtod.c (strtod): Avoid compiler warnings.
38904         Reported by Jim Meyering.
38905
38906 2008-03-30  Bruno Haible  <bruno@clisp.org>
38907
38908         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
38909         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
38910         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
38911         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
38912         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
38913         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
38914         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
38915         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
38916
38917         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
38918         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
38919         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
38920         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
38921         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
38922         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
38923         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
38924         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
38925
38926         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
38927         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
38928         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
38929         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
38930         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
38931         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
38932         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
38933         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
38934
38935         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
38936         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
38937
38938         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
38939         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
38940
38941         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
38942         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
38943
38944         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
38945         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
38946         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
38947
38948         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
38949         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
38950         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
38951
38952         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
38953         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
38954         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
38955
38956         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
38957         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
38958         * modules/vasprintf (Depends-on): Add EOVERFLOW.
38959
38960         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
38961         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
38962         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
38963         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
38964         (Depends-on): Add EOVERFLOW.
38965         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
38966         (Depends-on): Add EOVERFLOW.
38967         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
38968         (Depends-on): Add EOVERFLOW.
38969         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
38970         (Depends-on): Add EOVERFLOW.
38971         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
38972         (Depends-on): Add EOVERFLOW.
38973         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
38974         (Depends-on): Add EOVERFLOW.
38975         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
38976         (Depends-on): Add EOVERFLOW.
38977         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
38978         (Depends-on): Add EOVERFLOW.
38979
38980         * lib/sprintf.c (EOVERFLOW): Remove fallback.
38981         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
38982         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
38983
38984         * lib/snprintf.c (EOVERFLOW): Remove fallback.
38985         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
38986         * modules/snprintf (Depends-on): Add EOVERFLOW.
38987
38988         * lib/poll.c (EOVERFLOW): Remove fallback.
38989         * modules/poll (Depends-on): Add EOVERFLOW.
38990
38991         * lib/getugroups.c (EOVERFLOW): Remove fallback.
38992         * modules/getugroups (Depends-on): Add EOVERFLOW.
38993
38994         * lib/getdelim.c (EOVERFLOW): Remove fallback.
38995         * modules/getdelim (Depends-on): Add EOVERFLOW.
38996
38997         * lib/ftell.c (EOVERFLOW): Remove fallback.
38998         * modules/ftell (Depends-on): Add EOVERFLOW.
38999
39000         * lib/fprintf.c (EOVERFLOW): Remove fallback.
39001         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
39002         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
39003
39004         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
39005
39006         * modules/EOVERFLOW-tests: New file.
39007         * tests/test-EOVERFLOW.c: New file.
39008
39009         * modules/EOVERFLOW: New file.
39010         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
39011
39012 2008-03-30  Bruno Haible  <bruno@clisp.org>
39013
39014         Fix bug introduced on 2007-06-10.
39015         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
39016         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
39017
39018 2008-03-30  Bruno Haible  <bruno@clisp.org>
39019
39020         Improve freadseek's efficiency after ungetc.
39021         * lib/freadseek.c: Include freadahead.h.
39022         (freadptrinc): New function, extracted from freadseek.
39023         (freadseek): Use it in a loop. Use freadahead to determine the number
39024         of loop iterations.
39025         * modules/freadseek (Depends-on): Add freadahead.
39026         (configure.ac): Require AC_C_INLINE.
39027
39028 2008-03-30  Bruno Haible  <bruno@clisp.org>
39029
39030         * lib/freadseek.c (freadseek): Don't ignore the return value of
39031         freadptr.
39032
39033 2008-03-29  Eric Blake  <ebb9@byu.net>
39034
39035         Add hex float support.
39036         * modules/strtod (Depends-on): Add c-ctype.
39037         (Link): Mention POW_LIB.
39038         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
39039         whitespace between 'e' and exponent.
39040         * tests/test-strtod.c (main): Enable hex float tests.
39041         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
39042         now provides.
39043
39044         Document various strtod bugs, with some fixes.
39045         * doc/posix-functions/strtod.texi (strtod): Document bugs with
39046         "-0x", "inf", "nan", and hex constants.
39047         * doc/posix-functions/atof.texi (atof): Likewise.
39048         * modules/stdlib (Makefile.am): Support strtod.
39049         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
39050         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
39051         detect additional strtod bugs.
39052         * lib/stdlib.in.h (rpl_strtod): Add declarations.
39053         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
39054         bool where appropriate.  Parse 'inf' and 'nan'.
39055         * tests/test-strtod.c: New file.
39056         * modules/strtod (Depends-on): Add stdbool, stdlib.
39057         (configure.ac): Turn on module indicator.
39058         * modules/strtod-tests: New module.
39059
39060 2008-03-29  Eric Blake  <ebb9@byu.net>
39061
39062         Fix ftell on mingw.
39063         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
39064         * modules/ftell-tests (Depends-on): Add binary-io.
39065         * modules/ftello-tests (Depends-on): Likewise.
39066         * tests/test-ftell.c (main): Enhance test to cover behavior after
39067         ungetc.  Enforce binary mode.
39068         * tests/test-ftello.c (main): Likewise.
39069
39070         Pass test-freadseek on cygwin.
39071         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
39072         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
39073         ungetc buffer.
39074
39075         * tests/test-fflush2.c (main): Fix typo.
39076
39077 2008-03-29  Bruno Haible  <bruno@clisp.org>
39078
39079         * tests/test-fflush2.c (main): Temporarily disable the contents of
39080         this test.
39081         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
39082         Reported by Eric Blake.
39083
39084 2008-03-28  Simon Josefsson  <simon@josefsson.org>
39085
39086         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
39087         (GC_SHA224_DIGEST_SIZE): Add.
39088
39089         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
39090         (gc_hash_digest_length): Likewise.
39091         (gc_hash_buffer): Likewise.
39092
39093 2008-03-25  Bruno Haible  <bruno@clisp.org>
39094
39095         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
39096         detail which gettext release to use.
39097         Reported by Simon Josefsson.
39098
39099 2008-03-26  Jim Meyering  <meyering@redhat.com>
39100
39101         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
39102         * modules/gnumakefile (clean-GNUmakefile): Also, use
39103         test ... && ... || : syntax rather than if-then ... fi.
39104
39105         gnumakefile: Don't double-quote-expand $(VPATH) value.
39106         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
39107
39108 2008-03-24  Eric Blake  <ebb9@byu.net>
39109
39110         Alter GNUmakefile to install into top directory.
39111         * modules/maintainer-makefile: Split, and add dependency...
39112         * modules/gnumakefile: to this new module.
39113         * build-aux/GNUmakefile: Move...
39114         * top/GNUmakefile: ...here.
39115         * build-aux/maint.mk: Move...
39116         * top/maint.mk: ...here.
39117         * MODULES.html.sh (Support for maintaining...): Document new
39118         module.
39119
39120 2008-03-23  Bruno Haible  <bruno@clisp.org>
39121
39122         * gnulib-tool: New options --vc-files, --no-vc-files.
39123         (func_usage): Document them.
39124         (vc_files): New variable.
39125         (func_import): Consider vc_files.
39126         (func_create_testdir): Set vc_files to empty.
39127         Suggested by Jim Meyering and Karl Berry.
39128
39129 2008-03-23  Bruno Haible  <bruno@clisp.org>
39130
39131         Fix regex compilation error on HP-UX 11.
39132         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
39133         * modules/regex (Files): Add m4/mbstate_t.m4.
39134         Reported by Ton Voon <ton.voon@altinity.com>.
39135
39136 2008-03-23  Bruno Haible  <bruno@clisp.org>
39137
39138         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
39139
39140 2008-03-23  Eric Blake  <ebb9@byu.net>
39141             Bruno Haible  <bruno@clisp.org>
39142
39143         Install files from top/ in the destination directory.
39144         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
39145         augmentation also for the files from top/.
39146         (func_import, func_create_testdir): Rewrite file names:
39147         top/filename -> filename.
39148
39149 2008-03-23  Bruno Haible  <bruno@clisp.org>
39150
39151         Tweak "gnulib --version" output.
39152         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
39153
39154 2008-03-23  Bruno Haible  <bruno@clisp.org>
39155
39156         Tweak "gnulib --version" output.
39157         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
39158         rather than contents of ChangeLog, when possible.
39159
39160 2008-03-21  Eric Blake  <ebb9@byu.net>
39161
39162         More --version tweaks.
39163         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
39164         date of last ChangeLog entry.
39165
39166 2008-03-21  Jim Meyering  <meyering@redhat.com>
39167
39168         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
39169
39170 2008-03-20  Eric Blake  <ebb9@byu.net>
39171
39172         VPATH fix.
39173         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
39174
39175 2008-03-20  Simon Josefsson  <simon@josefsson.org>
39176
39177         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
39178         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
39179
39180 2008-03-20  Eric Blake  <ebb9@byu.net>
39181
39182         Sync GNUmakefile with coreutils.
39183         * build-aux/GNUmakefile (have-Makefile): Rename...
39184         (_have-Makefile): ...to this, for namespace consideration.
39185         (GNUmakefile.cfg): Include, if present.
39186         (_autoreconf): Define a default.
39187         (_is-dist-target): New rule for rebuilds to pick up intra-release
39188         version.
39189         (maint-cfg.mk): Rename...
39190         (cfg.mk): ...to this.
39191
39192 2008-03-18  Jim Meyering  <meyering@redhat.com>
39193
39194         New script and module: mktempd
39195         * MODULES.html.sh (maint+release support): Add mktempd.
39196         * build-aux/mktempd: New file.
39197         * modules/mktempd: New file.
39198
39199 2008-03-15  Jim Meyering  <meyering@redhat.com>
39200
39201         Undo last change.
39202         * lib/sha1.c, lib/md5.c: 63 != ~63.
39203         Reported by Andreas Schwab.
39204
39205         sha1.c, md5.c: Hoist a redundant expression.
39206         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
39207         "ctx->buflen" only once, before calling *_process_block.
39208         * lib/md5.c (md5_process_bytes): Likewise.
39209
39210 2008-03-14  Eric Blake  <ebb9@byu.net>
39211
39212         Bump copyright year in files generated by gnulib-tool.
39213         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
39214         gnulib-tool, rather than hard-coding it.
39215
39216         Fix 'gnulib-tool --version' output to work with git.
39217         * gnulib-tool (func_gnulib_dir): New function, extracted from...
39218         (startup): ...here.
39219         (func_version): Use it to invoke git-version-gen, rather than
39220         relying on CVS keyword expansion.  Modernize wording.
39221         (cvsdatestamp, last_checkin_date, version): Kill unused
39222         variables.
39223
39224 2008-03-12  Jim Meyering  <meyering@redhat.com>
39225
39226         Recognize optional cast of the argument to free.
39227         * build-aux/useless-if-before-free: Update regexps.
39228
39229         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
39230
39231 2008-03-11  Bruno Haible  <bruno@clisp.org>
39232
39233         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
39234         by a single package.
39235         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
39236         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
39237         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
39238         Reported by Sam Steingold <sds@gnu.org>.
39239
39240 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39241
39242         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
39243         repositories.
39244
39245 2008-03-11  Bruno Haible  <bruno@clisp.org>
39246
39247         Avoid conflicts between local macro definitions.
39248         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
39249         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
39250
39251 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
39252             Bruno Haible  <bruno@clisp.org>
39253
39254         Make va_copy work with some version of xlc on AIX 5.1.
39255         * lib/stdarg.in.h: New file.
39256         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
39257         On AIX, use a <stdarg.h> file substitute.
39258         * modules/stdarg (Files): Add lib/stdarg.in.h.
39259         (Depends-on): Add include_next.
39260         (Makefile.am): Build a stdarg.h substitute if requested.
39261         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
39262
39263 2008-03-10  Bruno Haible  <bruno@clisp.org>
39264
39265         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
39266         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
39267         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
39268
39269 2008-03-10  Bruno Haible  <bruno@clisp.org>
39270
39271         * modules/stdlib (Depends-on): Add include_next, remove
39272         absolute-header.
39273
39274 2008-03-09  Bruno Haible  <bruno@clisp.org>
39275
39276         * lib/freadahead.h (freadahead): Document more precisely.
39277         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
39278         the sum of both buffer sizes.
39279         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
39280         * NEWS: Document the change.
39281
39282 2008-03-09  Bruno Haible  <bruno@clisp.org>
39283
39284         Extend freadptr to return also the buffer size.
39285         * lib/freadptr.h (freadptr): Add sizep argument.
39286         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
39287         (freadptr): Add sizep argument. Determine buffer size like freadahead
39288         does.
39289         * tests/test-freadptr.c: Don't include freadahead.h.
39290         (main): Adapt for new calling convention of freadptr.
39291         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
39292         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
39293         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
39294         tests/test-freadptr2.sh.
39295         (Depends): Remove freadahead.
39296         (TESTS): Add test-freadptr2.sh.
39297         (check_PROGRAMS): Add test-freadptr2.
39298
39299 2008-03-09  Bruno Haible  <bruno@clisp.org>
39300
39301         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
39302         Report and solution by Simon Josefsson.
39303
39304 2008-03-06  Bruno Haible  <bruno@clisp.org>
39305
39306         Make fflush after ungetc work on BSD platforms.
39307         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
39308         * tests/test-fflush2.c: New file.
39309         * tests/test-fflush2.sh: New file.
39310         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
39311         tests/test-fflush2.c.
39312         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
39313         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
39314
39315 2008-03-06  Eric Blake  <ebb9@byu.net>
39316
39317         Likewise for ftello.
39318         * modules/ftello (Dependencies): Add extensions.
39319         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
39320
39321 2008-03-06  Bruno Haible  <bruno@clisp.org>
39322
39323         * modules/fseeko (Dependencies): Add extensions.
39324         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
39325         Needed on glibc systems.
39326
39327 2008-03-06  Bruno Haible  <bruno@clisp.org>
39328
39329         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
39330         email address.
39331         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
39332
39333 2008-03-06  Bruno Haible  <bruno@clisp.org>
39334
39335         * users.txt: Add libgnupdf.
39336
39337 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
39338
39339         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
39340         (Header File Substitutes, Function Substitutes,
39341         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
39342         (Build robot for gnulib): Fix typo.
39343
39344 2008-03-06  Bruno Haible  <bruno@clisp.org>
39345
39346         * doc/gnulib-tool.texi (VCS Issues): Small updates.
39347         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
39348
39349 2008-03-06  Bruno Haible  <bruno@clisp.org>
39350
39351         * doc/func.texi: New file, extracted from doc/gnulib.texi.
39352         * doc/gnulib.texi: Include it.
39353
39354 2008-03-06  Simon Josefsson  <simon@josefsson.org>
39355
39356         * modules/func (License): Change license to unlimited; there was
39357         no LGPL parts in the module anyway.
39358
39359 2008-03-06  Simon Josefsson  <simon@josefsson.org>
39360
39361         * modules/__func__: Renamed to modules/func.
39362         * modules/__func__-tests: Renamed to modules/func-tests.
39363         * tests/test-__func__.c: Renamed to tests/test-func.c.
39364         * m4/__func__.m4: Renamed to m4/func.m4.
39365         * doc/gnulib.texi (__func__): Section renamed to func.
39366         Suggested by Eric Blake <ebb9@byu.net>.
39367
39368 2008-03-06  Simon Josefsson  <simon@josefsson.org>
39369
39370         * doc/gnulib.texi (__func__): Use C99 terminology when talking
39371         about __func__.  Make example self-contained.  Suggested by Eric
39372         Blake <ebb9@byu.net>.
39373
39374         * tests/test-__func__.c (main): Avoid extraneous () around __func.
39375         Suggested by Eric Blake <ebb9@byu.net>.
39376
39377 2008-03-06  Simon Josefsson  <simon@josefsson.org>
39378
39379         * modules/__func__: New file.
39380         * modules/__func__-tests: New file.
39381         * tests/test-__func__.c: New file.
39382         * m4/__func__.m4: New file.
39383         * doc/gnulib.texi (__func__): Document __func__ module.
39384
39385 2008-03-05  Simon Josefsson  <simon@josefsson.org>
39386
39387         * modules/byteswap (License): Re-license as LGPLv2+.
39388
39389 2008-03-05  Simon Josefsson  <simon@josefsson.org>
39390
39391         * doc/Makefile: Add pdf target.
39392
39393 2008-03-05  Simon Josefsson  <simon@josefsson.org>
39394
39395         * modules/inline (License): Use 'unlimited', since there are only
39396         *.m4 files in this module.
39397
39398 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
39399             Bruno Haible  <bruno@clisp.org>
39400
39401         Add support for HP C 7.1 on OpenVMS 8.3.
39402         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
39403
39404 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
39405
39406         Update VMS specifics.
39407         * lib/getopt.c [VMS]: Remove include of unixlib.h.
39408
39409 2008-03-02  Jim Meyering  <meyering@redhat.com>
39410
39411         Remove the last dependency on the "free" module.
39412         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
39413         Reported by Bob Proulx.
39414
39415         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
39416
39417         Remove useless "if" tests before free.  Deprecate "free" module.
39418         * doc/posix-functions/free.texi: Mention that this
39419         module is no longer useful.
39420         * modules/free (Notice): Say this module is obsolete.
39421         * modules/readutmp (Depends-on): Remove free.
39422         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
39423         * lib/putenv.c (putenv): Likewise.
39424         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
39425         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
39426         * tests/test-c-strcasestr.c (main): Likewise.
39427         * tests/test-c-strstr.c (main): Likewise.
39428         * tests/test-mbscasestr1.c (main): Likewise.
39429         * tests/test-mbscasestr2.c (main): Likewise.
39430         * tests/test-mbsstr1.c (main): Likewise.
39431         * tests/test-mbsstr2.c (main): Likewise.
39432         * tests/test-memmem.c (main): Likewise.
39433         * tests/test-strcasestr.c (main): Likewise.
39434         * tests/test-striconv.c (main): Likewise.
39435         * tests/test-striconveh.c (main): Likewise.
39436         * tests/test-striconveha.c (main): Likewise.
39437         * tests/test-strstr.c (main): Likewise.
39438
39439         * build-aux/git-version-gen: Adjust a comment and the Usage string.
39440
39441         bootstrap: sync from coreutils again
39442         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
39443
39444 2008-03-01  Jim Meyering  <meyering@redhat.com>
39445
39446         bootstrap: sync from coreutils
39447         * build-aux/bootstrap (update_po_files): Copy a .po file into place
39448         also when the target doesn't exist.
39449
39450 2008-03-01  Eric Blake  <ebb9@byu.net>
39451
39452         Fix bugs in last patch.
39453         * lib/memchr2.c (memchr2): Fix typo.
39454         * tests/test-memchr2.c: Test previous bug, and don't use GNU
39455         extension.
39456         Reported by Bruce Korb.
39457
39458         New module 'memchr2'.
39459         * modules/memchr2: New file.
39460         * modules/memchr2-tests: Likewise.
39461         * lib/memchr2.h: Likewise.
39462         * lib/memchr2.c: Likewise, based on memchr.c.
39463         * tests/test-memchr2.c: New test.
39464         * MODULES.html.sh (String handling): Add memchr2.
39465
39466 2008-02-29  Bruno Haible  <bruno@clisp.org>
39467
39468         * modules/freadseek-tests: New file.
39469         * tests/test-freadseek.sh: New file.
39470         * tests/test-freadseek.c: New file.
39471
39472         New module 'freadseek'.
39473         * modules/freadseek: New file.
39474         * lib/freadseek.h: New file.
39475         * lib/freadseek.c: New file.
39476         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
39477
39478 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
39479
39480         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
39481         wydawca.
39482
39483         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
39484         program_invocation_name and program_invocation_short_name are
39485         present.
39486
39487 2008-02-28  Bruno Haible  <bruno@clisp.org>
39488
39489         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
39490         * tests/test-freadptr.sh: Also test non-seekable stdin.
39491
39492 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
39493
39494         * build-aux/bootstrap (source_base, m4_base)
39495         (doc_base, tests_base): New variables.
39496         (gnulib_tool_options): Do not hardcode base directories, use
39497         the above variables instead.
39498
39499 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
39500
39501         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
39502
39503 2008-02-28  Bruno Haible  <bruno@clisp.org>
39504
39505         * modules/freadptr-tests: New file.
39506         * tests/test-freadptr.sh: New file.
39507         * tests/test-freadptr.c: New file.
39508
39509         New module 'freadptr'.
39510         * modules/freadptr: New file.
39511         * lib/freadptr.h: New file.
39512         * lib/freadptr.c: New file.
39513         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
39514
39515 2008-02-26  Karl Berry  <karl@freefriends.org>
39516
39517         Sync from Libtool:
39518         * libltdl/argz.c (argz_add, argz_count): New functions.
39519         * libltdl/argz.in.h: Declare them.
39520         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
39521
39522 2008-02-22  Bruno Haible  <bruno@clisp.org>
39523
39524         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
39525         is a pointer type.  Needed for HP-UX 10.
39526         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
39527         * doc/posix-functions/gmtime_r.texi: Likewise.
39528         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
39529
39530 2008-02-24  Bruno Haible  <bruno@clisp.org>
39531
39532         * modules/environ-tests: New file.
39533         * tests/test-environ.c: New file.
39534
39535         New module 'environ'.
39536         * modules/environ: New file.
39537         * lib/unistd.in.h (environ): New declaration.
39538         * m4/environ.m4: New file.
39539         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
39540         after use.
39541         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
39542         HAVE_DECL_ENVIRON.
39543         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
39544         HAVE_DECL_ENVIRON.
39545         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
39546         wrong claim that 'environ' is missing on some systems.
39547         * modules/execute (Depends-on): Add environ.
39548         * lib/execute.c (environ): Remove fallback declaration.
39549         * modules/pipe (Depends-on): Add environ.
39550         * lib/pipe.c (environ): Remove fallback declaration.
39551         * modules/setenv (Depends-on): Add environ.
39552         * lib/setenv.c (environ): Remove fallback declaration.
39553         * modules/unsetenv (Depends-on): Add environ.
39554         * lib/unsetenv.c (environ): Remove fallback declaration.
39555         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
39556         m4/environ.m4.
39557         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
39558         (gl_PREREQ_UNSETENV): Likewise.
39559
39560 2008-02-24  Bruno Haible  <bruno@clisp.org>
39561
39562         * doc/posix-functions/environ.texi: Document the MacOS X problem.
39563
39564 2008-02-20  Bob Proulx  <bob@proulx.com>
39565
39566         Enable use of older two part flavor 'git describe'.
39567         * build-aux/git-version-gen: If using the older two part flavor of
39568         git version then recreate the third part now present in the
39569         newer three part flavor of git describe.
39570
39571 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
39572
39573         * lib/fts.c (fts_build): Typo correction to comment.
39574
39575 2008-02-17  Bruno Haible  <bruno@clisp.org>
39576
39577         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
39578         generating no-op conflicts.
39579
39580 2008-02-17  Bruno Haible  <bruno@clisp.org>
39581
39582         Speed up by 10%.
39583         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
39584         result_entries, rather than an index-based loop.
39585
39586 2008-02-17  Bruno Haible  <bruno@clisp.org>
39587
39588         Speed up by 25%.
39589         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
39590         'hashcode_cached'.
39591         (entry_create): New function.
39592         (entry_hashcode): Use the cached hashcode if possible.
39593         (read_changelog_file, try_split_merged_entry): Use entry_create.
39594
39595 2008-02-17  Bruno Haible  <bruno@clisp.org>
39596
39597         Speed up from O(n^2) to O(n) for long ChangeLog files.
39598         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
39599         (read_changelog_file): Change implementation of entries_reversed list
39600         to rbtreehash.
39601         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
39602
39603 2008-02-17  Bruno Haible  <bruno@clisp.org>
39604
39605         New option --split-merged-entry.
39606         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
39607         (find_paragraph_end, try_split_merged_entry): New functions.
39608         (long_options): Add option --split-merged-entry.
39609         (usage): Document option --split-merged-entry.
39610         (main): Implement option --split-merged-entry.
39611         Reported by Eric Blake.
39612
39613 2008-02-17  Bruno Haible  <bruno@clisp.org>
39614
39615         * lib/git-merge-changelog.c: Include c-strstr.h.
39616         (main): Support the "git pull --rebase" situation.
39617         * modules/git-merge-changelog (Depends-on): Add c-strstr.
39618         Reported by Eric Blake.
39619
39620 2008-02-16  Eric Blake  <ebb9@byu.net>
39621
39622         Avoid doubling \ in common case of "c-maybe" quoting style.
39623         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
39624         eliding outer quotes.
39625         * lib/quotearg.h: Document this.
39626         * tests/test-quotearg.c (result_strings, inputs, results_g)
39627         (flag_results, locale_results): Test it by adding a new string to
39628         each test group.
39629         (compare_strings): Test new string.
39630
39631 2008-02-13  Eric Blake  <ebb9@byu.net>
39632
39633         Avoid trigraph quoting in default output.
39634         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
39635         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
39636         unless explicitly requested.
39637         * tests/test-quotearg.c (flag_results, main): Add additional tests.
39638
39639 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
39640
39641         Don't rely on signed integer overflowing to negative value.
39642         * lib/getugroups.c (getugroups): Include <limits.h>.
39643         Instead, compare against INT_MAX, and increment only if the test passes.
39644
39645 2008-02-13  Jim Meyering  <meyering@redhat.com>
39646         and Eric Blake  <ebb9@byu.net>
39647
39648         Avoid shadowing warning and compile errors on Linux.
39649         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
39650         forwarding macros on Linux.
39651         (dcgettext): Define a stub, for Linux.
39652         (results_g, main): Avoid warnings.
39653
39654 2008-02-12  Eric Blake  <ebb9@byu.net>
39655
39656         Silence warning in last patch.
39657         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
39658
39659         Quotearg part 4: add tests, fix c-maybe colon quoting.
39660         * lib/quotearg.h: Improve documentation.
39661         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
39662         escapes when adding outer quotes.  When quoting trigraphs, use
39663         valid C notation.  When quoting NUL, omit extra characters if next
39664         character is not digit.  Alter prototype.
39665         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
39666         callers.
39667         * modules/quotearg-tests: New module.
39668         * tests/test-quotearg.c: New test.
39669
39670 2008-02-07  Eric Blake  <ebb9@byu.net>
39671
39672         Quotearg part 3: add flag to control outer quote elision.
39673         * lib/quotearg.h (c_maybe_quoting_style): New style.
39674         (enum quoting_flags): Better documentation of flags.
39675         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
39676         c-maybe style.
39677         (quotearg_buffer_restyled): Handle new flag to elide outer
39678         quotes.
39679
39680         Quotearg part 2: add flag that can control NUL elision.
39681         * lib/quotearg.h (set_quoting_flags): New prototype.
39682         * lib/quotearg.c (struct quoting_options): Add flag field.
39683         (set_quoting_flags): New function.
39684         (quotearg_buffer_restyled): Add flags parameter.
39685         (quotearg_alloc_mem): Set the flag if length cannot be returned.
39686         (quotearg_n_options): Set the flag, since length cannot be
39687         returned.
39688         (quoting_options_from_style): Default flags correctly.
39689
39690         Quotearg part 1: more wrappers, restore quotearg_char state.
39691         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
39692         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
39693         (quotearg_colon_mem): New wrappers.
39694         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
39695         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
39696         functions.
39697         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
39698         (quotearg_colon_mem): New functions.
39699
39700 2008-02-11  Bruno Haible  <bruno@clisp.org>
39701
39702         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
39703         library in the current directory: it does not work with parallel make.
39704         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39705
39706 2008-02-11  Bruno Haible  <bruno@clisp.org>
39707
39708         * .gitattributes: New file.
39709
39710 2008-02-11  Jim Meyering  <meyering@redhat.com>
39711
39712         useless-if-before-free: Fix reversed exit values.
39713         * build-aux/useless-if-before-free: Use correct values
39714         for EXIT_MATCH and EXIT_NO_MATCH.
39715
39716         * build-aux/useless-if-before-free: Close stdout carefully.
39717
39718 2008-02-10  Bruno Haible  <bruno@clisp.org>
39719
39720         New module 'git-merge-changelog'.
39721         * modules/git-merge-changelog: New file.
39722         * lib/git-merge-changelog.c: New file.
39723
39724 2008-02-10  Jim Meyering  <meyering@redhat.com>
39725
39726         useless-if-before-free: New option: --list (-l).
39727
39728         useless-if-before-free: Don't exit immediately upon open failure.
39729         * build-aux/useless-if-before-free: Exit 2 for errors.
39730         Upon failure to open a file, don't exit immediately.
39731         Rather, just warn and continue with any remaining files.
39732
39733 2008-02-10  Bruno Haible  <bruno@clisp.org>
39734
39735         New abstract list operation 'node_set_value'.
39736         * lib/gl_list.h (gl_list_node_set_value): New function.
39737         (struct gl_list_implementation): New field node_set_value.
39738         * lib/gl_list.c (gl_list_node_set_value): New function.
39739         * lib/gl_array_list.c (gl_array_node_set_value): New function.
39740         (gl_array_list_implementation): Update.
39741         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
39742         (gl_carray_list_implementation): Update.
39743         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
39744         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
39745         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
39746         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
39747         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
39748         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
39749         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
39750         Update.
39751         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
39752         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
39753         (gl_sublist_list_implementation): Update.
39754
39755 2008-02-10  Bruno Haible  <bruno@clisp.org>
39756
39757         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
39758         Needed when ELEMENT is #defined to 'some_type *'.
39759
39760 2008-02-10  Jim Meyering  <meyering@redhat.com>
39761
39762         New script and module: useless-if-before-free
39763         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
39764         * build-aux/useless-if-before-free: New file.
39765         * modules/useless-if-before-free: New file.
39766
39767         * build-aux/gitlog-to-changelog: Use committer date, not author date.
39768
39769         xstrtol_error: Fix typo.
39770         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
39771         s/exit_failure/exit_status/.
39772
39773 2008-02-09  Jim Meyering  <meyering@redhat.com>
39774
39775         New script and module: gitlog-to-changelog
39776         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
39777         * modules/gitlog-to-changelog: New file.
39778         * build-aux/gitlog-to-changelog: New file.
39779
39780 2008-02-08  Jim Meyering  <meyering@redhat.com>
39781
39782         Avoid two "parameter unused" warnings.
39783         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
39784         Mark "st" as used.
39785
39786         Use "git COMMAND", not "git-COMMAND".
39787         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
39788         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
39789         * build-aux/git-version-gen: Use "git status", not "git-status".
39790
39791 2008-02-07  Bruno Haible  <bruno@clisp.org>
39792
39793         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
39794         Avoids a crash on Windows Vista.
39795         Reported by Adam Strzelecki <ono@java.pl> via
39796         Simon Josefsson <simon@josefsson.org>.
39797
39798 2008-02-06  Bruno Haible  <bruno@clisp.org>
39799
39800         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
39801         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
39802         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
39803         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
39804         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
39805         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
39806         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
39807         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
39808         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
39809         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39810         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39811         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39812         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
39813         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39814         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39815         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
39816         left-adjust flag.
39817         * tests/test-snprintf-posix.h (test_function): Likewise.
39818         * tests/test-sprintf-posix.h (test_function): Likewise.
39819         * tests/test-vasprintf-posix.c (test_function): Likewise.
39820         * doc/posix-functions/fprintf.texi: Update.
39821         * doc/posix-functions/printf.texi: Update.
39822         * doc/posix-functions/snprintf.texi: Update.
39823         * doc/posix-functions/sprintf.texi: Update.
39824         * doc/posix-functions/vfprintf.texi: Update.
39825         * doc/posix-functions/vprintf.texi: Update.
39826         * doc/posix-functions/vsnprintf.texi: Update.
39827         * doc/posix-functions/vsprintf.texi: Update.
39828         Reported by Peter Fales <psfales@alcatel-lucent.com>.
39829
39830 2008-02-06  Bruno Haible  <bruno@clisp.org>
39831
39832         Fix bug introduced on 2008-01-26.
39833         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
39834
39835 2008-02-06  Bruno Haible  <bruno@clisp.org>
39836
39837         Fix bug introduced on 2007-06-10.
39838         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
39839         !NEED_PRINTF_FLAG_ZERO.
39840
39841 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
39842
39843         getloadavg: use libperfstat on AIX5
39844         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
39845
39846 2008-02-03  Bruno Haible  <bruno@clisp.org>
39847
39848         * lib/diffseq.h: Add comments about required #includes.
39849         Reported by Michael Biggs <gnulib@doubleplum.net>.
39850
39851 2008-02-01  Bruno Haible  <bruno@clisp.org>
39852
39853         * users.txt: Add gnuit.
39854
39855 2008-01-31  Bruno Haible  <bruno@clisp.org>
39856
39857         * lib/md4.c (set_uint32): Mark as inline.
39858         * lib/md5.c (set_uint32): Likewise.
39859         * lib/sha1.c (set_uint32): Likewise.
39860         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
39861         * m4/md5.m4 (gl_MD5): Likewise.
39862         * m4/sha1.m4 (gl_SHA1): Likewise.
39863
39864 2008-01-31  Jim Meyering  <meyering@redhat.com>
39865
39866         Use "sizeof VAR", rather than a literal "4".
39867         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
39868         * lib/md4.c (md4_read_ctx): Likewise.
39869         * lib/sha1.c (sha1_read_ctx): Likewise.
39870
39871 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39872
39873         * tests/test-sha1.c: New file, based on test-md5.c.
39874
39875         * modules/crypto/sha1-tests: New file.
39876
39877 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39878
39879         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
39880
39881 2008-01-31  Jim Meyering  <meyering@redhat.com>
39882
39883         Prefer "sizeof v" over the equivalent "4".
39884         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
39885         * lib/md5.c (set_uint32): Likewise.
39886         * lib/sha1.c (set_uint32): Likewise.
39887
39888 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39889
39890         * lib/sha1.c (set_uint32): Mark function as static.
39891
39892 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39893
39894         md2: clarify comments to say that alignment is not required.
39895         * lib/md2.h: Remove warning about alignment in comment.
39896         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
39897         never been required.
39898
39899 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39900
39901         md4: adapt alignment constraint fix from sha1.
39902         * lib/md4.c (set_uint32): New function, from sha1.c
39903         (md4_read_ctx): Use it.
39904         (md4_finish_ctx): Doc fix.
39905         * lib/md4.h: Doc fix.
39906
39907 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39908
39909         md5: adapt alignment constraint fix from sha1.
39910         * lib/md5.c (set_uint32): New function, from sha1.c
39911         (md5_read_ctx): Use it.
39912         (md5_finish_ctx): Doc fix.
39913         * lib/md5.h: Doc fix.
39914
39915 2008-01-30  Peter Palfrader  <weasel@debian.org>
39916
39917         sha1: remove the result buffer alignment constraint
39918         * lib/sha1.c (set_uint32): New function.
39919         (sha1_read_ctx): Rewrite to remove the result buffer alignment
39920         constraint.
39921         (sha1_finish_ctx): Remove comment warning about alignment constraint.
39922         * lib/sha1.h: Likewise.
39923
39924 2008-01-30  Andreas Schwab  <schwab@suse.de>
39925             Bruno Haible  <bruno@clisp.org>
39926
39927         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
39928         correct definition of LDBL_MIN_EXP.
39929
39930 2008-01-30  Karl Berry  <karl@gnu.org>
39931
39932         * config/srclist-update: try to preserve x bit on updates.
39933         * config/srclistvars.sh: update for karl.
39934
39935 2008-01-29  Jim Meyering  <meyering@redhat.com>
39936
39937         vasnprintf.c: Avoid warning about unused label
39938         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
39939         "overflow" label definition and associated code with the
39940         same cpp condition that guards the sole use of that label.
39941
39942 2008-01-26  Bruno Haible  <bruno@clisp.org>
39943
39944         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
39945         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
39946         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
39947         * lib/isnanl-nolibm.h (isnanl): Likewise.
39948         Reported by Paul Eggert <eggert@cs.ucla.edu>.
39949
39950 2008-01-26  Bruno Haible  <bruno@clisp.org>
39951
39952         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
39953         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
39954
39955 2008-01-26  Bruno Haible  <bruno@clisp.org>
39956
39957         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
39958         GCC >= 4.0 built-in.
39959         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
39960
39961 2008-01-26  Bruno Haible  <bruno@clisp.org>
39962
39963         Rename isnan, applicable to 'double' only, to isnand.
39964         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
39965         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
39966         (configure.ac): Update.
39967         (Include): Replace "isnan.h" with "isnand.h".
39968         * m4/isnand.m4: Renamed from m4/isnan.m4.
39969         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
39970         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
39971         instead of isnan.c.
39972         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
39973         instead of HAVE_ISNAN_IN_LIBC.
39974         (isnand): Renamed from isnan.
39975         * lib/isnand.c: New file.
39976         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
39977         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
39978         (Makefile.am): Update.
39979         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
39980         Include isnand.h instead of isnan.h.
39981         (main): Test isnand instead of isnan.
39982         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
39983         isnan-nolibm.
39984         * modules/frexp (Depends-on): Likewise.
39985         * modules/frexp-tests (Depends-on): Likewise.
39986         * modules/frexp-nolibm (Depends-on): Likewise.
39987         * modules/frexp-nolibm-tests (Depends-on): Likewise.
39988         * modules/isfinite (Depends-on): Likewise.
39989         * modules/round-tests (Depends-on): Likewise.
39990         * modules/signbit (Depends-on): Likewise.
39991         * modules/signbit-tests (Depends-on): Likewise.
39992         * modules/snprintf-posix (Depends-on): Likewise.
39993         * modules/sprintf-posix (Depends-on): Likewise.
39994         * modules/trunc-tests (Depends-on): Likewise.
39995         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
39996         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
39997         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
39998         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
39999         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40000         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40001         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40002         * modules/vasnprintf-posix (Depends-on): Likewise.
40003         * modules/vasprintf-posix (Depends-on): Likewise.
40004         * modules/vfprintf-posix (Depends-on): Likewise.
40005         * modules/vsnprintf-posix (Depends-on): Likewise.
40006         * modules/vsprintf-posix (Depends-on): Likewise.
40007         * lib/frexp.c: Include isnand.h instead of isnan.h.
40008         (ISNAN): Set to isnand instead of isnan.
40009         * lib/isfinite.c: Include isnand.h instead of isnan.h.
40010         (gl_isfinited): Use isnand instead of isnan.
40011         * lib/signbitd.c: Include isnand.h instead of isnan.h.
40012         (gl_signbitd): Use isnand instead of isnan.
40013         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
40014         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
40015         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
40016         (main): Use isnand instead of isnan.
40017         * tests/test-round1.c: Include isnand.h.
40018         (main): Use isnand instead of isnan.
40019         * tests/test-round2.c: Include isnand.h instead of isnan.h.
40020         (ISNAN): Set to isnand instead of isnan.
40021         * tests/test-trunc1.c: Include isnand.h.
40022         (main): Use isnand instead of isnan.
40023         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
40024         (equal): Use isnand instead of isnan.
40025         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
40026         isnand-nolibm.
40027         * NEWS: Mention the change.
40028
40029 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
40030             Bruno Haible  <bruno@clisp.org>
40031
40032         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
40033         the GCC builtins for signbits are present and set
40034         REPLACE_SIGNBIT_USING_GCC if so.
40035         * lib/math.in.h (signbit): Define using GCC builtins if
40036         REPLACE_SIGNBIT_USING_GCC is set.
40037         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
40038         REPLACE_SIGNBIT_USING_GCC.
40039         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
40040
40041 2008-01-25  Jim Meyering  <meyering@redhat.com>
40042
40043         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
40044         * lib/poll.c: Include <config.h>, not "config.h".
40045         * tests/test-getaddrinfo.c: Likewise.
40046
40047 2008-01-25  Simon Josefsson  <simon@josefsson.org>
40048
40049         * modules/sockets-tests: New file.
40050
40051 2008-01-24  Simon Josefsson  <simon@josefsson.org>
40052
40053         * modules/sockets: New module, can be used to call WSA_Startup and
40054         WSA_Cleanup when needed.
40055
40056         * lib/sockets.h, lib/sockets.c: New files.
40057
40058         * m4/sockets.m4: New file.
40059
40060         * tests/test-sockets.c: New file.
40061
40062 2008-01-19  Bruno Haible  <bruno@clisp.org>
40063
40064         * doc/posix-headers: Renamed from doc/headers.
40065         * doc/posix-functions: Renamed from doc/functions.
40066         * doc/gnulib.texi: Update.
40067
40068 2008-01-19  Bruno Haible  <bruno@clisp.org>
40069
40070         * doc/glibc-functions/strcasestr.texi: Include contents of
40071         doc/functions/strcasestr.texi, fixing the list of platforms.
40072         * doc/functions/strcasestr.texi: Remove file.
40073
40074 2008-01-19  Bruno Haible  <bruno@clisp.org>
40075
40076         * doc/glibc-functions/memmem.texi: Include contents of
40077         doc/functions/memmem.texi.
40078         * doc/functions/memmem.texi: Remove file.
40079
40080 2008-01-18  Bruno Haible  <bruno@clisp.org>
40081
40082         * doc/glibc-functions/*.texi: New files.
40083         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
40084         to use the new files.
40085
40086 2008-01-17  Bruno Haible  <bruno@clisp.org>
40087
40088         * tests/test-gethostname.c (main): Fix printf statement.
40089
40090 2008-01-17  Simon Josefsson  <simon@josefsson.org>
40091
40092         * modules/gethostname-tests: New file.
40093
40094         * tests/test-gethostname.c: New file.
40095
40096 2008-01-17  Simon Josefsson  <simon@josefsson.org>
40097
40098         * lib/gethostname.c: Include string.h unconditionally, strncpy is
40099         used by the UNAME case.  Reported by Bruno Haible
40100         <bruno@clisp.org>.
40101
40102 2008-01-17  Eric Blake  <ebb9@byu.net>
40103
40104         Convert c-strcasestr to be more efficient.
40105         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
40106         (Depends-on): Add c-strcase, remove malloca, strnlen.
40107         * tests/test-c-strcasestr.c (main): Enhance test.
40108         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
40109
40110 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
40111
40112         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
40113         Use it in creating po/Makevars.
40114
40115 2008-01-15  Simon Josefsson  <simon@josefsson.org>
40116
40117         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
40118         Applications that requires it should initialize libgcrypt
40119         manually.
40120
40121 2008-01-16  Simon Josefsson  <simon@josefsson.org>
40122
40123         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
40124
40125 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
40126
40127         Fix problem with getdate on mingw32 reported by Simon Josefsson
40128         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
40129         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
40130         tzname", when deciding whether to declare tzname.
40131         * lib/strftime.c (tzname): Likewise.
40132
40133 2008-01-15  Bruno Haible  <bruno@clisp.org>
40134
40135         Work around a MacOS X 10.5 bug in frexpl().
40136         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
40137         * doc/functions/frexpl.texi: Document the bug.
40138         Reported by Elias Pipping <pipping@gentoo.org>.
40139
40140 2008-01-14  Eric Blake  <ebb9@byu.net>
40141
40142         Touch up previous patch.
40143         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
40144         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
40145
40146         Convert strcasestr module to use Two-Way algorithm.
40147         * modules/strcasestr-simple: New module, based on the old
40148         strcasestr, but with Two-Way rather than KMP.
40149         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
40150         * lib/string.in.h (rpl_strcasestr): Declare.
40151         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
40152         performance.
40153         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
40154         * modules/string (Makefile.am): Support strcasestr.
40155         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
40156         * modules/strcasestr-tests (Depends-on): Check for alarm.
40157         * tests/test-strcasestr.c: Augment test.
40158         * lib/str-two-way.h: Clean up stray macro.
40159         * NEWS: Document new module.
40160         * MODULES.html.sh (string handling): Likewise.
40161         * doc/functions/strcasestr.texi: New file.
40162         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
40163         here, since it is not a POSIX function.
40164
40165 2008-01-14  Colin Watson  <cjwatson@debian.org>
40166             Bruno Haible  <bruno@clisp.org>
40167
40168         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
40169         works fine; if not, set REPLACE_STRSIGNAL.
40170         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
40171         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40172         REPLACE_STRSIGNAL.
40173         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
40174         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
40175         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
40176
40177 2008-01-14  Bruno Haible  <bruno@clisp.org>
40178
40179         * modules/strsignal (Include): Change to <string.h>.
40180
40181 2008-01-14  Colin Watson  <cjwatson@debian.org>
40182
40183         * modules/argp (Notice): Add a notice recommending to change
40184         XGETTEXT_OPTIONS.
40185         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
40186
40187 2008-01-13  Colin Watson  <cjwatson@debian.org>
40188
40189         * modules/strsignal-tests: New file.
40190         * tests/test-strsignal.c: New file.
40191
40192         * lib/strsignal.c: New file, from glibc with modifications.
40193         * lib/siglist.h: New file, from glibc with modifications.
40194         * lib/string.in.h (strsignal): New declaration.
40195         * m4/strsignal.m4: New file.
40196         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40197         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
40198         * modules/strsignal: New file.
40199         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
40200         HAVE_DECL_STRSIGNAL.
40201
40202 2008-01-13  Bruno Haible  <bruno@clisp.org>
40203
40204         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
40205         locale encoding is not ASCII. Needed for OpenBSD 4.0.
40206         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
40207         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
40208
40209 2008-01-13  Bruno Haible  <bruno@clisp.org>
40210
40211         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
40212         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
40213         * lib/argp.h (__attribute__): Likewise.
40214         * lib/c-stack.c (__attribute__): Likewise.
40215         * lib/error.h (__attribute__): Likewise.
40216         * lib/fts.c (__attribute__): Likewise.
40217         * lib/openat.h (__attribute__): Likewise.
40218         * lib/stdio.in.h (__attribute__): Likewise.
40219         * lib/string.in.h (__attribute__): Likewise.
40220         * lib/utimens.c (__attribute__): Likewise.
40221         * lib/vasnprintf.h (__attribute__): Likewise.
40222         * lib/xalloc.h (__attribute__): Likewise.
40223         * lib/xprintf.h (__attribute__): Likewise.
40224         * lib/xstrtol.h (__attribute__): Likewise.
40225         * lib/xvasprintf.h (__attribute__): Likewise.
40226
40227 2008-01-12  Bruno Haible  <bruno@clisp.org>
40228
40229         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
40230         * doc/glibc-headers/a.out.texi: New file.
40231         * doc/glibc-headers/aliases.texi: New file.
40232         * doc/glibc-headers/alloca.texi: New file.
40233         * doc/glibc-headers/ar.texi: New file.
40234         * doc/glibc-headers/argp.texi: New file.
40235         * doc/glibc-headers/argz.texi: New file.
40236         * doc/glibc-headers/byteswap.texi: New file.
40237         * doc/glibc-headers/crypt.texi: New file.
40238         * doc/glibc-headers/endian.texi: New file.
40239         * doc/glibc-headers/envz.texi: New file.
40240         * doc/glibc-headers/err.texi: New file.
40241         * doc/glibc-headers/error.texi: New file.
40242         * doc/glibc-headers/execinfo.texi: New file.
40243         * doc/glibc-headers/fpu_control.texi: New file.
40244         * doc/glibc-headers/fstab.texi: New file.
40245         * doc/glibc-headers/fts.texi: New file.
40246         * doc/glibc-headers/getopt.texi: New file.
40247         * doc/glibc-headers/ieee754.texi: New file.
40248         * doc/glibc-headers/ifaddrs.texi: New file.
40249         * doc/glibc-headers/libintl.texi: New file.
40250         * doc/glibc-headers/mcheck.texi: New file.
40251         * doc/glibc-headers/mntent.texi: New file.
40252         * doc/glibc-headers/obstack.texi: New file.
40253         * doc/glibc-headers/paths.texi: New file.
40254         * doc/glibc-headers/printf.texi: New file.
40255         * doc/glibc-headers/pty.texi: New file.
40256         * doc/glibc-headers/resolv.texi: New file.
40257         * doc/glibc-headers/shadow.texi: New file.
40258         * doc/glibc-headers/sysexits.texi: New file.
40259         * doc/glibc-headers/ttyent.texi: New file.
40260
40261 2008-01-12  Jim Meyering  <meyering@redhat.com>
40262
40263         announce-gen: emit Gnulib's git-based version string.
40264         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
40265         New option --gnulib-version=V, where V is expected to be
40266         the output of running git describe in the gnulib directory.
40267         (get_tool_versions): Request feedback on xdelta.  I suspect it's
40268         not useful, and plan to stop publishing an xdelta file with each
40269         coreutils release.
40270
40271         * build-aux/announce-gen: Also check for lzma-compressed files.
40272
40273 2008-01-11  Bruno Haible  <bruno@clisp.org>
40274
40275         * tests/test-memmem.c (main): Increase maximum allowed time.
40276         * tests/test-strstr.c (main): Likewise.
40277
40278 2008-01-11  Bruno Haible  <bruno@clisp.org>
40279
40280         * doc/functions/memmem.texi: Add more precisions about platforms.
40281         * doc/functions/strstr.texi: Likewise.
40282
40283 2008-01-10  Eric Blake  <ebb9@byu.net>
40284
40285         * m4/strstr.m4: Delete cruft from copy-n-paste.
40286         Reported by Bruno Haible.
40287
40288 2008-01-10  Bruno Haible  <bruno@clisp.org>
40289
40290         Make c-strstr rely on strstr.
40291         * lib/c-strstr.c: Don't include str-kmp.h.
40292         (c_strstr): Define in terms of strstr.
40293         * modules/c-strstr (Files): Remove lib/str-kmp.h.
40294         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
40295
40296 2008-01-10  Bruno Haible  <bruno@clisp.org>
40297
40298         * doc/gnulib.texi (String Functions in C Locale): New section.
40299         * doc/c-ctype.texi: New file.
40300         * doc/c-strcase.texi: New file.
40301         * doc/c-strcaseeq.texi: New file.
40302         * doc/c-strcasestr.texi: New file.
40303         * doc/c-strstr.texi: New file.
40304         * doc/c-strtod.texi: New file.
40305         * doc/c-strtold.texi: New file.
40306
40307 2008-01-10  Eric Blake  <ebb9@byu.net>
40308
40309         * lib/relocatable.h: Fix a comment.
40310
40311 2008-01-10  Eric Blake  <ebb9@byu.net>
40312
40313         Share two-way algorithm.
40314         * lib/str-two-way.h: New file, merged from...
40315         * lib/memmem.c: ...here...
40316         * lib/strstr.c: ...and here.
40317         * modules/memmem (Files): Use it.
40318         * modules/strstr (Files): Likewise.
40319
40320         Avoid quadratic strstr implementations.
40321         * lib/strstr.c: New file.
40322         * m4/strstr.m4: Likewise.
40323         * modules/strstr: Likewise.
40324         * modules/strstr-tests: Likewise.
40325         * tests/test-strstr.c: Likewise.
40326         * lib/string.in.h (rpl_strstr): Declare.
40327         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
40328         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
40329         * modules/string (Makefile.am): Likewise.
40330         * MODULES.html.sh (string handling): Mention new module.
40331         * doc/functions/strstr.texi (strstr): Document the bug.
40332
40333 2008-01-10  Bruno Haible  <bruno@clisp.org>
40334
40335         * lib/relocatable.h (relocate): State whether result is freshly
40336         allocated or not.
40337         * lib/relocatable.c (relocate): Return a freshly allocated string
40338         instead of a pointer to a privately held string.
40339         Reported by Sylvain Beucler <beuc@gnu.org>.
40340
40341 2008-01-10  Colin Watson  <cjwatson@debian.org>
40342
40343         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
40344         s/S_ISNLK/S_ISLNK/.
40345
40346 2008-01-09  Bruno Haible  <bruno@clisp.org>
40347
40348         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
40349         and other files.
40350         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
40351         if it's only a guess.
40352         * modules/memmem: Simplify by depending on memmem-simple.
40353
40354 2008-01-09  Bruno Haible  <bruno@clisp.org>
40355
40356         Work around OpenBSD 4.0 tdelete() bug.
40357         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
40358         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
40359         macros and don't redefine the enum values.
40360         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
40361         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
40362         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
40363
40364 2008-01-09  Bruno Haible  <bruno@clisp.org>
40365
40366         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
40367         (main): Don't perform the tests if setlocale did not install a UTF-8
40368         locale. Needed on OpenBSD 4.0.
40369         * modules/wcwidth-tests (Depends-on): Add localcharset.
40370
40371 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40372
40373         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
40374         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
40375         * NEWS: announce this.
40376         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
40377
40378 2008-01-09  Simon Josefsson  <simon@josefsson.org>
40379         and Eric Blake  <ebb9@byu.net>
40380
40381         Add memmem-simple module.
40382         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
40383         (gl_FUNC_MEMMEM): Separate performance from presence checks.
40384         * modules/memmem-simple: New file.
40385         * modules/memmem (Description): Tweak.
40386         * MODULES.html.sh (string handling): Mention new module.
40387         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
40388         addressed by memmem-simple.
40389         * NEWS: Document the difference.
40390
40391 2008-01-09  Eric Blake  <ebb9@byu.net>
40392
40393         Give gcc some memmem optimization hints.
40394         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
40395         (strcasestr): Declare as pure.
40396         * modules/memmem (Maintainer): Claim my implementation.
40397
40398 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40399
40400         Support AIX 6.1 and higher.
40401         * build-aux/config.libpath: Likewise.
40402         * build-aux/config.rpath: Likewise.
40403
40404 2008-01-08  Jim Meyering  <meyering@redhat.com>
40405             Bruno Haible  <bruno@clisp.org>
40406
40407         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
40408         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
40409         Reported by Peter Fales in
40410         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
40411
40412 2008-01-08  Bruno Haible  <bruno@clisp.org>
40413
40414         * modules/unictype/category-of (Depends-on): Add
40415         unictype/category-none.
40416         * modules/unictype/category-and-tests (Depends-on): Add
40417         unictype/category-{L,N,Lu,Nd}.
40418         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
40419         * modules/unictype/category-or-tests (Depends-on): Add
40420         unictype/category-{L,N}.
40421         * modules/unictype/category-name-tests (Depends-on): Add
40422         unictype/category-{Z,Nl}.
40423         Reported by Simon Josefsson.
40424
40425 2008-01-08  Bruno Haible  <bruno@clisp.org>
40426
40427         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
40428         convention better.
40429         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
40430         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
40431         Reported by Peter Miller <millerp@canb.auug.org.au>.
40432
40433 2008-01-08  Eric Blake  <ebb9@byu.net>
40434
40435         Rewrite memmem to guarantee linear complexity without malloc.
40436         * lib/memmem.c (memmem): Use Two-Way rather than
40437         Knuth-Morris-Pratt, to allow O(1) space usage.
40438         (critical_factorization, two_way_short_needle)
40439         (two_way_long_needle): New functions.
40440         (knuth_morris_pratt): Delete.
40441         * modules/memmem (Depends-on): No longer need malloca or stdbool.
40442         Add stdint.
40443         * tests/test-memmem.c (main): Add tests for periodic needle and
40444         sublinear performance.
40445         * doc/functions/memmem.texi (memmem): Document other deficiencies
40446         in cygwin and older glibc.
40447
40448 2008-01-08  Bruno Haible  <bruno@clisp.org>
40449
40450         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
40451         augmentation.
40452
40453 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
40454
40455         Add a configure time option: --disable-acl.
40456         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
40457         AC_ARG_ENABLE(acl).
40458
40459 2008-01-06  Simon Josefsson  <simon@josefsson.org>
40460
40461         * tests/test-localename.c: Don't include obsolete "setenv.h".
40462
40463         * modules/localename-tests (Depends-on): Need unsetenv.
40464
40465 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40466
40467         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
40468
40469 2008-01-06  Colin Watson  <cjwatson@debian.org>
40470
40471         * users.txt: Add man-db.
40472
40473 2008-01-07  Bruno Haible  <bruno@clisp.org>
40474
40475         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
40476         previous section name.
40477
40478 2008-01-07  Bruno Haible  <bruno@clisp.org>
40479
40480         * lib/progname.c (set_program_name): Don't strip off a leading
40481         "lt-" prefix outside a .libs directory.
40482         Suggested by Paul Eggert.
40483
40484 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
40485             Bruno Haible  <bruno@clisp.org>
40486
40487         Improve memory cleanup in 'relocatable' module.
40488         * lib/relocatable.h (compute_curr_prefix): Change return type to
40489         'char *'.
40490         * lib/relocatable.c (compute_curr_prefix): Change return type to
40491         'char *'. Free curr_installdir after use.
40492         (relocate): Free curr_prefix_better after use.
40493         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
40494
40495 2008-01-01  Bruno Haible  <bruno@clisp.org>
40496
40497         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
40498         failure on older glibc systems.
40499         Reported by Peter Fales <psfales@alcatel-lucent.com>.
40500
40501 2008-01-05  Eric Blake  <ebb9@byu.net>
40502
40503         Avoid quadratic system memmem.
40504         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
40505         Reported by Ralf Wildenhues.
40506
40507         Fix memmem test for mingw.
40508         * modules/memmem-tests (configure.ac): Check for alarm.
40509         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
40510         it.
40511         * doc/functions/memmem.texi: New file.
40512         * doc/gnulib.texi (Function Substitutes): Add memmem.
40513         Reported by Bruno Haible.
40514
40515 2008-01-04  Bruno Haible  <bruno@clisp.org>
40516
40517         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
40518         Require gl_HEADER_STRINGS_H_DEFAULTS, not
40519         gl_HEADER_STRING_H_DEFAULTS.
40520
40521 2008-01-04  Eric Blake  <ebb9@byu.net>
40522
40523         Shorten duration of memmem test.
40524         * tests/test-memmem.c (main): Use alarm to declare failure if test
40525         is taking too long.
40526         Reported by Ralf Wildenhues.
40527
40528 2007-12-21  Simon Josefsson  <simon@josefsson.org>
40529
40530         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
40531         string, needed by strerror.
40532
40533 2008-01-03  Colin Watson  <cjwatson@debian.org>
40534             Bruno Haible  <bruno@clisp.org>
40535
40536         * doc/gnulib-tool.texi (Localization): New section.
40537
40538 2008-01-02  Bruno Haible  <bruno@clisp.org>
40539
40540         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
40541         variables to 'unsigned char *' type.
40542         Reported by Paul Eggert.
40543
40544 2008-01-02  Jim Meyering  <jim@meyering.net>
40545
40546         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
40547
40548 2007-12-31  Jim Meyering  <jim@meyering.net>
40549
40550         Avoid use of private FTS type name.
40551         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
40552
40553 2007-12-30  Karl Berry  <karl@gnu.org>
40554
40555         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
40556         work around defect in Texinfo and/or the standalone Info browser.
40557
40558 2007-12-30  Bruno Haible  <bruno@clisp.org>
40559
40560         Unify 5 copies of the KMP code.
40561         * lib/str-kmp.h: New file.
40562         * lib/c-strcasestr.c: Include str-kmp.h.
40563         (knuth_morris_pratt): Remove function.
40564         (c_strcasestr): Update.
40565         * lib/c-strstr.c: Include str-kmp.h.
40566         (knuth_morris_pratt): Remove function.
40567         (c_strcasestr): Update.
40568         * lib/mbscasestr.c: Include str-kmp.h.
40569         (knuth_morris_pratt_unibyte): Remove function.
40570         * lib/mbsstr.c: Include str-kmp.h.
40571         (knuth_morris_pratt_unibyte): Remove function.
40572         * lib/strcasestr.c: Include str-kmp.h.
40573         (knuth_morris_pratt): Remove function.
40574         (strcasestr): Update.
40575         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
40576         * modules/c-strstr (Files): Likewise.
40577         * modules/mbscasestr (Files): Likewise.
40578         * modules/mbsstr (Files): Likewise.
40579         * modules/strcasestr (Files): Likewise.
40580         Suggested by Paul Eggert.
40581
40582 2007-12-30  Bruno Haible  <bruno@clisp.org>
40583
40584         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
40585         defined.
40586
40587 2007-12-30  Bruno Haible  <bruno@clisp.org>
40588
40589         * lib/xmalloca.h: Include xalloc.h.
40590         (xnmalloca): New macro.
40591
40592 2007-12-30  Bruno Haible  <bruno@clisp.org>
40593
40594         * lib/malloca.h (nmalloca): New macro.
40595         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
40596         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
40597         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
40598         knuth_morris_pratt_multibyte): Likewise.
40599         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
40600         knuth_morris_pratt_multibyte): Likewise.
40601         * lib/memmem.c (knuth_morris_pratt): Likewise.
40602         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
40603
40604 2007-12-25  Bruno Haible  <bruno@clisp.org>
40605
40606         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
40607         * lib/glob.c: Don't include openat.h.
40608         (link_exists2_p): Add back the code that deals with the
40609         !GLOB_ALTDIRFUNC case.
40610         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
40611         let it do the filename concatenation.
40612         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
40613         * modules/glob (Depends-on): Remove openat.
40614
40615 2007-12-31  Bruno Haible  <bruno@clisp.org>
40616
40617         * modules/dirfd (License): Change to LGPLv2+.
40618         Approved by Jim Meyering.
40619
40620 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
40621
40622         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
40623         when multiplying M by sizeof (size_t).
40624
40625 2007-12-10  Martin Lambers  <marlam@marlam.de>
40626
40627         Override getpagesize on mingw.
40628         * lib/getpagesize.c: New file.
40629         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
40630         * modules/getpagesize (Files): Add lib/getpagesize.c.
40631         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
40632         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40633         REPLACE_GETPAGESIZE.
40634         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
40635
40636 2007-12-25  Bruno Haible  <bruno@clisp.org>
40637
40638         * modules/localcharset (Notice): New field.
40639         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
40640         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
40641
40642 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
40643             Bruno Haible  <bruno@clisp.org>
40644
40645         Avoid using the syntax symbol() in formatted documentation.
40646         * MODULES.html.sh (func_module): When replacing symbol() with a
40647         hyperlink, remove the parentheses. Show an error if some remain.
40648         Recognize and render the '...' syntax.
40649         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
40650         Rework. Add paragraph about GCC's inlining.
40651         * doc/alloca.texi: Likewise.
40652         * doc/error.texi: Remove parentheses from symbol reference.
40653         * doc/gnulib-intro.texi: Likewise.
40654         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
40655         * modules/fnmatch (Description): Reword to say "the ... function".
40656         * modules/full-read (Description): Likewise.
40657         * modules/full-write (Description): Likewise.
40658         * modules/safe-read (Description): Likewise.
40659         * modules/safe-write (Description): Likewise.
40660         * modules/strchrnul (Description): Likewise.
40661         * modules/trim (Description): Likewise.
40662         * modules/error (Description): Remove parentheses from symbol
40663         references.
40664         * modules/verror (Description): Likewise.
40665         Reported by Karl Berry.
40666
40667 2007-12-25  Bruno Haible  <bruno@clisp.org>
40668
40669         Fixup after 2007-10-16 commit.
40670         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
40671
40672 2007-12-24  Bruno Haible  <bruno@clisp.org>
40673
40674         Make --enable-relocatable work with DESTDIR.
40675         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
40676         to compute installdir from destprog.
40677         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
40678         also set the RELOC_DESTDIR variable.
40679         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
40680
40681 2007-12-24  Bruno Haible  <bruno@clisp.org>
40682
40683         Fix link error due to xalloc_die().
40684         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
40685         of xreadlink.
40686         * lib/relocwrapper.c: Update comments.
40687         * build-aux/install-reloc: Remove xreadlink.c from file list.
40688         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
40689         xreadlink.c.
40690         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
40691
40692 2007-12-24  Bruno Haible  <bruno@clisp.org>
40693
40694         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
40695         * lib/setenv.h: Remove file.
40696         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
40697         lib/setenv.h.
40698         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
40699         (Depends-on): Add stdlib.
40700         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
40701         gl_FUNC_UNSETENV.
40702         (Include): Replace setenv.h with <stdlib.h>.
40703         * modules/unsetenv: New file.
40704         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
40705         * lib/unsetenv.c: Include <stdlib.h> first.
40706         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
40707         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
40708         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
40709         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
40710         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
40711         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
40712         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
40713         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
40714         * doc/functions/unsetenv.texi: Update.
40715         * modules/xsetenv (Depends-on): Add unsetenv.
40716         * modules/getdate (Depends-on): Likewise.
40717         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
40718         * lib/xsetenv.c: Don't include setenv.h.
40719         * lib/getdate.y: Likewise.
40720         * lib/relocwrapper.c: Likewise.
40721         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
40722         (Depends-on): Add stdlib.
40723         * NEWS: Mention the changes.
40724         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
40725
40726 2007-12-23  Bruno Haible  <bruno@clisp.org>
40727
40728         * lib/memmem.c (memmem): Use lowercase variable names. Tab
40729         indentation.
40730
40731 2007-12-23  Bruno Haible  <bruno@clisp.org>
40732
40733         * lib/c-strcasestr.c: Add more comments.
40734         * lib/c-strstr.c: Likewise.
40735         * lib/mbscasestr.c: Likewise.
40736         * lib/mbsstr.c: Likewise.
40737         * lib/strcasestr.c: Likewise.
40738         * lib/memmem.c: Likewise.
40739
40740 2007-12-23  Bruno Haible  <bruno@clisp.org>
40741
40742         * tests/test-memmem.c: Include <string.h> first.
40743
40744 2007-12-22  Bruno Haible  <bruno@clisp.org>
40745
40746         * gnulib-tool (func_create_testdir): Change $auxdir while generating
40747         the contents of $testsbase.
40748         Reported by Ralf Wildenhues.
40749
40750 2007-12-22  Bruno Haible  <bruno@clisp.org>
40751
40752         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
40753         two variables local_ldadd_before, local_ldadd_last.
40754
40755 2007-12-20  Eric Blake  <ebb9@byu.net>
40756
40757         Work around circular library issue when cross-compiling.
40758         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
40759         that progname.o does not need to pull in rpl_memcmp.
40760
40761 2007-12-19  Eric Blake  <ebb9@byu.net>
40762
40763         Fix memmem to avoid O(n^2) worst-case complexity.
40764         * lib/memmem.c (knuth_morris_pratt): New function.
40765         (memmem): Use it if first few naive iterations fail.
40766         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
40767         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
40768         * modules/memchr (License): Likewise.
40769         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
40770         malloca.
40771         * tests/test-memmem.c: Rewrite, borrowing ideas from
40772         test-mbsstr1.c; the old version wouldn't even compile!
40773         * modules/memmem-tests: New file.
40774         * lib/string.in.h (rpl_memmem): Add declaration.
40775         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
40776         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
40777         REPLACE_MEMMEM.
40778
40779 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
40780
40781         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
40782         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
40783         before any system include files, and undef after them all.  This
40784         should fix a problem on VMS reported by John E. Malmberg in
40785         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
40786
40787 2007-12-17  Eric Blake  <ebb9@byu.net>
40788
40789         Revert addition of verify, for BSD/OS.
40790         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
40791         can't handle large files, for the sake of obsolete platforms.
40792         * modules/fseeko (Depends-on): Remove verify.
40793         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
40794         * doc/functions/ftello.texi (ftello): Likewise.
40795         * doc/functions/fgetpos.texi (fgetpos): Likewise.
40796         Reported by Larry Jones.
40797
40798 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
40799
40800         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
40801         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
40802
40803 2007-12-17  Jim Meyering  <meyering@redhat.com>
40804
40805         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
40806         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
40807         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
40808         * modules/getcwd (Depends-on): Add openat.
40809         Reported by Petr Salinger.
40810
40811 2007-12-17  Bruno Haible  <bruno@clisp.org>
40812
40813         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
40814         avoid a segmentation fault of the configure test on x86_64 systems.
40815
40816 2007-12-15  Jim Meyering  <meyering@redhat.com>
40817
40818         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
40819
40820 2007-12-13  Eric Blake  <ebb9@byu.net>
40821
40822         Another fseek test.
40823         * tests/test-fseek.c (main): Also test ungetc handling.
40824         * tests/test-fseeko.c (main): Likewise.
40825         * modules/fseeko (Depends-on): Add verify.
40826         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
40827         large.
40828         Reported by Larry Jones.
40829
40830         Fix fseeko on mingw.
40831         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
40832         seek.
40833
40834         Beef up fseek tests.
40835         * tests/test-fseek.c (main): Also test eof handling.
40836         * tests/test-fseeko.c (main): Likewise.
40837         Reported by Larry Jones.
40838
40839 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
40840
40841         Fix fseeko on BSD-based platforms.
40842         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
40843         successful seek.
40844
40845 2007-12-12  Eric Blake  <ebb9@byu.net>
40846
40847         Allow circular dependency of separate libtests.a
40848         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
40849         when use_libtests.
40850
40851 2007-12-11  Eric Blake  <ebb9@byu.net>
40852
40853         Fix bug with -0.0L in previous patch.
40854         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
40855         * tests/test-isnan.c (main): Also test on zeroes.
40856         * tests/test-isnanf.c (main): Likewise.
40857         * tests/test-isnanl.h (main): Likewise.
40858
40859         Detect pseudo-denormals on x86 even when cross-compiling.
40860         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
40861         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
40862         invalid bit patterns that happen to satisfy ==.
40863
40864         Avoid link failures with separate libtests.a.
40865         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
40866         last, to satisfy circular dependencies.
40867
40868 2007-12-11  Eric Blake  <ebb9@byu.net>
40869         and Bruno Haible  <bruno@clisp.org>
40870
40871         Fix OpenBSD 4.0 <float.h> handling of long double.
40872         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
40873         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
40874         * doc/headers/float.texi (float.h): Document OpenBSD bug.
40875
40876 2007-12-11  Jim Meyering  <meyering@redhat.com>
40877
40878         * users.txt: Add libvirt.
40879
40880         Support versions of autoconf prior to 2.59c.
40881         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
40882         if it is not already defined.
40883
40884 2007-12-09  Bruno Haible  <bruno@clisp.org>
40885
40886         Let 'gnulib-tool --import' collect sources needed for the tests in
40887         tests/ rather than in lib/.
40888         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
40889         argument. If true, add rules to generate libtests.a, and put libtests.a
40890         into $(LDADD). Consider source files in subdirectories and set
40891         uses_subdirs.
40892         (func_emit_initmacro_start, func_emit_initmacro_end,
40893         func_emit_initmacro_done): Pass all arguments explicitly.
40894         (func_import): Determine two module lists main_modules,
40895         testsrelated_modules. Determine use_libtests. Determine two variables
40896         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
40897         instead of just sed_transform_lib_file. Determine two variables
40898         main_files and testsrelated_files. Compute 'files' as the union of
40899         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
40900         func_add_or_update. In the generated gnulib-comp.m4, collect the
40901         object files for tests/ in different variables than those for lib/.
40902         Substitute LIBTESTS_LIBDEPS.
40903         (func_create_testdir): Combine the uses_subdirs results from
40904         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
40905
40906 2007-12-09  Bruno Haible  <bruno@clisp.org>
40907
40908         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
40909         the build-aux directory.
40910
40911 2007-12-09  Bruno Haible  <bruno@clisp.org>
40912
40913         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
40914         introduced on 2006-09-09.
40915
40916 2007-12-07  Jim Meyering  <meyering@redhat.com>
40917
40918         Let these macros work also with autoconf-2.59.
40919         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
40920         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
40921         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
40922
40923 2007-12-06  Jim Meyering  <meyering@redhat.com>
40924
40925         Avoid a configure-time syntax error in gl_FUNC_ACL.
40926         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
40927         function in each branch, before testing the cache variable.
40928
40929 2007-12-04  Eric Blake  <ebb9@byu.net>
40930
40931         Make scripts executable.
40932         * build-aux/config.guess: Add execute permissions.
40933         * build-aux/config.sub: Likewise.
40934         * build-aux/gendocs.sh: Likewise.
40935
40936         Fix frexp on mingw.
40937         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
40938         cross-compiling.
40939         * doc/functions/frexp.texi (frexp): Document the bug.
40940
40941         Make cygwin fseeko check more reliable.
40942         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
40943         version numbers, rather than unrelated feature check.
40944         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
40945         * doc/functions/ftello.texi (ftello): Likewise.
40946         Reported by Bruno Haible.
40947
40948         * m4/strerror.m4: Bump version number.
40949
40950 2007-12-03  Bruno Haible  <bruno@clisp.org>
40951
40952         * doc/functions/mprotect.texi: Mention the mingw problem.
40953
40954 2007-12-03  Eric Blake  <ebb9@byu.net>
40955
40956         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
40957         REPLACE_STRERROR is initialized before this macro.
40958
40959 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
40960
40961         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
40962         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
40963         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
40964         put -lsec in even for programs other than 'ls'.  This fixes a problem
40965         for gettext reported by Bruno Haible in
40966         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
40967         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
40968         Add support for Solaris 10.  This isn't efficient, but should get the
40969         job done for now.
40970
40971 2007-12-03  James Youngman  <jay@gnu.org>
40972
40973         * doc/regexprops-generic.texi: change "an close-group" to "a
40974         close-group" and "illegal" to "not allowed".
40975
40976 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40977
40978         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
40979         pr_byname.h. Needed for the rare case when the maintainer has done
40980         "make maintainer-clean" in the source directory and then attempts a
40981         build outside the source directory.
40982         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
40983         scripts_byname.h.
40984
40985 2007-12-02  Martin Lambers <marlam@marlam.de>
40986             Bruno Haible  <bruno@clisp.org>
40987
40988         * lib/getpagesize.h: Remove file.
40989         * lib/unistd.in.h: Include declaration of getpagesize here.
40990         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
40991         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
40992         HAVE_SYS_PARAM_H.
40993         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
40994         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
40995         * modules/getpagesize (Files): Remove lib/getpagesize.h.
40996         (Depends-on): Add unistd.
40997         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40998         (Include): Use <unistd.h> instead of getpagesize.h.
40999         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
41000         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
41001         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
41002         gl_GETPAGESIZE invocation, already handled by module dependency.
41003         * lib/pagealign_alloc.c: Don't include getpagesize.h.
41004
41005 2007-12-02  Bruno Haible  <bruno@clisp.org>
41006
41007         * modules/strings-tests: New file.
41008         * tests/test-strings.c: New file.
41009
41010         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
41011         * lib/strings.in.h: New file.
41012         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
41013         * m4/strings_h.m4: New file.
41014         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
41015         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
41016         * modules/strings: New file.
41017         * modules/string (Makefile.am): Update.
41018         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
41019         Reported by Karl Berry.
41020
41021 2007-12-01  Eric Blake  <ebb9@byu.net>
41022
41023         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
41024         accomodate fix in cygwin 1.5.25.
41025
41026 2007-12-01  Jim Meyering  <meyering@redhat.com>
41027
41028         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
41029         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
41030         that would inhibit utf8-optimization of a regexp containing line-
41031         or buffer-anchors, e.g., `^', `$'.
41032
41033 2007-11-30  Bruno Haible  <bruno@clisp.org>
41034
41035         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
41036         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
41037         glthread_recursive_lock_init.
41038         * lib/lock.c (glthread_recursive_lock_init)
41039         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
41040         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41041
41042 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
41043
41044         New function qset_acl, like set_acl but with syscall semantics.
41045         * lib/acl.h (qset_acl): New decl.
41046         * lib/acl.c (qset_acl): New function.
41047         (set_acl): Use new function.  Use more-consistent diagnostics.
41048
41049 2007-11-28  Jim Meyering  <meyering@redhat.com>
41050
41051         * modules/physmem (License): Change from GPL to LGPLv2+.
41052
41053 2007-11-26  Bruno Haible  <bruno@clisp.org>
41054
41055         * lib/vasnprintf.c (decode_long_double): Don't abort if the
41056         'long double' type has excess precision.
41057         Reported by Jim Meyering in
41058         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
41059
41060 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41061
41062         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
41063         Sync from <http://gnu.org/licenses>.
41064         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
41065         with license text from same location.
41066         * doc/maintain.texi, doc/standards.texi:  Sync from
41067         <http://savannah.gnu.org/projects/gnustandards>.
41068
41069 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
41070         and Jim Meyering  <meyering@redhat.com>
41071
41072         Adjust getdate' grammar to accept a slightly more regular language.
41073         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
41074         Before, the former was rejected.
41075         * lib/getdate.y (digits_to_date_time): New function, factored
41076         out of ...
41077         (number): ...here.  Just call digits_to_date_time.
41078         (hybrid): New non-terminal to handle an <unsigned number,
41079         signed relative offset> sequence consistently.
41080
41081 2007-11-18  Jim Meyering  <meyering@redhat.com>
41082
41083         Pull my changes from coreutils:
41084         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
41085         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
41086         use of $gnulib_tool_option_extras, so that it's separated from the
41087         preceding argument.
41088
41089         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
41090         * build-aux/bootstrap (cp_mark_as_generated): Create any required
41091         parent destination directories before copying a file into place.
41092
41093 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
41094
41095         bootstrap: work also with 4-argument variant of AC_INIT
41096         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
41097
41098 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
41099
41100         Port test-getaddrinfo to Solaris.
41101         Problem reported by Bruno Haible in
41102         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
41103         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
41104         explanation of setting 'hints'.
41105         Don't reject an implementation merely because it returns EAI_SERVICE.
41106         (EAI_SERVICE): Define to 0 if not defined.
41107
41108 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
41109
41110         The license of gnu-make and posix-shell is now "GPLed build tool".
41111         * modules/gnu-make (License): Likewise.
41112         * modules/posix-shell (License): Likewise.
41113
41114         New module posix-shell, for determining a POSIX shell
41115         or perhaps something that is close enough to a POSIX shell.
41116         * m4/posix-shell.m4: New file.
41117         * modules/posix-shell: New file.
41118
41119         * MODULES.html.sh: Mention new module.
41120
41121         New module gnu-make, for determining whether we're using GNU Make.
41122         * m4/gnu-make.m4: New file.
41123         * modules/gnu-make: New file.
41124         * MODULES.html.sh: Mention new module.
41125
41126 2007-11-14  Jim Meyering  <meyering@redhat.com>
41127
41128         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
41129         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
41130         use this macro to create a function _definition_.
41131         Remove useless "#undef ARGMATCH_DIE".
41132
41133 2007-11-14  Bruno Haible  <bruno@clisp.org>
41134
41135         * lib/config.charset: Update for OpenBSD 4.1.
41136         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
41137
41138 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
41139
41140         Document 64-bit #if problems in stdint.texi.
41141         * doc/headers/stdint.texi (stdint.h): Mention problems with
41142         64-bit-#if, and how to work around them.
41143
41144         Don't insist on 'long long int' support in the preprocessor.  It
41145         breaks too many things.  For example, PRIdMAX still uses a 'long
41146         long int' format with the latest Sun compiler, even though
41147         HAVE_LONG_LONG_INT isn't defined due to that compiler's
41148         preprocessor problem.  This causes the latest coreutils to dump
41149         core on Solaris 10 sparc with the Sun C compiler.
41150         Instead, fix the 2007-10-16 problem in a different way, by evaluating
41151         the troublesome expressions at configure-time, not at #if-time.
41152         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
41153         preprocessor.
41154         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
41155         compile-time C checks, done at 'configure'-time.
41156         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
41157         * modules/inttypes (Makefile): Substitute the new symbols that
41158         gl_INTTYPES_H now generates.
41159         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
41160
41161 2007-11-12  Bruno Haible  <bruno@clisp.org>
41162
41163         Tests for Unicode character classification functions.
41164
41165         * modules/unictype/bidicategory-byname-tests: New file.
41166         * modules/unictype/bidicategory-name-tests: New file.
41167         * modules/unictype/bidicategory-of-tests: New file.
41168         * modules/unictype/bidicategory-test-tests: New file.
41169         * modules/unictype/block-list-tests: New file.
41170         * modules/unictype/block-of-tests: New file.
41171         * modules/unictype/block-test-tests: New file.
41172         * modules/unictype/category-C-tests: New file.
41173         * modules/unictype/category-Cc-tests: New file.
41174         * modules/unictype/category-Cf-tests: New file.
41175         * modules/unictype/category-Cn-tests: New file.
41176         * modules/unictype/category-Co-tests: New file.
41177         * modules/unictype/category-Cs-tests: New file.
41178         * modules/unictype/category-L-tests: New file.
41179         * modules/unictype/category-Ll-tests: New file.
41180         * modules/unictype/category-Lm-tests: New file.
41181         * modules/unictype/category-Lo-tests: New file.
41182         * modules/unictype/category-Lt-tests: New file.
41183         * modules/unictype/category-Lu-tests: New file.
41184         * modules/unictype/category-M-tests: New file.
41185         * modules/unictype/category-Mc-tests: New file.
41186         * modules/unictype/category-Me-tests: New file.
41187         * modules/unictype/category-Mn-tests: New file.
41188         * modules/unictype/category-N-tests: New file.
41189         * modules/unictype/category-Nd-tests: New file.
41190         * modules/unictype/category-Nl-tests: New file.
41191         * modules/unictype/category-No-tests: New file.
41192         * modules/unictype/category-P-tests: New file.
41193         * modules/unictype/category-Pc-tests: New file.
41194         * modules/unictype/category-Pd-tests: New file.
41195         * modules/unictype/category-Pe-tests: New file.
41196         * modules/unictype/category-Pf-tests: New file.
41197         * modules/unictype/category-Pi-tests: New file.
41198         * modules/unictype/category-Po-tests: New file.
41199         * modules/unictype/category-Ps-tests: New file.
41200         * modules/unictype/category-S-tests: New file.
41201         * modules/unictype/category-Sc-tests: New file.
41202         * modules/unictype/category-Sk-tests: New file.
41203         * modules/unictype/category-Sm-tests: New file.
41204         * modules/unictype/category-So-tests: New file.
41205         * modules/unictype/category-Z-tests: New file.
41206         * modules/unictype/category-Zl-tests: New file.
41207         * modules/unictype/category-Zp-tests: New file.
41208         * modules/unictype/category-Zs-tests: New file.
41209         * modules/unictype/category-and-not-tests: New file.
41210         * modules/unictype/category-and-tests: New file.
41211         * modules/unictype/category-byname-tests: New file.
41212         * modules/unictype/category-name-tests: New file.
41213         * modules/unictype/category-none-tests: New file.
41214         * modules/unictype/category-of-tests: New file.
41215         * modules/unictype/category-or-tests: New file.
41216         * modules/unictype/category-test-withtable-tests: New file.
41217         * modules/unictype/combining-class-tests: New file.
41218         * modules/unictype/ctype-alnum-tests: New file.
41219         * modules/unictype/ctype-alpha-tests: New file.
41220         * modules/unictype/ctype-blank-tests: New file.
41221         * modules/unictype/ctype-cntrl-tests: New file.
41222         * modules/unictype/ctype-digit-tests: New file.
41223         * modules/unictype/ctype-graph-tests: New file.
41224         * modules/unictype/ctype-lower-tests: New file.
41225         * modules/unictype/ctype-print-tests: New file.
41226         * modules/unictype/ctype-punct-tests: New file.
41227         * modules/unictype/ctype-space-tests: New file.
41228         * modules/unictype/ctype-upper-tests: New file.
41229         * modules/unictype/ctype-xdigit-tests: New file.
41230         * modules/unictype/decimal-digit-tests: New file.
41231         * modules/unictype/digit-tests: New file.
41232         * modules/unictype/mirror-tests: New file.
41233         * modules/unictype/numeric-tests: New file.
41234         * modules/unictype/property-alphabetic-tests: New file.
41235         * modules/unictype/property-ascii-hex-digit-tests: New file.
41236         * modules/unictype/property-bidi-arabic-digit-tests: New file.
41237         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
41238         * modules/unictype/property-bidi-block-separator-tests: New file.
41239         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
41240         * modules/unictype/property-bidi-common-separator-tests: New file.
41241         * modules/unictype/property-bidi-control-tests: New file.
41242         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
41243         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
41244         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
41245         * modules/unictype/property-bidi-european-digit-tests: New file.
41246         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
41247         * modules/unictype/property-bidi-left-to-right-tests: New file.
41248         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
41249         * modules/unictype/property-bidi-other-neutral-tests: New file.
41250         * modules/unictype/property-bidi-pdf-tests: New file.
41251         * modules/unictype/property-bidi-segment-separator-tests: New file.
41252         * modules/unictype/property-bidi-whitespace-tests: New file.
41253         * modules/unictype/property-byname-tests: New file.
41254         * modules/unictype/property-combining-tests: New file.
41255         * modules/unictype/property-composite-tests: New file.
41256         * modules/unictype/property-currency-symbol-tests: New file.
41257         * modules/unictype/property-dash-tests: New file.
41258         * modules/unictype/property-decimal-digit-tests: New file.
41259         * modules/unictype/property-default-ignorable-code-point-tests: New file.
41260         * modules/unictype/property-deprecated-tests: New file.
41261         * modules/unictype/property-diacritic-tests: New file.
41262         * modules/unictype/property-extender-tests: New file.
41263         * modules/unictype/property-format-control-tests: New file.
41264         * modules/unictype/property-grapheme-base-tests: New file.
41265         * modules/unictype/property-grapheme-extend-tests: New file.
41266         * modules/unictype/property-grapheme-link-tests: New file.
41267         * modules/unictype/property-hex-digit-tests: New file.
41268         * modules/unictype/property-hyphen-tests: New file.
41269         * modules/unictype/property-id-continue-tests: New file.
41270         * modules/unictype/property-id-start-tests: New file.
41271         * modules/unictype/property-ideographic-tests: New file.
41272         * modules/unictype/property-ids-binary-operator-tests: New file.
41273         * modules/unictype/property-ids-trinary-operator-tests: New file.
41274         * modules/unictype/property-ignorable-control-tests: New file.
41275         * modules/unictype/property-iso-control-tests: New file.
41276         * modules/unictype/property-join-control-tests: New file.
41277         * modules/unictype/property-left-of-pair-tests: New file.
41278         * modules/unictype/property-line-separator-tests: New file.
41279         * modules/unictype/property-logical-order-exception-tests: New file.
41280         * modules/unictype/property-lowercase-tests: New file.
41281         * modules/unictype/property-math-tests: New file.
41282         * modules/unictype/property-non-break-tests: New file.
41283         * modules/unictype/property-not-a-character-tests: New file.
41284         * modules/unictype/property-numeric-tests: New file.
41285         * modules/unictype/property-other-alphabetic-tests: New file.
41286         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
41287         * modules/unictype/property-other-grapheme-extend-tests: New file.
41288         * modules/unictype/property-other-id-continue-tests: New file.
41289         * modules/unictype/property-other-id-start-tests: New file.
41290         * modules/unictype/property-other-lowercase-tests: New file.
41291         * modules/unictype/property-other-math-tests: New file.
41292         * modules/unictype/property-other-uppercase-tests: New file.
41293         * modules/unictype/property-paired-punctuation-tests: New file.
41294         * modules/unictype/property-paragraph-separator-tests: New file.
41295         * modules/unictype/property-pattern-syntax-tests: New file.
41296         * modules/unictype/property-pattern-white-space-tests: New file.
41297         * modules/unictype/property-private-use-tests: New file.
41298         * modules/unictype/property-punctuation-tests: New file.
41299         * modules/unictype/property-quotation-mark-tests: New file.
41300         * modules/unictype/property-radical-tests: New file.
41301         * modules/unictype/property-sentence-terminal-tests: New file.
41302         * modules/unictype/property-soft-dotted-tests: New file.
41303         * modules/unictype/property-space-tests: New file.
41304         * modules/unictype/property-terminal-punctuation-tests: New file.
41305         * modules/unictype/property-test-tests: New file.
41306         * modules/unictype/property-titlecase-tests: New file.
41307         * modules/unictype/property-unassigned-code-value-tests: New file.
41308         * modules/unictype/property-unified-ideograph-tests: New file.
41309         * modules/unictype/property-uppercase-tests: New file.
41310         * modules/unictype/property-variation-selector-tests: New file.
41311         * modules/unictype/property-white-space-tests: New file.
41312         * modules/unictype/property-xid-continue-tests: New file.
41313         * modules/unictype/property-xid-start-tests: New file.
41314         * modules/unictype/property-zero-width-tests: New file.
41315         * modules/unictype/scripts-tests: New file.
41316         * modules/unictype/syntax-c-ident-tests: New file.
41317         * modules/unictype/syntax-c-whitespace-tests: New file.
41318         * modules/unictype/syntax-java-ident-tests: New file.
41319         * modules/unictype/syntax-java-whitespace-tests: New file.
41320         * tests/unictype/test-bidi_byname.c: New file.
41321         * tests/unictype/test-bidi_name.c: New file.
41322         * tests/unictype/test-bidi_of.c: New file.
41323         * tests/unictype/test-bidi_test.c: New file.
41324         * tests/unictype/test-block_list.c: New file.
41325         * tests/unictype/test-block_of.c: New file.
41326         * tests/unictype/test-block_test.c: New file.
41327         * tests/unictype/test-categ_and.c: New file.
41328         * tests/unictype/test-categ_and_not.c: New file.
41329         * tests/unictype/test-categ_byname.c: New file.
41330         * tests/unictype/test-categ_name.c: New file.
41331         * tests/unictype/test-categ_none.c: New file.
41332         * tests/unictype/test-categ_of.c: New file.
41333         * tests/unictype/test-categ_or.c: New file.
41334         * tests/unictype/test-categ_test_withtable.c: New file.
41335         * tests/unictype/test-combining.c: New file.
41336         * tests/unictype/test-decdigit.c: New file.
41337         * tests/unictype/test-digit.c: New file.
41338         * tests/unictype/test-mirror.c: New file.
41339         * tests/unictype/test-numeric.c: New file.
41340         * tests/unictype/test-pr_byname.c: New file.
41341         * tests/unictype/test-pr_test.c: New file.
41342         * tests/unictype/test-predicate-part1.h: New file.
41343         * tests/unictype/test-predicate-part2.h: New file.
41344         * tests/unictype/test-scripts.c: New file.
41345         * tests/unictype/test-sy_c_ident.c: New file.
41346         * tests/unictype/test-sy_java_ident.c: New file.
41347
41348         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
41349         for Unicode 5.0.0.
41350         * tests/unictype/test-categ_Cc.c: Likewise.
41351         * tests/unictype/test-categ_Cf.c: Likewise.
41352         * tests/unictype/test-categ_Cn.c: Likewise.
41353         * tests/unictype/test-categ_Co.c: Likewise.
41354         * tests/unictype/test-categ_Cs.c: Likewise.
41355         * tests/unictype/test-categ_L.c: Likewise.
41356         * tests/unictype/test-categ_Ll.c: Likewise.
41357         * tests/unictype/test-categ_Lm.c: Likewise.
41358         * tests/unictype/test-categ_Lo.c: Likewise.
41359         * tests/unictype/test-categ_Lt.c: Likewise.
41360         * tests/unictype/test-categ_Lu.c: Likewise.
41361         * tests/unictype/test-categ_M.c: Likewise.
41362         * tests/unictype/test-categ_Mc.c: Likewise.
41363         * tests/unictype/test-categ_Me.c: Likewise.
41364         * tests/unictype/test-categ_Mn.c: Likewise.
41365         * tests/unictype/test-categ_N.c: Likewise.
41366         * tests/unictype/test-categ_Nd.c: Likewise.
41367         * tests/unictype/test-categ_Nl.c: Likewise.
41368         * tests/unictype/test-categ_No.c: Likewise.
41369         * tests/unictype/test-categ_P.c: Likewise.
41370         * tests/unictype/test-categ_Pc.c: Likewise.
41371         * tests/unictype/test-categ_Pd.c: Likewise.
41372         * tests/unictype/test-categ_Pe.c: Likewise.
41373         * tests/unictype/test-categ_Pf.c: Likewise.
41374         * tests/unictype/test-categ_Pi.c: Likewise.
41375         * tests/unictype/test-categ_Po.c: Likewise.
41376         * tests/unictype/test-categ_Ps.c: Likewise.
41377         * tests/unictype/test-categ_S.c: Likewise.
41378         * tests/unictype/test-categ_Sc.c: Likewise.
41379         * tests/unictype/test-categ_Sk.c: Likewise.
41380         * tests/unictype/test-categ_Sm.c: Likewise.
41381         * tests/unictype/test-categ_So.c: Likewise.
41382         * tests/unictype/test-categ_Z.c: Likewise.
41383         * tests/unictype/test-categ_Zl.c: Likewise.
41384         * tests/unictype/test-categ_Zp.c: Likewise.
41385         * tests/unictype/test-categ_Zs.c: Likewise.
41386         * tests/unictype/test-ctype_alnum.c: Likewise.
41387         * tests/unictype/test-ctype_alpha.c: Likewise.
41388         * tests/unictype/test-ctype_blank.c: Likewise.
41389         * tests/unictype/test-ctype_cntrl.c: Likewise.
41390         * tests/unictype/test-ctype_digit.c: Likewise.
41391         * tests/unictype/test-ctype_graph.c: Likewise.
41392         * tests/unictype/test-ctype_lower.c: Likewise.
41393         * tests/unictype/test-ctype_print.c: Likewise.
41394         * tests/unictype/test-ctype_punct.c: Likewise.
41395         * tests/unictype/test-ctype_space.c: Likewise.
41396         * tests/unictype/test-ctype_upper.c: Likewise.
41397         * tests/unictype/test-ctype_xdigit.c: Likewise.
41398         * tests/unictype/test-decdigit.h: Likewise.
41399         * tests/unictype/test-digit.h: Likewise.
41400         * tests/unictype/test-numeric.h: Likewise.
41401         * tests/unictype/test-pr_alphabetic.c: Likewise.
41402         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
41403         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
41404         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
41405         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
41406         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
41407         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
41408         * tests/unictype/test-pr_bidi_control.c: Likewise.
41409         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
41410         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
41411         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
41412         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
41413         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
41414         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
41415         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
41416         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
41417         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
41418         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
41419         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
41420         * tests/unictype/test-pr_combining.c: Likewise.
41421         * tests/unictype/test-pr_composite.c: Likewise.
41422         * tests/unictype/test-pr_currency_symbol.c: Likewise.
41423         * tests/unictype/test-pr_dash.c: Likewise.
41424         * tests/unictype/test-pr_decimal_digit.c: Likewise.
41425         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
41426         * tests/unictype/test-pr_deprecated.c: Likewise.
41427         * tests/unictype/test-pr_diacritic.c: Likewise.
41428         * tests/unictype/test-pr_extender.c: Likewise.
41429         * tests/unictype/test-pr_format_control.c: Likewise.
41430         * tests/unictype/test-pr_grapheme_base.c: Likewise.
41431         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
41432         * tests/unictype/test-pr_grapheme_link.c: Likewise.
41433         * tests/unictype/test-pr_hex_digit.c: Likewise.
41434         * tests/unictype/test-pr_hyphen.c: Likewise.
41435         * tests/unictype/test-pr_id_continue.c: Likewise.
41436         * tests/unictype/test-pr_id_start.c: Likewise.
41437         * tests/unictype/test-pr_ideographic.c: Likewise.
41438         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
41439         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
41440         * tests/unictype/test-pr_ignorable_control.c: Likewise.
41441         * tests/unictype/test-pr_iso_control.c: Likewise.
41442         * tests/unictype/test-pr_join_control.c: Likewise.
41443         * tests/unictype/test-pr_left_of_pair.c: Likewise.
41444         * tests/unictype/test-pr_line_separator.c: Likewise.
41445         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
41446         * tests/unictype/test-pr_lowercase.c: Likewise.
41447         * tests/unictype/test-pr_math.c: Likewise.
41448         * tests/unictype/test-pr_non_break.c: Likewise.
41449         * tests/unictype/test-pr_not_a_character.c: Likewise.
41450         * tests/unictype/test-pr_numeric.c: Likewise.
41451         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
41452         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
41453         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
41454         * tests/unictype/test-pr_other_id_continue.c: Likewise.
41455         * tests/unictype/test-pr_other_id_start.c: Likewise.
41456         * tests/unictype/test-pr_other_lowercase.c: Likewise.
41457         * tests/unictype/test-pr_other_math.c: Likewise.
41458         * tests/unictype/test-pr_other_uppercase.c: Likewise.
41459         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
41460         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
41461         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
41462         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
41463         * tests/unictype/test-pr_private_use.c: Likewise.
41464         * tests/unictype/test-pr_punctuation.c: Likewise.
41465         * tests/unictype/test-pr_quotation_mark.c: Likewise.
41466         * tests/unictype/test-pr_radical.c: Likewise.
41467         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
41468         * tests/unictype/test-pr_soft_dotted.c: Likewise.
41469         * tests/unictype/test-pr_space.c: Likewise.
41470         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
41471         * tests/unictype/test-pr_titlecase.c: Likewise.
41472         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
41473         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
41474         * tests/unictype/test-pr_uppercase.c: Likewise.
41475         * tests/unictype/test-pr_variation_selector.c: Likewise.
41476         * tests/unictype/test-pr_white_space.c: Likewise.
41477         * tests/unictype/test-pr_xid_continue.c: Likewise.
41478         * tests/unictype/test-pr_xid_start.c: Likewise.
41479         * tests/unictype/test-pr_zero_width.c: Likewise.
41480         * tests/unictype/test-sy_c_whitespace.c: Likewise.
41481         * tests/unictype/test-sy_java_whitespace.c: Likewise.
41482
41483 2007-11-12  Bruno Haible  <bruno@clisp.org>
41484
41485         Unicode character classification functions.
41486         * lib/unictype.h: New file.
41487         * modules/unictype/base: New file.
41488         * modules/unictype/category-L: New file.
41489         * modules/unictype/category-Lu: New file.
41490         * modules/unictype/category-Ll: New file.
41491         * modules/unictype/category-Lt: New file.
41492         * modules/unictype/category-Lm: New file.
41493         * modules/unictype/category-Lo: New file.
41494         * modules/unictype/category-M: New file.
41495         * modules/unictype/category-Mn: New file.
41496         * modules/unictype/category-Mc: New file.
41497         * modules/unictype/category-Me: New file.
41498         * modules/unictype/category-N: New file.
41499         * modules/unictype/category-Nd: New file.
41500         * modules/unictype/category-Nl: New file.
41501         * modules/unictype/category-No: New file.
41502         * modules/unictype/category-P: New file.
41503         * modules/unictype/category-Pc: New file.
41504         * modules/unictype/category-Pd: New file.
41505         * modules/unictype/category-Ps: New file.
41506         * modules/unictype/category-Pe: New file.
41507         * modules/unictype/category-Pi: New file.
41508         * modules/unictype/category-Pf: New file.
41509         * modules/unictype/category-Po: New file.
41510         * modules/unictype/category-S: New file.
41511         * modules/unictype/category-Sm: New file.
41512         * modules/unictype/category-Sc: New file.
41513         * modules/unictype/category-Sk: New file.
41514         * modules/unictype/category-So: New file.
41515         * modules/unictype/category-Z: New file.
41516         * modules/unictype/category-Zs: New file.
41517         * modules/unictype/category-Zl: New file.
41518         * modules/unictype/category-Zp: New file.
41519         * modules/unictype/category-C: New file.
41520         * modules/unictype/category-Cc: New file.
41521         * modules/unictype/category-Cf: New file.
41522         * modules/unictype/category-Cs: New file.
41523         * modules/unictype/category-Co: New file.
41524         * modules/unictype/category-Cn: New file.
41525         * modules/unictype/category-or: New file.
41526         * modules/unictype/category-of: New file.
41527         * modules/unictype/category-test: New file.
41528         * modules/unictype/category-test-withtable: New file.
41529         * modules/unictype/category-byname: New file.
41530         * modules/unictype/category-none: New file.
41531         * modules/unictype/category-and: New file.
41532         * modules/unictype/category-and-not: New file.
41533         * modules/unictype/category-name: New file.
41534         * modules/unictype/combining-class: New file.
41535         * modules/unictype/category-all: New file.
41536         * modules/unictype/bidicategory-all: New file.
41537         * modules/unictype/bidicategory-byname: New file.
41538         * modules/unictype/bidicategory-name: New file.
41539         * modules/unictype/bidicategory-of: New file.
41540         * modules/unictype/bidicategory-test: New file.
41541         * modules/unictype/decimal-digit: New file.
41542         * modules/unictype/digit: New file.
41543         * modules/unictype/numeric: New file.
41544         * modules/unictype/mirror: New file.
41545         * modules/unictype/property-white-space: New file.
41546         * modules/unictype/property-alphabetic: New file.
41547         * modules/unictype/property-other-alphabetic: New file.
41548         * modules/unictype/property-not-a-character: New file.
41549         * modules/unictype/property-default-ignorable-code-point: New file.
41550         * modules/unictype/property-other-default-ignorable-code-point: New
41551         file.
41552         * modules/unictype/property-deprecated: New file.
41553         * modules/unictype/property-logical-order-exception: New file.
41554         * modules/unictype/property-variation-selector: New file.
41555         * modules/unictype/property-private-use: New file.
41556         * modules/unictype/property-unassigned-code-value: New file.
41557         * modules/unictype/property-uppercase: New file.
41558         * modules/unictype/property-other-uppercase: New file.
41559         * modules/unictype/property-lowercase: New file.
41560         * modules/unictype/property-other-lowercase: New file.
41561         * modules/unictype/property-titlecase: New file.
41562         * modules/unictype/property-soft-dotted: New file.
41563         * modules/unictype/property-id-start: New file.
41564         * modules/unictype/property-other-id-start: New file.
41565         * modules/unictype/property-id-continue: New file.
41566         * modules/unictype/property-other-id-continue: New file.
41567         * modules/unictype/property-xid-start: New file.
41568         * modules/unictype/property-xid-continue: New file.
41569         * modules/unictype/property-pattern-white-space: New file.
41570         * modules/unictype/property-pattern-syntax: New file.
41571         * modules/unictype/property-join-control: New file.
41572         * modules/unictype/property-grapheme-base: New file.
41573         * modules/unictype/property-grapheme-extend: New file.
41574         * modules/unictype/property-other-grapheme-extend: New file.
41575         * modules/unictype/property-grapheme-link: New file.
41576         * modules/unictype/property-bidi-control: New file.
41577         * modules/unictype/property-bidi-left-to-right: New file.
41578         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
41579         * modules/unictype/property-bidi-arabic-right-to-left: New file.
41580         * modules/unictype/property-bidi-european-digit: New file.
41581         * modules/unictype/property-bidi-eur-num-separator: New file.
41582         * modules/unictype/property-bidi-eur-num-terminator: New file.
41583         * modules/unictype/property-bidi-arabic-digit: New file.
41584         * modules/unictype/property-bidi-common-separator: New file.
41585         * modules/unictype/property-bidi-block-separator: New file.
41586         * modules/unictype/property-bidi-segment-separator: New file.
41587         * modules/unictype/property-bidi-whitespace: New file.
41588         * modules/unictype/property-bidi-non-spacing-mark: New file.
41589         * modules/unictype/property-bidi-boundary-neutral: New file.
41590         * modules/unictype/property-bidi-pdf: New file.
41591         * modules/unictype/property-bidi-embedding-or-override: New file.
41592         * modules/unictype/property-bidi-other-neutral: New file.
41593         * modules/unictype/property-hex-digit: New file.
41594         * modules/unictype/property-ascii-hex-digit: New file.
41595         * modules/unictype/property-ideographic: New file.
41596         * modules/unictype/property-unified-ideograph: New file.
41597         * modules/unictype/property-radical: New file.
41598         * modules/unictype/property-ids-binary-operator: New file.
41599         * modules/unictype/property-ids-trinary-operator: New file.
41600         * modules/unictype/property-zero-width: New file.
41601         * modules/unictype/property-space: New file.
41602         * modules/unictype/property-non-break: New file.
41603         * modules/unictype/property-iso-control: New file.
41604         * modules/unictype/property-format-control: New file.
41605         * modules/unictype/property-dash: New file.
41606         * modules/unictype/property-hyphen: New file.
41607         * modules/unictype/property-punctuation: New file.
41608         * modules/unictype/property-line-separator: New file.
41609         * modules/unictype/property-paragraph-separator: New file.
41610         * modules/unictype/property-quotation-mark: New file.
41611         * modules/unictype/property-sentence-terminal: New file.
41612         * modules/unictype/property-terminal-punctuation: New file.
41613         * modules/unictype/property-currency-symbol: New file.
41614         * modules/unictype/property-math: New file.
41615         * modules/unictype/property-other-math: New file.
41616         * modules/unictype/property-paired-punctuation: New file.
41617         * modules/unictype/property-left-of-pair: New file.
41618         * modules/unictype/property-combining: New file.
41619         * modules/unictype/property-composite: New file.
41620         * modules/unictype/property-decimal-digit: New file.
41621         * modules/unictype/property-numeric: New file.
41622         * modules/unictype/property-diacritic: New file.
41623         * modules/unictype/property-extender: New file.
41624         * modules/unictype/property-ignorable-control: New file.
41625         * modules/unictype/property-test: New file.
41626         * modules/unictype/property-byname: New file.
41627         * modules/unictype/property-all: New file.
41628         * modules/unictype/scripts: New file.
41629         * modules/unictype/scripts-all: New file.
41630         * modules/unictype/block-of: New file.
41631         * modules/unictype/block-test: New file.
41632         * modules/unictype/block-list: New file.
41633         * modules/unictype/block-all: New file.
41634         * modules/unictype/syntax-c-whitespace: New file.
41635         * modules/unictype/syntax-java-whitespace: New file.
41636         * modules/unictype/syntax-c-ident: New file.
41637         * modules/unictype/syntax-java-ident: New file.
41638         * modules/unictype/ctype-alnum: New file.
41639         * modules/unictype/ctype-alpha: New file.
41640         * modules/unictype/ctype-cntrl: New file.
41641         * modules/unictype/ctype-digit: New file.
41642         * modules/unictype/ctype-graph: New file.
41643         * modules/unictype/ctype-lower: New file.
41644         * modules/unictype/ctype-print: New file.
41645         * modules/unictype/ctype-punct: New file.
41646         * modules/unictype/ctype-space: New file.
41647         * modules/unictype/ctype-upper: New file.
41648         * modules/unictype/ctype-xdigit: New file.
41649         * modules/unictype/ctype-blank: New file.
41650         * lib/unictype/bidi_byname.c: New file.
41651         * lib/unictype/bidi_name.c: New file.
41652         * lib/unictype/bidi_of.c: New file.
41653         * lib/unictype/bidi_test.c: New file.
41654         * lib/unictype/bitmap.h: New file.
41655         * lib/unictype/block_test.c: New file.
41656         * lib/unictype/blocks.c: New file.
41657         * lib/unictype/categ_C.c: New file.
41658         * lib/unictype/categ_Cc.c: New file.
41659         * lib/unictype/categ_Cf.c: New file.
41660         * lib/unictype/categ_Cn.c: New file.
41661         * lib/unictype/categ_Co.c: New file.
41662         * lib/unictype/categ_Cs.c: New file.
41663         * lib/unictype/categ_L.c: New file.
41664         * lib/unictype/categ_Ll.c: New file.
41665         * lib/unictype/categ_Lm.c: New file.
41666         * lib/unictype/categ_Lo.c: New file.
41667         * lib/unictype/categ_Lt.c: New file.
41668         * lib/unictype/categ_Lu.c: New file.
41669         * lib/unictype/categ_M.c: New file.
41670         * lib/unictype/categ_Mc.c: New file.
41671         * lib/unictype/categ_Me.c: New file.
41672         * lib/unictype/categ_Mn.c: New file.
41673         * lib/unictype/categ_N.c: New file.
41674         * lib/unictype/categ_Nd.c: New file.
41675         * lib/unictype/categ_Nl.c: New file.
41676         * lib/unictype/categ_No.c: New file.
41677         * lib/unictype/categ_P.c: New file.
41678         * lib/unictype/categ_Pc.c: New file.
41679         * lib/unictype/categ_Pd.c: New file.
41680         * lib/unictype/categ_Pe.c: New file.
41681         * lib/unictype/categ_Pf.c: New file.
41682         * lib/unictype/categ_Pi.c: New file.
41683         * lib/unictype/categ_Po.c: New file.
41684         * lib/unictype/categ_Ps.c: New file.
41685         * lib/unictype/categ_S.c: New file.
41686         * lib/unictype/categ_Sc.c: New file.
41687         * lib/unictype/categ_Sk.c: New file.
41688         * lib/unictype/categ_Sm.c: New file.
41689         * lib/unictype/categ_So.c: New file.
41690         * lib/unictype/categ_Z.c: New file.
41691         * lib/unictype/categ_Zl.c: New file.
41692         * lib/unictype/categ_Zp.c: New file.
41693         * lib/unictype/categ_Zs.c: New file.
41694         * lib/unictype/categ_and.c: New file.
41695         * lib/unictype/categ_and_not.c: New file.
41696         * lib/unictype/categ_byname.c: New file.
41697         * lib/unictype/categ_name.c: New file.
41698         * lib/unictype/categ_none.c: New file.
41699         * lib/unictype/categ_of.c: New file.
41700         * lib/unictype/categ_or.c: New file.
41701         * lib/unictype/categ_test.c: New file.
41702         * lib/unictype/combining.c: New file.
41703         * lib/unictype/ctype_alnum.c: New file.
41704         * lib/unictype/ctype_alpha.c: New file.
41705         * lib/unictype/ctype_blank.c: New file.
41706         * lib/unictype/ctype_cntrl.c: New file.
41707         * lib/unictype/ctype_digit.c: New file.
41708         * lib/unictype/ctype_graph.c: New file.
41709         * lib/unictype/ctype_lower.c: New file.
41710         * lib/unictype/ctype_print.c: New file.
41711         * lib/unictype/ctype_punct.c: New file.
41712         * lib/unictype/ctype_space.c: New file.
41713         * lib/unictype/ctype_upper.c: New file.
41714         * lib/unictype/ctype_xdigit.c: New file.
41715         * lib/unictype/decdigit.c: New file.
41716         * lib/unictype/digit.c: New file.
41717         * lib/unictype/identsyntaxmap.h: New file.
41718         * lib/unictype/mirror.c: New file.
41719         * lib/unictype/numeric.c: New file.
41720         * lib/unictype/pr_alphabetic.c: New file.
41721         * lib/unictype/pr_ascii_hex_digit.c: New file.
41722         * lib/unictype/pr_bidi_arabic_digit.c: New file.
41723         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
41724         * lib/unictype/pr_bidi_block_separator.c: New file.
41725         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
41726         * lib/unictype/pr_bidi_common_separator.c: New file.
41727         * lib/unictype/pr_bidi_control.c: New file.
41728         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
41729         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
41730         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
41731         * lib/unictype/pr_bidi_european_digit.c: New file.
41732         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
41733         * lib/unictype/pr_bidi_left_to_right.c: New file.
41734         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
41735         * lib/unictype/pr_bidi_other_neutral.c: New file.
41736         * lib/unictype/pr_bidi_pdf.c: New file.
41737         * lib/unictype/pr_bidi_segment_separator.c: New file.
41738         * lib/unictype/pr_bidi_whitespace.c: New file.
41739         * lib/unictype/pr_byname.c: New file.
41740         * lib/unictype/pr_byname.gperf: New file.
41741         * lib/unictype/pr_combining.c: New file.
41742         * lib/unictype/pr_composite.c: New file.
41743         * lib/unictype/pr_currency_symbol.c: New file.
41744         * lib/unictype/pr_dash.c: New file.
41745         * lib/unictype/pr_decimal_digit.c: New file.
41746         * lib/unictype/pr_default_ignorable_code_point.c: New file.
41747         * lib/unictype/pr_deprecated.c: New file.
41748         * lib/unictype/pr_diacritic.c: New file.
41749         * lib/unictype/pr_extender.c: New file.
41750         * lib/unictype/pr_format_control.c: New file.
41751         * lib/unictype/pr_grapheme_base.c: New file.
41752         * lib/unictype/pr_grapheme_extend.c: New file.
41753         * lib/unictype/pr_grapheme_link.c: New file.
41754         * lib/unictype/pr_hex_digit.c: New file.
41755         * lib/unictype/pr_hyphen.c: New file.
41756         * lib/unictype/pr_id_continue.c: New file.
41757         * lib/unictype/pr_id_start.c: New file.
41758         * lib/unictype/pr_ideographic.c: New file.
41759         * lib/unictype/pr_ids_binary_operator.c: New file.
41760         * lib/unictype/pr_ids_trinary_operator.c: New file.
41761         * lib/unictype/pr_ignorable_control.c: New file.
41762         * lib/unictype/pr_iso_control.c: New file.
41763         * lib/unictype/pr_join_control.c: New file.
41764         * lib/unictype/pr_left_of_pair.c: New file.
41765         * lib/unictype/pr_line_separator.c: New file.
41766         * lib/unictype/pr_logical_order_exception.c: New file.
41767         * lib/unictype/pr_lowercase.c: New file.
41768         * lib/unictype/pr_math.c: New file.
41769         * lib/unictype/pr_non_break.c: New file.
41770         * lib/unictype/pr_not_a_character.c: New file.
41771         * lib/unictype/pr_numeric.c: New file.
41772         * lib/unictype/pr_other_alphabetic.c: New file.
41773         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
41774         * lib/unictype/pr_other_grapheme_extend.c: New file.
41775         * lib/unictype/pr_other_id_continue.c: New file.
41776         * lib/unictype/pr_other_id_start.c: New file.
41777         * lib/unictype/pr_other_lowercase.c: New file.
41778         * lib/unictype/pr_other_math.c: New file.
41779         * lib/unictype/pr_other_uppercase.c: New file.
41780         * lib/unictype/pr_paired_punctuation.c: New file.
41781         * lib/unictype/pr_paragraph_separator.c: New file.
41782         * lib/unictype/pr_pattern_syntax.c: New file.
41783         * lib/unictype/pr_pattern_white_space.c: New file.
41784         * lib/unictype/pr_private_use.c: New file.
41785         * lib/unictype/pr_punctuation.c: New file.
41786         * lib/unictype/pr_quotation_mark.c: New file.
41787         * lib/unictype/pr_radical.c: New file.
41788         * lib/unictype/pr_sentence_terminal.c: New file.
41789         * lib/unictype/pr_soft_dotted.c: New file.
41790         * lib/unictype/pr_space.c: New file.
41791         * lib/unictype/pr_terminal_punctuation.c: New file.
41792         * lib/unictype/pr_test.c: New file.
41793         * lib/unictype/pr_titlecase.c: New file.
41794         * lib/unictype/pr_unassigned_code_value.c: New file.
41795         * lib/unictype/pr_unified_ideograph.c: New file.
41796         * lib/unictype/pr_uppercase.c: New file.
41797         * lib/unictype/pr_variation_selector.c: New file.
41798         * lib/unictype/pr_white_space.c: New file.
41799         * lib/unictype/pr_xid_continue.c: New file.
41800         * lib/unictype/pr_xid_start.c: New file.
41801         * lib/unictype/pr_zero_width.c: New file.
41802         * lib/unictype/scripts.c: New file.
41803         * lib/unictype/sy_c_ident.c: New file.
41804         * lib/unictype/sy_c_whitespace.c: New file.
41805         * lib/unictype/sy_java_ident.c: New file.
41806         * lib/unictype/sy_java_whitespace.c: New file.
41807
41808         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
41809         Unicode 5.0.0.
41810         * lib/unictype/blocks.h: Likewise.
41811         * lib/unictype/categ_C.h: Likewise.
41812         * lib/unictype/categ_Cc.h: Likewise.
41813         * lib/unictype/categ_Cf.h: Likewise.
41814         * lib/unictype/categ_Cn.h: Likewise.
41815         * lib/unictype/categ_Co.h: Likewise.
41816         * lib/unictype/categ_Cs.h: Likewise.
41817         * lib/unictype/categ_L.h: Likewise.
41818         * lib/unictype/categ_Ll.h: Likewise.
41819         * lib/unictype/categ_Lm.h: Likewise.
41820         * lib/unictype/categ_Lo.h: Likewise.
41821         * lib/unictype/categ_Lt.h: Likewise.
41822         * lib/unictype/categ_Lu.h: Likewise.
41823         * lib/unictype/categ_M.h: Likewise.
41824         * lib/unictype/categ_Mc.h: Likewise.
41825         * lib/unictype/categ_Me.h: Likewise.
41826         * lib/unictype/categ_Mn.h: Likewise.
41827         * lib/unictype/categ_N.h: Likewise.
41828         * lib/unictype/categ_Nd.h: Likewise.
41829         * lib/unictype/categ_Nl.h: Likewise.
41830         * lib/unictype/categ_No.h: Likewise.
41831         * lib/unictype/categ_P.h: Likewise.
41832         * lib/unictype/categ_Pc.h: Likewise.
41833         * lib/unictype/categ_Pd.h: Likewise.
41834         * lib/unictype/categ_Pe.h: Likewise.
41835         * lib/unictype/categ_Pf.h: Likewise.
41836         * lib/unictype/categ_Pi.h: Likewise.
41837         * lib/unictype/categ_Po.h: Likewise.
41838         * lib/unictype/categ_Ps.h: Likewise.
41839         * lib/unictype/categ_S.h: Likewise.
41840         * lib/unictype/categ_Sc.h: Likewise.
41841         * lib/unictype/categ_Sk.h: Likewise.
41842         * lib/unictype/categ_Sm.h: Likewise.
41843         * lib/unictype/categ_So.h: Likewise.
41844         * lib/unictype/categ_Z.h: Likewise.
41845         * lib/unictype/categ_Zl.h: Likewise.
41846         * lib/unictype/categ_Zp.h: Likewise.
41847         * lib/unictype/categ_Zs.h: Likewise.
41848         * lib/unictype/categ_of.h: Likewise.
41849         * lib/unictype/combining.h: Likewise.
41850         * lib/unictype/ctype_alnum.h: Likewise.
41851         * lib/unictype/ctype_alpha.h: Likewise.
41852         * lib/unictype/ctype_blank.h: Likewise.
41853         * lib/unictype/ctype_cntrl.h: Likewise.
41854         * lib/unictype/ctype_digit.h: Likewise.
41855         * lib/unictype/ctype_graph.h: Likewise.
41856         * lib/unictype/ctype_lower.h: Likewise.
41857         * lib/unictype/ctype_print.h: Likewise.
41858         * lib/unictype/ctype_punct.h: Likewise.
41859         * lib/unictype/ctype_space.h: Likewise.
41860         * lib/unictype/ctype_upper.h: Likewise.
41861         * lib/unictype/ctype_xdigit.h: Likewise.
41862         * lib/unictype/decdigit.h: Likewise.
41863         * lib/unictype/digit.h: Likewise.
41864         * lib/unictype/mirror.h: Likewise.
41865         * lib/unictype/numeric.h: Likewise.
41866         * lib/unictype/pr_alphabetic.h: Likewise.
41867         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
41868         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
41869         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
41870         * lib/unictype/pr_bidi_block_separator.h: Likewise.
41871         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
41872         * lib/unictype/pr_bidi_common_separator.h: Likewise.
41873         * lib/unictype/pr_bidi_control.h: Likewise.
41874         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
41875         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
41876         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
41877         * lib/unictype/pr_bidi_european_digit.h: Likewise.
41878         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
41879         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
41880         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
41881         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
41882         * lib/unictype/pr_bidi_pdf.h: Likewise.
41883         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
41884         * lib/unictype/pr_bidi_whitespace.h: Likewise.
41885         * lib/unictype/pr_combining.h: Likewise.
41886         * lib/unictype/pr_composite.h: Likewise.
41887         * lib/unictype/pr_currency_symbol.h: Likewise.
41888         * lib/unictype/pr_dash.h: Likewise.
41889         * lib/unictype/pr_decimal_digit.h: Likewise.
41890         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
41891         * lib/unictype/pr_deprecated.h: Likewise.
41892         * lib/unictype/pr_diacritic.h: Likewise.
41893         * lib/unictype/pr_extender.h: Likewise.
41894         * lib/unictype/pr_format_control.h: Likewise.
41895         * lib/unictype/pr_grapheme_base.h: Likewise.
41896         * lib/unictype/pr_grapheme_extend.h: Likewise.
41897         * lib/unictype/pr_grapheme_link.h: Likewise.
41898         * lib/unictype/pr_hex_digit.h: Likewise.
41899         * lib/unictype/pr_hyphen.h: Likewise.
41900         * lib/unictype/pr_id_continue.h: Likewise.
41901         * lib/unictype/pr_id_start.h: Likewise.
41902         * lib/unictype/pr_ideographic.h: Likewise.
41903         * lib/unictype/pr_ids_binary_operator.h: Likewise.
41904         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
41905         * lib/unictype/pr_ignorable_control.h: Likewise.
41906         * lib/unictype/pr_iso_control.h: Likewise.
41907         * lib/unictype/pr_join_control.h: Likewise.
41908         * lib/unictype/pr_left_of_pair.h: Likewise.
41909         * lib/unictype/pr_line_separator.h: Likewise.
41910         * lib/unictype/pr_logical_order_exception.h: Likewise.
41911         * lib/unictype/pr_lowercase.h: Likewise.
41912         * lib/unictype/pr_math.h: Likewise.
41913         * lib/unictype/pr_non_break.h: Likewise.
41914         * lib/unictype/pr_not_a_character.h: Likewise.
41915         * lib/unictype/pr_numeric.h: Likewise.
41916         * lib/unictype/pr_other_alphabetic.h: Likewise.
41917         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
41918         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
41919         * lib/unictype/pr_other_id_continue.h: Likewise.
41920         * lib/unictype/pr_other_id_start.h: Likewise.
41921         * lib/unictype/pr_other_lowercase.h: Likewise.
41922         * lib/unictype/pr_other_math.h: Likewise.
41923         * lib/unictype/pr_other_uppercase.h: Likewise.
41924         * lib/unictype/pr_paired_punctuation.h: Likewise.
41925         * lib/unictype/pr_paragraph_separator.h: Likewise.
41926         * lib/unictype/pr_pattern_syntax.h: Likewise.
41927         * lib/unictype/pr_pattern_white_space.h: Likewise.
41928         * lib/unictype/pr_private_use.h: Likewise.
41929         * lib/unictype/pr_punctuation.h: Likewise.
41930         * lib/unictype/pr_quotation_mark.h: Likewise.
41931         * lib/unictype/pr_radical.h: Likewise.
41932         * lib/unictype/pr_sentence_terminal.h: Likewise.
41933         * lib/unictype/pr_soft_dotted.h: Likewise.
41934         * lib/unictype/pr_space.h: Likewise.
41935         * lib/unictype/pr_terminal_punctuation.h: Likewise.
41936         * lib/unictype/pr_titlecase.h: Likewise.
41937         * lib/unictype/pr_unassigned_code_value.h: Likewise.
41938         * lib/unictype/pr_unified_ideograph.h: Likewise.
41939         * lib/unictype/pr_uppercase.h: Likewise.
41940         * lib/unictype/pr_variation_selector.h: Likewise.
41941         * lib/unictype/pr_white_space.h: Likewise.
41942         * lib/unictype/pr_xid_continue.h: Likewise.
41943         * lib/unictype/pr_xid_start.h: Likewise.
41944         * lib/unictype/pr_zero_width.h: Likewise.
41945         * lib/unictype/scripts.h: Likewise.
41946         * lib/unictype/scripts_byname.gperf: Likewise.
41947         * lib/unictype/sy_c_ident.h: Likewise.
41948         * lib/unictype/sy_c_whitespace.h: Likewise.
41949         * lib/unictype/sy_java_ident.h: Likewise.
41950         * lib/unictype/sy_java_whitespace.h: Likewise.
41951
41952         * lib/unictype/Makefile: New file.
41953         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
41954         glibc.
41955         * lib/unictype/3level.h: New file, copied from glibc.
41956         * lib/unictype/3levelbit.h: New file.
41957
41958 2007-11-11  Bruno Haible  <bruno@clisp.org>
41959
41960         * modules/gperf: New file.
41961         * modules/iconv_open (Depends-on): Add it.
41962         (Makefile.am): Remove the GPERF definition.
41963
41964 2007-11-11  Bruno Haible  <bruno@clisp.org>
41965
41966         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
41967         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
41968
41969 2007-11-11  Bruno Haible  <bruno@clisp.org>
41970
41971         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
41972         (usage): Remove function.
41973
41974 2007-11-11  Bruno Haible  <bruno@clisp.org>
41975
41976         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
41977         gl_FUNC_CEILF_LIBS.
41978         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
41979         gl_FUNC_CEIL_LIBS.
41980         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
41981         gl_FUNC_CEILL_LIBS.
41982         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
41983         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
41984         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
41985
41986 2007-11-11  Bruno Haible  <bruno@clisp.org>
41987
41988         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
41989         roundf were declared but do not exist on functions.
41990         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
41991         roundl were declared but do not exist on functions.
41992         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
41993         HAVE_FLOORL_AND_CEILL, respectively.
41994         Needed for Sun C on Solaris 10.
41995
41996 2007-11-11  Bruno Haible  <bruno@clisp.org>
41997
41998         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
41999         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
42000         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
42001         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
42002         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
42003         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
42004         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
42005         HAVE_DECL_ROUNDF.
42006         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
42007         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
42008         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
42009         of HAVE_DECL_ROUND*.
42010         * modules/math (Makefile.am): Update.
42011
42012 2007-11-10  Bruno Haible  <bruno@clisp.org>
42013
42014         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
42015         ptrdiff_t as m4/intl.m4.
42016
42017 2007-11-10  Jim Meyering  <meyering@redhat.com>
42018
42019         Avoid link failure for the argmatch test.
42020         * tests/test-argmatch.c (usage): Define function to avoid a link
42021         failure: argmatch_die requires a usage function.
42022
42023 2007-11-09  Bruno Haible  <bruno@clisp.org>
42024
42025         * doc/functions/snprintf.texi: Mention BeOS deficiency.
42026         * doc/functions/vsnprintf.texi: Likewise.
42027         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
42028         with a size argument < 2.
42029
42030 2007-11-09  Bruno Haible  <bruno@clisp.org>
42031
42032         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
42033         buffer. Fixes an inefficiency introduced on 2007-11-03.
42034
42035 2007-11-09  Bruno Haible  <bruno@clisp.org>
42036
42037         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
42038         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
42039
42040 2007-11-08  Jim Meyering  <meyering@redhat.com>
42041
42042         Change cache variable name prefix "jm_" to "gl_" everywhere.
42043         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
42044         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
42045         * m4/uptime.m4: s/gl_/jm_/
42046
42047 2007-11-07  Bruno Haible  <bruno@clisp.org>
42048
42049         Update to GNU gettext 0.17.
42050         * m4/intl.m4: Update to GNU gettext 0.17.
42051         * m4/po.m4: Likewise.
42052         * modules/gettext (Files): Remove m4/ulonglong.m4.
42053         (configure.ac): Require gettext infrastructure from version 0.17.
42054
42055 2007-11-06  Bruno Haible  <bruno@clisp.org>
42056
42057         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
42058         symbolic values are not defined in a public header.
42059         * lib/freadable.c (freadable) [QNX]: Likewise.
42060         * lib/freadahead.c (freadahead) [QNX]: Likewise.
42061         * lib/freading.c (freading) [QNX]: Likewise.
42062         * lib/fseterr.c (fseterr) [QNX]: Likewise.
42063         * lib/fwritable.c (fwritable) [QNX]: Likewise.
42064         * lib/fwriting.c (fwriting) [QNX]: Likewise.
42065         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
42066         Reported by Alain Magloire.
42067
42068         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
42069
42070 2007-11-05  Bruno Haible  <bruno@clisp.org>
42071
42072         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
42073         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
42074         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
42075         Reported by Eric Blake.
42076
42077 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42078             Bruno Haible  <bruno@clisp.org>
42079
42080         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
42081         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
42082         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
42083         (malloc): Undefine also before including <stdlib.h>.
42084         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
42085         Needed on OSF/1 4.0.
42086
42087 2007-11-05  Jim Meyering  <meyering@redhat.com>
42088
42089         git-version-gen: sync from coreutils.
42090         * build-aux/git-version-gen: Add comments.
42091         Change the first '-' to '.' in the snapshot version string,
42092         e.g., 6.9-377-08144 -> 6.9.377-08144
42093         Remove first parameter.
42094         Don't declare a version "-dirty" merely because a time
42095         stamp has changed.
42096
42097 2007-11-04  Bruno Haible  <bruno@clisp.org>
42098
42099         * lib/lock.h: Protect all macro definitions containing an 'if'
42100         statement through a "do { ... } while (0)".
42101         * lib/tls.h: Likewise.
42102
42103 2007-11-04  Bruno Haible  <bruno@clisp.org>
42104
42105         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
42106
42107 2007-11-04  Bruno Haible  <bruno@clisp.org>
42108
42109         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
42110         * modules/fprintf-posix (Depends-on): Add nocrash.
42111         * modules/snprintf-posix (Depends-on): Likewise.
42112         * modules/sprintf-posix (Depends-on): Likewise.
42113         * modules/vasnprintf-posix (Depends-on): Likewise.
42114         * modules/vasprintf-posix (Depends-on): Likewise.
42115         * modules/vfprintf-posix (Depends-on): Likewise.
42116         * modules/vsnprintf-posix (Depends-on): Likewise.
42117         * modules/vsprintf-posix (Depends-on): Likewise.
42118         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42119         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42120         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42121         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42122         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42123         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42124         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42125
42126 2007-11-04  Bruno Haible  <bruno@clisp.org>
42127
42128         * modules/nocrash: New file.
42129         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
42130         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
42131
42132 2007-11-04  Bruno Haible  <bruno@clisp.org>
42133
42134         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
42135         precision handling.
42136         * tests/test-vasprintf-posix.c (test_function): Likewise.
42137         * tests/test-snprintf-posix.h (test_function): Likewise.
42138         * tests/test-sprintf-posix.h (test_function): Likewise.
42139
42140         Fix *printf behaviour for large precisions on mingw and BeOS.
42141         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
42142         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
42143         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
42144         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42145         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42146         gl_PRINTF_PRECISION and test its result. Invoke
42147         gl_PREREQ_VASNPRINTF_PRECISION.
42148         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42149         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42150         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42151         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42152         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42153         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42154         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42155         * doc/functions/fprintf.texi: Update.
42156         * doc/functions/printf.texi: Update.
42157         * doc/functions/snprintf.texi: Update.
42158         * doc/functions/sprintf.texi: Update.
42159         * doc/functions/vfprintf.texi: Update.
42160         * doc/functions/vprintf.texi: Update.
42161         * doc/functions/vsnprintf.texi: Update.
42162         * doc/functions/vsprintf.texi: Update.
42163
42164 2007-11-04  Bruno Haible  <bruno@clisp.org>
42165
42166         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
42167
42168 2007-11-04  Bruno Haible  <bruno@clisp.org>
42169
42170         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
42171         Reported by Sylvain Beucler <beuc@gnu.org>.
42172
42173 2007-11-03  Bruno Haible  <bruno@clisp.org>
42174
42175         * tests/test-fprintf-posix2.sh: New file.
42176         * tests/test-fprintf-posix2.c: New file.
42177         * modules/fprintf-posix-tests (Files): Add them.
42178         (TESTS): Add test-fprintf-posix2.sh.
42179         (configure.ac): Check for getrlimit and setrlimit.
42180         (check_PROGRAMS): Add test-fprintf-posix2.
42181
42182         * tests/test-printf-posix2.sh: New file.
42183         * tests/test-printf-posix2.c: New file.
42184         * modules/printf-posix-tests (Files): Add them.
42185         (TESTS): Add test-printf-posix2.sh.
42186         (configure.ac): Check for getrlimit and setrlimit.
42187         (check_PROGRAMS): Add test-printf-posix2.
42188
42189         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
42190         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
42191         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
42192         (decode_double): New function, copied from decode_long_double.
42193         (scale10_round_decimal_decoded): New function, extracted from
42194         scale10_round_decimal_long_double.
42195         (scale10_round_decimal_long_double): Use it.
42196         (scale10_round_decimal_double): New function.
42197         (floorlog10): New function.
42198         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
42199         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
42200         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42201         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42202         gl_PRINTF_ENOMEM and test its result. Invoke
42203         gl_PREREQ_VASNPRINTF_ENOMEM.
42204         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42205         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42206         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42207         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42208         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42209         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42210         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42211         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
42212         * modules/snprintf-posix (Depends-on): Likewise.
42213         * modules/sprintf-posix (Depends-on): Likewise.
42214         * modules/vasnprintf-posix (Depends-on): Likewise.
42215         * modules/vasprintf-posix (Depends-on): Likewise.
42216         * modules/vfprintf-posix (Depends-on): Likewise.
42217         * modules/vsnprintf-posix (Depends-on): Likewise.
42218         * modules/vsprintf-posix (Depends-on): Likewise.
42219         * doc/functions/fprintf.texi: Update.
42220         * doc/functions/printf.texi: Update.
42221         * doc/functions/snprintf.texi: Update.
42222         * doc/functions/sprintf.texi: Update.
42223         * doc/functions/vfprintf.texi: Update.
42224         * doc/functions/vprintf.texi: Update.
42225         * doc/functions/vsnprintf.texi: Update.
42226         * doc/functions/vsprintf.texi: Update.
42227
42228 2007-11-03  Bruno Haible  <bruno@clisp.org>
42229
42230         * modules/frexp-nolibm-tests: New file.
42231
42232         * modules/frexp-nolibm: New file.
42233         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
42234
42235 2007-11-03  Bruno Haible  <bruno@clisp.org>
42236
42237         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
42238         value is C99 compliant.
42239         Needed for OSF/1 5.1.
42240
42241 2007-11-03  Bruno Haible  <bruno@clisp.org>
42242
42243         Fix out-of-memory handling of vasnprintf.
42244         * lib/printf-parse.c: Include <errno.h>.
42245         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
42246         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
42247         is already set.
42248
42249 2007-11-02  Eric Blake  <ebb9@byu.net>
42250
42251         Fix tests on cygwin.
42252         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
42253
42254 2007-11-01  Bruno Haible  <bruno@clisp.org>
42255
42256         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
42257         warning.
42258         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
42259         needed for POSIX compatibility.
42260
42261 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
42262
42263         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
42264         for compatibility with GNU.
42265
42266 2007-11-01  Bruno Haible  <bruno@clisp.org>
42267
42268         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
42269         (putenv): Renamed from rpl_putenv. Change argument type from
42270         'const char *' to 'char *'.
42271         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
42272         of defining putenv in config.h, just set REPLACE_PUTENV.
42273         * modules/putenv (Depends-on): Add stdlib.
42274         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42275         (Include): Use <stdlib.h>.
42276         * lib/stdlib.in.h (putenv): New declaration.
42277         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
42278         REPLACE_PUTENV.
42279         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
42280         REPLACE_PUTENV.
42281         Needed for MacOS X 10.5.0.
42282         Reported by Peter O'Gorman <peter@pogma.com>.
42283
42284 2007-11-01  Jim Meyering  <meyering@redhat.com>
42285
42286         Treat an empty date string exactly like "0".
42287         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
42288         if the remaining date string (to be parsed) is empty, use "0".
42289         Reported by Mischa Molhoek and discussed in this thread:
42290         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
42291
42292 2007-10-31  Bruno Haible  <bruno@clisp.org>
42293
42294         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
42295         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
42296         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
42297         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
42298         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
42299         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
42300
42301 2007-10-31  Bruno Haible  <bruno@clisp.org>
42302
42303         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
42304         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
42305         (AC_TYPE_LONG_LONG_INT): Use it.
42306         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
42307         it as well.
42308         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
42309         to m4/longlong.m4.
42310         * modules/stdint (Files): Remove m4/ulonglong.m4.
42311         * modules/strtoull (Files): Use m4/longlong.m4 instead of
42312         m4/ulonglong.m4.
42313         * modules/strtoumax (Files): Likewise.
42314
42315 2007-10-30  Bruno Haible  <bruno@clisp.org>
42316
42317         * modules/xvasprintf-posix: New file.
42318         Suggested by Eric Blake.
42319
42320 2007-10-30  Bruno Haible  <bruno@clisp.org>
42321
42322         * modules/xprintf-posix-tests: New file.
42323         * tests/test-xprintf-posix.sh: New file.
42324         * tests/test-xprintf-posix.c: New file.
42325         * tests/test-xfprintf-posix.c: New file.
42326
42327         * modules/xprintf-posix: New file.
42328
42329 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42330
42331         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
42332         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
42333         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
42334
42335 2007-10-29  Bruno Haible  <bruno@clisp.org>
42336
42337         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
42338         contain the special marker '_cv_'.
42339         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
42340         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
42341         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
42342         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
42343         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
42344         Reported by Ralf Wildenhues.
42345
42346 2007-10-29  Bruno Haible  <bruno@clisp.org>
42347
42348         * gnulib-tool (func_import): When --lgpl is not specified, set
42349         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
42350         GPLv3.
42351         Reported by Simon Josefsson.
42352
42353 2007-10-28  Bruno Haible  <bruno@clisp.org>
42354
42355         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
42356         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
42357         HAVE_DECL_ISFINITE.
42358         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
42359         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
42360         HAVE_DECL_ISFINITE.
42361
42362 2007-10-28  Bruno Haible  <bruno@clisp.org>
42363
42364         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
42365         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
42366
42367 2007-10-28  Bruno Haible  <bruno@clisp.org>
42368
42369         Fix link errors with Sun C 5.0 on Solaris 10.
42370         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
42371         function is declared but not present in the compiler's libm.
42372         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
42373         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
42374         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
42375         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
42376         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
42377         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
42378         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
42379         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
42380         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
42381         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
42382         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
42383         HAVE_DECL_FLOORL.
42384
42385 2007-10-28  Bruno Haible  <bruno@clisp.org>
42386
42387         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
42388         gl_FUNC_FLOORL. Cache the result.
42389         (gl_FUNC_FLOORL): Use it.
42390         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
42391         gl_FUNC_CEILL. Cache the result.
42392         (gl_FUNC_CEILL): Use it.
42393
42394         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
42395         gl_FUNC_FLOOR. Cache the result.
42396         (gl_FUNC_FLOOR): Use it.
42397         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
42398         gl_FUNC_CEIL. Cache the result.
42399         (gl_FUNC_CEIL): Use it.
42400
42401         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
42402         gl_FUNC_FLOORF. Cache the result.
42403         (gl_FUNC_FLOORF): Use it.
42404         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
42405         gl_FUNC_CEILF. Cache the result.
42406         (gl_FUNC_CEILF): Use it.
42407
42408 2007-10-28  Bruno Haible  <bruno@clisp.org>
42409
42410         * gnulib-tool: Allow specifying the LGPL version number through
42411         --lgpl=2 or --lgpl=3.
42412         (func_usage): Document --lgpl with argument.
42413         Handle --lgpl=... arguments.
42414         (func_import): Recognize also gl_LGPL calls with an argument. When
42415         --lgpl=2 is used and the module's license is just LGPL, report an
42416         error. Set sed_transform_lib_file according to the lgpl variable. In
42417         the generated files, use --lgpl or gl_LGPL invocations with argument,
42418         if necessary.
42419         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
42420         an LGPv2+ license.
42421         * doc/gnulib-tool.texi (Modified imports): Update explanation of
42422         gl_LGPL macro.
42423
42424 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42425             Bruno Haible  <bruno@clisp.org>
42426
42427         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
42428         (u16_uctomb_aux): Likewise.
42429         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
42430         !HAVE_INLINE.
42431         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
42432
42433 2007-10-28  Bruno Haible  <bruno@clisp.org>
42434
42435         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
42436         Invoke AM_GETTEXT_OPTION if it exists.
42437         * modules/vasprintf: Likewise.
42438         * modules/verror: Likewise.
42439         * modules/xprintf: Likewise.
42440         * modules/xvasprintf: Likewise.
42441
42442 2007-10-27  Ben Pfaff  <blp@gnu.org>
42443
42444         * lib/math.in.h: Define isfinite macro and prototypes for
42445         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
42446         implementations.
42447         * m4/math_h.m4: New substitutions for isfinite module.
42448         * lib/isfinite.c: New file.
42449         * m4/isfinite.m4: New file.
42450         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
42451         * modules/isfinite: New file.
42452         * modules/isfinite-tests: New file.
42453         * tests/tests-isfinite.c: New file.
42454         * doc/functions/isfinite.texi: Mention isfinite module.
42455         * MODULES.html.sh: Mention new module.
42456
42457 2007-10-27  Ben Pfaff  <blp@gnu.org>
42458
42459         Ralf Wildenhues reported that Tru64 4.0D declares the round
42460         functions but does not have definitions.
42461         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
42462         cannot be found in any library, set the output variable to
42463         "missing" instead of "".
42464         * m4/round.m4: Also use our substitute if we cannot find round in
42465         any library, even if it is declared.
42466         * m4/roundf.m4: Likewise for roundf.
42467         * m4/roundl.m4: Likewise for roundl.
42468         * lib/math.in.h: Undefine roundf, round, roundl before defining
42469         their replacements, to allow for hypothetical systems where these
42470         may be defined as macros but not available in libraries.
42471
42472 2007-10-27  Bruno Haible  <bruno@clisp.org>
42473
42474         * doc/gnulib.texi: Invoke @firstparagraphindent.
42475         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
42476         changes in gnulib.
42477         (Source changes): New section.
42478
42479 2007-10-26  Bruno Haible  <bruno@clisp.org>
42480
42481         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
42482         borrowed from autoconf.
42483
42484 2007-10-26  Bruno Haible  <bruno@clisp.org>
42485
42486         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
42487         strerror returned the empty string. Needed on HP-UX 11.00.
42488
42489 2007-10-24  Micah Cowan  <micah@cowan.name>
42490
42491         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
42492         * build-aux/bootstrap: Remove support for now-unnecessary option,
42493         --cvs-user, and envvars CVS_USER, CVS_RSH.
42494
42495 2007-10-24  Jim Meyering  <meyering@redhat.com>
42496
42497         Avoid diagnostics from sha1sum when there is no cached checksum.
42498         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
42499         if the po.s1 file hasn't been created yet.
42500
42501         * build-aux/bootstrap: Sync from coreutils:
42502         2007-10-24  Jim Meyering  <meyering@redhat.com>
42503         Get gnulib from the git repository, not from an obsolete cvs one.
42504         * build-aux/bootstrap: Suggestion from Micah Cowan.
42505         2007-10-04  Jim Meyering  <jim@meyering.net>
42506         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
42507         (update_po_files): Work also when there are no .po files in po/.
42508
42509 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42510
42511         * README: Append ".git" to git and cg examples.
42512         Problem reported by Benoit Sigoure.
42513
42514 2007-10-23  Micah Cowan  <micah@cowan.name>
42515
42516         * users.txt: Add wget.
42517
42518 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42519
42520         Fix linking of some unistdio tests on FreeBSD.
42521         * modules/unistdio/u16-vsnprintf-tests
42522         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
42523         * modules/unistdio/u16-vsprintf-tests
42524         (test_u16_vsnprintf1_LDADD): Likewise.
42525         * modules/unistdio/u32-vsnprintf-tests
42526         (test_u32_vsnprintf1_LDADD): Likewise.
42527         * modules/unistdio/u32-vsprintf-tests
42528         (test_u32_vsprintf1_LDADD): Likewise.
42529         * modules/unistdio/u8-vsnprintf-tests
42530         (test_u8_vsnprintf1_LDADD): Likewise.
42531         * modules/unistdio/u8-vsprintf-tests
42532         (test_u8_vsprintf1_LDADD): Likewise.
42533         * modules/unistdio/ulc-vsnprintf-tests
42534         (test_ulc_vsnprintf1_LDADD): Likewise.
42535         * modules/unistdio/ulc-vsprintf-tests
42536         (test_ulc_vsprintf1_LDADD): Likewise.
42537
42538         Fix linking of some uniconv tests on FreeBSD.
42539         * modules/uniconv/u16-conv-from-enc-tests
42540         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
42541         * modules/uniconv/u16-conv-to-enc-tests
42542         (test_u16_conv_to_enc_LDADD): Likewise.
42543         * modules/uniconv/u16-strconv-from-enc-tests
42544         (test_u16_strconv_from_enc_LDADD): Likewise.
42545         * modules/uniconv/u16-strconv-to-enc-tests
42546         (test_u16_strconv_to_enc_LDADD): Likewise.
42547         * modules/uniconv/u32-conv-from-enc-tests
42548         (test_u32_conv_from_enc_LDADD): Likewise.
42549         * modules/uniconv/u32-conv-to-enc-tests
42550         (test_u32_conv_to_enc_LDADD): Likewise.
42551         * modules/uniconv/u32-strconv-from-enc-tests
42552         (test_u32_strconv_from_enc_LDADD): Likewise.
42553         * modules/uniconv/u32-strconv-to-enc-tests
42554         (test_u32_strconv_to_enc_LDADD): Likewise.
42555         * modules/uniconv/u8-conv-from-enc-tests
42556         (test_u8_conv_from_enc_LDADD): Likewise.
42557         * modules/uniconv/u8-conv-to-enc-tests
42558         (test_u8_conv_to_enc_LDADD): Likewise.
42559         * modules/uniconv/u8-strconv-from-enc-tests
42560         (test_u8_strconv_from_enc_LDADD): Likewise.
42561         * modules/uniconv/u8-strconv-to-enc-tests
42562         (test_u8_strconv_to_enc_LDADD): Likewise.
42563
42564 2007-10-22  Bruno Haible  <bruno@clisp.org>
42565
42566         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
42567         size.
42568
42569 2007-10-22  Eric Blake  <ebb9@byu.net>
42570
42571         Tweak x*printf documentation.
42572         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
42573         variable name and comments.
42574         Suggested by Bruno Haible.
42575
42576 2007-10-22  Bruno Haible  <bruno@clisp.org>
42577
42578         * lib/acl.c (copy_acl): Fix file name in comment.
42579
42580 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
42581
42582         Fix Tru64 problem with stdbool.h.
42583         * lib/stdbool.in.h (false, true):
42584         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
42585         Don't declare as an enum in this situation; it runs afoul of Tru64.
42586         Problem reported by Steven M. Schweda in
42587         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
42588
42589 2007-10-22  Eric Blake  <ebb9@byu.net>
42590
42591         Also wrap vf?printf.
42592         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
42593         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
42594         (xvprintf, xvfprintf): New functions.
42595
42596 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42597
42598         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
42599         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
42600
42601         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
42602         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
42603
42604 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
42605
42606         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
42607         by Bruno Haible.
42608
42609 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42610
42611         * lib/getloadavg.c
42612         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
42613         Undef `sys' after including sys/table.h, for Tru64 4.0D.
42614
42615         * tests/test-i-ring.c: Work for C89.
42616
42617 2007-10-22  Bruno Haible  <bruno@clisp.org>
42618
42619         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
42620         -1u, in preprocessor expression, so that we don't test for the bug
42621         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
42622         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
42623
42624 2007-10-22  Eric Blake  <ebb9@byu.net>
42625
42626         * tests/test-yesno.sh: Silence stderr during test.
42627
42628 2007-10-22  Simon Josefsson  <simon@josefsson.org>
42629
42630         * modules/crypto/gc-camellia: New file.
42631
42632         * m4/gc-camellia.m4: New file.
42633
42634         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
42635
42636         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
42637
42638 2007-10-22  Simon Josefsson  <simon@josefsson.org>
42639
42640         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
42641         --help to stdout.  Reported by sms@antinode.org (Steven
42642         M. Schweda).
42643
42644 2007-10-22  Simon Josefsson  <simon@josefsson.org>
42645
42646         * users.txt: Fix link to libksba.
42647
42648 2007-10-21  Ben Pfaff  <blp@gnu.org>
42649
42650         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
42651         round.c roundf implementation that depends on floorf and ceilf to
42652         be tested unconditionally.
42653
42654 2007-10-21  Ben Pfaff  <blp@gnu.org>
42655
42656         * m4/check-libm-func.m4: Removed.
42657         * m4/check-math-lib.m4: New file.
42658         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
42659         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
42660         definition and lack of AC_LIBOBJ([roundf]).
42661         * m4/roundl.m4: Ditto, and similarly for roundl.
42662         * modules/round: Reference new m4 file.
42663         * modules/roundf: Ditto.
42664         * modules/roundl: Ditto.
42665         * tests/test-round2.c (main): Use ROUND instead of round.
42666         Bug report from Bruno Haible.
42667
42668 2007-10-21  Bruno Haible  <bruno@clisp.org>
42669
42670         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
42671         context.
42672
42673 2007-10-21  Bruno Haible  <bruno@clisp.org>
42674
42675         * tests/test-wcwidth.c (main): Allow negative result for some control
42676         characters.
42677
42678         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
42679         Needed on OSF/1 5.1.
42680
42681 2007-10-21  Bruno Haible  <bruno@clisp.org>
42682
42683         * tests/test-floorf1.c: Include isnanf.h.
42684         (main): Use isnanf() instead of isnan().
42685         * tests/test-ceilf1.c: Include isnanf.h.
42686         (main): Use isnanf() instead of isnan().
42687         * tests/test-truncf1.c: Include isnanf.h.
42688         (main): Use isnanf() instead of isnan().
42689         * tests/test-roundf1.c: Include isnanf.h.
42690         (main): Use isnanf() instead of isnan().
42691
42692 2007-10-21  Eric Blake  <ebb9@byu.net>
42693
42694         * users.txt: Update URL for m4.
42695
42696 2007-10-21  Bruno Haible  <bruno@clisp.org>
42697
42698         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
42699
42700 2007-10-21  Bruno Haible  <bruno@clisp.org>
42701
42702         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
42703         Git's management files if the CVS files are not present.
42704
42705 2007-10-20  Bruno Haible  <bruno@clisp.org>
42706
42707         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
42708         gcc-3.4.x.
42709
42710 2007-10-20  Ben Pfaff  <blp@gnu.org>
42711
42712         * lib/math.in.h: Declare round, roundf, roundl if we are providing
42713         implementations.
42714         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
42715         * lib/round.c: New file.
42716         * lib/roundf.c: New file.
42717         * lib/roundl.c: New file.
42718         * m4/round.m4: New file.
42719         * m4/roundf.m4: New file.
42720         * m4/roundl.m4: New file.
42721         * m4/check-libm-func-m4: New file.
42722         * modules/math: Replace round, roundf, roundl related @VARS@ in
42723         math.in.h.
42724         * modules/round: New file.
42725         * modules/round-tests: New file.
42726         * modules/roundf: New file.
42727         * modules/roundf-tests: New file.
42728         * modules/roundl: New file.
42729         * modules/roundl-tests: New file.
42730         * tests/test-round1.c: New file.
42731         * tests/test-round2.c: New file.
42732         * tests/test-roundf1.c: New file.
42733         * tests/test-roundf2.c: New file.
42734         * tests/test-roundl.c: New file.
42735         * doc/functions/round.texi: Mention round module.
42736         * doc/functions/roundf.texi: Mention roundf module.
42737         * doc/functions/roundl.texi: Mention roundl module.
42738         * MODULES.html.sh: Mention new modules.
42739         Thanks to Bruno Haible for suggestions.
42740
42741 2007-10-20  Jim Meyering  <meyering@redhat.com>
42742
42743         * lib/xprintf.c: Include <config.h> unconditionally.
42744
42745         Change xprintf's license to GPL.
42746         * modules/xprintf (License): s/LGPL/GPL/, since this module
42747         depends on modules (exit and exitfail) which are GPL.
42748         Suggestion from Bruno Haible.
42749
42750         xprintf fixes.
42751         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
42752         Use a clearer diagnostic.
42753         Patch from Bruno Haible.
42754
42755 2007-10-20  Bruno Haible  <bruno@clisp.org>
42756
42757         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
42758         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
42759         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42760
42761 2007-10-20  Bruno Haible  <bruno@clisp.org>
42762
42763         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
42764         precision in the comparison result > x - 1 or similar.
42765         * tests/test-ceilf2.c (correct_result_p): Likewise.
42766         * tests/test-truncf2.c (correct_result_p): Likewise.
42767         * tests/test-trunc2.c (correct_result_p): Likewise.
42768         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42769
42770 2007-10-20  Bruno Haible  <bruno@clisp.org>
42771
42772         * modules/ceil: New file.
42773         * m4/ceil.m4: New file.
42774         * doc/functions/ceil.texi: Mention the 'ceil' module.
42775
42776 2007-10-20  Bruno Haible  <bruno@clisp.org>
42777
42778         * modules/floor: New file.
42779         * m4/floor.m4: New file.
42780         * doc/functions/floor.texi: Mention the 'floor' module.
42781
42782 2007-10-20  Bruno Haible  <bruno@clisp.org>
42783
42784         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
42785         of %a.
42786         * modules/floorf-tests (Depends-on): Likewise.
42787         * modules/truncf-tests (Depends-on): Likewise.
42788         * modules/trunc-tests (Depends-on): Likewise.
42789         Reported by Ben Pfaff.
42790
42791 2007-10-19  Jim Meyering  <meyering@redhat.com>
42792
42793         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
42794         Don't bother testing specific errno values.  Just test ferror.
42795
42796         New module: xprintf
42797         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
42798
42799 2007-10-19  Bruno Haible  <bruno@clisp.org>
42800
42801         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
42802         syntax.
42803         * modules/javaexec (Makefile.am): Likewise.
42804         * modules/relocatable-prog (Makefile.am): Likewise.
42805         Suggested by Jim Meyering.
42806
42807 2007-10-18  Bruno Haible  <bruno@clisp.org>
42808
42809         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
42810         Reported by Jim Meyering.
42811
42812 2007-10-18  Eric Blake  <ebb9@byu.net>
42813
42814         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
42815
42816 2007-10-18  Bruno Haible  <bruno@clisp.org>
42817
42818         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
42819         the format string into writable memory. Needed in Fortify conditions.
42820
42821 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
42822             Bruno Haible  <bruno@clisp.org>
42823
42824         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
42825         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
42826         * modules/trim (Depends-on): Add mbchar.
42827         (configure.ac): Add gl_FUNC_MBRTOWC.
42828         (Makefile.am): Augment lib_SOURCES.
42829
42830 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
42831
42832         Modify glob.c to use fstatat and dirfd, to simplify it.
42833         Suggested by Eric Blake.
42834         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
42835         Don't include <stdbool.h>; not used.
42836         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
42837         (link_exists_p): Simplify implementation, since we can now assume
42838         dirfd and fstatat.
42839         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
42840
42841 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42842
42843         * gnulib-tool (func_get_dependencies): Fix sed script to
42844         match only tests.
42845
42846 2007-10-17  Bruno Haible  <bruno@clisp.org>
42847
42848         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
42849         allow locale names without encoding suffix.
42850         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
42851         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
42852
42853 2007-10-16  Bruno Haible  <bruno@clisp.org>
42854
42855         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
42856         * lib/getgroups.c (getgroups): Likewise.
42857         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
42858
42859 2007-10-16  Bruno Haible  <bruno@clisp.org>
42860
42861         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
42862         * modules/malloc-posix (License): Likewise.
42863         * modules/realloc-posix (License): Likewise.
42864         * modules/calloc-posix (License): Likewise.
42865         * modules/intprops (License): Change from GPL to LGPL, with
42866         Paul Eggert's approval.
42867
42868 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
42869
42870         Merge glibc changes into lib/glob.c.
42871
42872         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
42873         2007-10-15 04:59:03 UTC.  Here are the changes:
42874
42875         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
42876
42877         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
42878
42879         * lib/glob.c: Add some branch prediction throughout.
42880
42881         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
42882
42883         [BZ #5103]
42884         * lib/glob.c (glob): Recognize patterns starting \/.
42885
42886         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
42887
42888         [BZ #3996]
42889         * lib/glob.c (attribute_hidden): Define if not defined.
42890         (glob): Unescape dirname, filename or username when needed and not
42891         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
42892         is NULL.  Handle unescaped [ in pattern without closing ].
42893         Don't pass GLOB_CHECK down to recursive glob for directories.
42894         (__glob_pattern_type): New function.
42895         (__glob_pattern_p): Implement using __glob_pattern_type.
42896         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
42897         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
42898         Remove unreachable code.
42899
42900         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
42901
42902         * lib/glob.c (glob_in_dir): Add some comments and asserts to
42903         explain why there are no leaks.
42904
42905         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
42906
42907         [BZ #3253]
42908         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
42909         time, rather allocate increasingly bigger arrays of pointers, if
42910         possible with alloca, if too large with malloc.
42911
42912 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
42913
42914         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
42915         Problem reported by H.Merijn Brand in
42916         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
42917         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
42918         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
42919
42920 2007-10-15  Bruno Haible  <bruno@clisp.org>
42921
42922         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
42923         with explicit rpl_ prefix.
42924         * lib/fopen.c (fopen): Likewise.
42925         * lib/freopen.c (freopen): Likewise.
42926         * lib/iconv.c (iconv): Likewise.
42927         * lib/iconv_close.c (iconv_close): Likewise.
42928
42929 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42930
42931         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
42932
42933 2007-10-15  Bruno Haible  <bruno@clisp.org>
42934
42935         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
42936         <stddef.h> instead of <stdlib.h> since we only need NULL.
42937         Reported by Ben Pfaff <blp@cs.stanford.edu>.
42938
42939 2007-10-15  Bruno Haible  <bruno@clisp.org>
42940
42941         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
42942         Replace paragraph talking about LIBOBJS.
42943         Reported by Colin Watson <cjwatson@debian.org>.
42944
42945 2007-10-15  Bruno Haible  <bruno@clisp.org>
42946
42947         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
42948         <stdlib.h> before using NULL.
42949
42950 2007-10-15  Simon Josefsson  <simon@josefsson.org>
42951
42952         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
42953         Reported by Albert Chin <china@thewrittenword.com>.
42954
42955 2007-10-14  Bruno Haible  <bruno@clisp.org>
42956
42957         * modules/iconv_open-utf-tests: New file.
42958         * tests/test-iconv-utf.c: New file.
42959
42960         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
42961         * modules/iconv_open-utf: New file.
42962         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
42963         (iconv, iconv_close): New declarations.
42964         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
42965         be defined.
42966         (iconv_open): Add special handling of conversion between UTF-8 and
42967         UTF-{16,32}{BE,LE}.
42968         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
42969         * lib/iconv_close.c: New file.
42970         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
42971         gl_FUNC_ICONV_OPEN.
42972         (gl_FUNC_ICONV_OPEN): Use it.
42973         (gl_FUNC_ICONV_OPEN_UTF): New macro.
42974         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
42975         and REPLACE_ICONV_UTF.
42976         * modules/iconv_open (Depends-on): Add c-strcase.
42977         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
42978         ICONV_CONST.
42979         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
42980
42981 2007-10-13  Albert Chin  <china@thewrittenword.com>
42982             Bruno Haible  <bruno@clisp.org>
42983
42984         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
42985         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
42986
42987 2007-10-13  Bruno Haible  <bruno@clisp.org>
42988
42989         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
42990         defined, use the ISO C99 inline semantics.
42991         * lib/argp.h (ARGP_EI): Likewise.
42992
42993 2007-10-13  Bruno Haible  <bruno@clisp.org>
42994
42995         Handle 'inline' change in gcc 4.3.0.
42996         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
42997         argp_fmtstream_write, argp_fmtstream_set_lmargin,
42998         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
42999         argp_fmtstream_point): Disable 'extern' declaration if the function
43000         definition is going to be provided inline.
43001         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
43002         semantics, not the ISO C99 inline semantics.
43003         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
43004         'extern' declaration if the function definition is going to be provided
43005         inline.
43006         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
43007         the GNU C inline semantics, not the ISO C99 inline semantics. With
43008         GCC 4.2, avoid a warning.
43009
43010 2007-10-13  Bruno Haible  <bruno@clisp.org>
43011
43012         * lib/freading.h (freading): Enable the use of __freading for
43013         glibc >= 2.7.
43014         * lib/freading.c (freading): Likewise.
43015
43016 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43017
43018         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
43019         "warning: C99 inline functions are not supported; using GNU89".
43020
43021 2007-10-12  Bruno Haible  <bruno@clisp.org>
43022
43023         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
43024         of 2.
43025         * tests/test-ceilf2.c: New file.
43026         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
43027
43028         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
43029         * modules/ceilf-tests: Update.
43030
43031 2007-10-12  Bruno Haible  <bruno@clisp.org>
43032
43033         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
43034         of 2.
43035         * tests/test-floorf2.c: New file.
43036         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
43037
43038         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
43039         * modules/floorf-tests: Update.
43040
43041 2007-10-12  Bruno Haible  <bruno@clisp.org>
43042
43043         * tests/test-trunc2.c: New file.
43044         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
43045
43046         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
43047         * modules/trunc-tests: Update.
43048
43049 2007-10-12  Bruno Haible  <bruno@clisp.org>
43050
43051         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
43052         of 2.
43053         * tests/test-truncf2.c: New file.
43054         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
43055
43056         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
43057         * modules/truncf-tests: Update.
43058
43059 2007-10-11  Eric Blake  <ebb9@byu.net>
43060
43061         Don't claim strerror is broken on Interix.
43062         * doc/functions/strerror.texi (strerror): Known broken systems are
43063         now Solaris 8, and not Interix.
43064         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
43065         Interix on cross-compile.
43066         Reported by Martin Koeppe in
43067         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
43068
43069 2007-10-11  Bruno Haible  <bruno@clisp.org>
43070
43071         * modules/i-ring-tests: New file.
43072         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
43073         instead of assert.
43074
43075 2007-10-11  Bruno Haible  <bruno@clisp.org>
43076
43077         * modules/filenamecat-tests: New file.
43078         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
43079         * lib/filenamecat.c: Remove test code.
43080
43081 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43082
43083         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
43084
43085         * lib/strerror.c: Include <string.h> always, to test interface,
43086         and to remove the need for the dummy.
43087         Include intprops.h to compute width instead of doing it ourselves
43088         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
43089         (strerror): Define it to return NULL if there's no system strerror.
43090         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
43091         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
43092         ancient pre-strerror Unix systems well any more.  Saying "unknown
43093         system error" is enough.
43094         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
43095         simpler strerror.c implementation.
43096         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
43097         Simplify the tests to reflect the simpler strerror implementation.
43098         * modules/strerror (Depends-on): Add intprops.
43099
43100 2007-10-09  Eric Blake  <ebb9@byu.net>
43101
43102         Silence test-fpending.
43103         * modules/fpending-tests (Files): Add wrapper script.
43104         * tests/test-fpending.sh: New file.
43105
43106 2007-10-09  Bruno Haible  <bruno@clisp.org>
43107
43108         * MODULES.html.sh (func_module): Don't create a hyperlink for
43109         function names like 'printf_frexp'.
43110         (Misc): Add crc, memxor.
43111         (Characteristics of floating types): New section.
43112         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
43113         isnanf-nolibm, signbit, trunc, truncf, truncl.
43114         (Enhancements for ISO C 99 functions): New subsection Input/output.
43115         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
43116         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
43117         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
43118         (Compatibility checks for POSIX:2001 functions): Add clock-time.
43119         (Enhancements for POSIX:2001 functions): Add chdir-long.
43120         (File system functions): Add areadlink, chdir-safer, read-file.
43121         Remove cycle-check.
43122         (File system as inode set): New section.
43123         (Date and time): Add gethrxtime.
43124         (Multithreading): Add openmp.
43125         (Internationalization functions): Add localename.
43126         (Unicode string functions): Add unistr/u*-mbsnlen.
43127         (Support for maintaining and releasing projects): Add git-version-gen.
43128         (Lone files): Remove directories.
43129
43130 2007-10-08  Ben Pfaff  <blp@gnu.org>
43131
43132         * lib/xmalloca.h: Fix typo in comment.
43133
43134 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
43135
43136         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
43137         when avoiding problems with integer overflow.  Use a portable test
43138         instead.
43139
43140 2007-10-08  Simon Josefsson  <simon@josefsson.org>
43141
43142         * modules/dummy (License): Change to LGPLv2+.
43143         * modules/float (License): Likewise
43144         * modules/realloc (License): Likewise
43145         * modules/stdlib (License): Likewise
43146
43147 2007-10-07  Bruno Haible  <bruno@clisp.org>
43148
43149         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
43150         * floor.c (TWO_MANT_DIG): Likewise.
43151         * ceil.c (TWO_MANT_DIG): Likewise.
43152         Reported by Ben Pfaff.
43153
43154 2007-10-07  Bruno Haible  <bruno@clisp.org>
43155
43156         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
43157         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
43158         * lib/frexp.c (FUNC): Likewise.
43159         * lib/printf-frexp.h (printf_frexp): Likewise.
43160         * lib/printf-frexpl.h (printf_frexpl): Likewise.
43161         * lib/printf-frexp.c (FUNC): Likewise.
43162         Suggested by Jim Meyering.
43163
43164 2007-10-07  Jim Meyering  <meyering@redhat.com>
43165
43166         Make xnanosleep's integer overflow test more robust.
43167         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
43168         so that gcc-4.3.0 doesn't optimize away this test for overflow.
43169
43170 2007-10-07  Bruno Haible  <bruno@clisp.org>
43171
43172         * NEWS: Mention the license change.
43173
43174         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
43175         abbreviations in the modules files.
43176
43177         Change copyright notice from GPLv2+ to GPLv3+.
43178         * README: Change copyright notice.
43179         * MODULES.html.sh: Likewise.
43180         * build-aux/bootstrap.conf: Likewise.
43181         * build-aux/config.libpath: Likewise.
43182         * build-aux/csharpcomp.sh.in: Likewise.
43183         * build-aux/csharpexec.sh.in: Likewise.
43184         * build-aux/install-reloc: Likewise.
43185         * build-aux/javacomp.sh.in: Likewise.
43186         * build-aux/javaexec.sh.in: Likewise.
43187         * build-aux/ldd.sh.in: Likewise.
43188         * build-aux/reloc-ldflags: Likewise.
43189         * build-aux/relocatable.sh.in: Likewise.
43190         * build-aux/x-to-1.in: Likewise.
43191         * check-module: Likewise.
43192         * config/srclistvars.sh: Likewise.
43193         * gnulib-tool: Likewise.
43194         * lib/acl-internal.h: Likewise.
43195         * lib/acl.c: Likewise.
43196         * lib/acl.h: Likewise.
43197         * lib/acl_entries.c: Likewise.
43198         * lib/areadlink-with-size.c: Likewise.
43199         * lib/areadlink.c: Likewise.
43200         * lib/areadlink.h: Likewise.
43201         * lib/argmatch.c: Likewise.
43202         * lib/argmatch.h: Likewise.
43203         * lib/argp-ba.c: Likewise.
43204         * lib/argp-eexst.c: Likewise.
43205         * lib/argp-fmtstream.c: Likewise.
43206         * lib/argp-fmtstream.h: Likewise.
43207         * lib/argp-fs-xinl.c: Likewise.
43208         * lib/argp-help.c: Likewise.
43209         * lib/argp-namefrob.h: Likewise.
43210         * lib/argp-parse.c: Likewise.
43211         * lib/argp-pin.c: Likewise.
43212         * lib/argp-pv.c: Likewise.
43213         * lib/argp-pvh.c: Likewise.
43214         * lib/argp-xinl.c: Likewise.
43215         * lib/argp.h: Likewise.
43216         * lib/at-func.c: Likewise.
43217         * lib/atanl.c: Likewise.
43218         * lib/backupfile.c: Likewise.
43219         * lib/backupfile.h: Likewise.
43220         * lib/basename.c: Likewise.
43221         * lib/binary-io.h: Likewise.
43222         * lib/byteswap.in.h: Likewise.
43223         * lib/c-stack.c: Likewise.
43224         * lib/c-stack.h: Likewise.
43225         * lib/c-strcasestr.c: Likewise.
43226         * lib/c-strcasestr.h: Likewise.
43227         * lib/c-strstr.c: Likewise.
43228         * lib/c-strstr.h: Likewise.
43229         * lib/c-strtod.c: Likewise.
43230         * lib/calloc.c: Likewise.
43231         * lib/canon-host.c: Likewise.
43232         * lib/canon-host.h: Likewise.
43233         * lib/canonicalize-lgpl.c: Likewise.
43234         * lib/canonicalize.c: Likewise.
43235         * lib/canonicalize.h: Likewise.
43236         * lib/ceil.c: Likewise.
43237         * lib/ceilf.c: Likewise.
43238         * lib/ceill.c: Likewise.
43239         * lib/chdir-long.c: Likewise.
43240         * lib/chdir-long.h: Likewise.
43241         * lib/chdir-safer.c: Likewise.
43242         * lib/chdir-safer.h: Likewise.
43243         * lib/chown.c: Likewise.
43244         * lib/classpath.c: Likewise.
43245         * lib/classpath.h: Likewise.
43246         * lib/clean-temp.c: Likewise.
43247         * lib/clean-temp.h: Likewise.
43248         * lib/cloexec.c: Likewise.
43249         * lib/close-stream.c: Likewise.
43250         * lib/closein.c: Likewise.
43251         * lib/closein.h: Likewise.
43252         * lib/closeout.c: Likewise.
43253         * lib/closeout.h: Likewise.
43254         * lib/concat-filename.c: Likewise.
43255         * lib/copy-file.c: Likewise.
43256         * lib/copy-file.h: Likewise.
43257         * lib/count-one-bits.h: Likewise.
43258         * lib/crc.c: Likewise.
43259         * lib/crc.h: Likewise.
43260         * lib/creat-safer.c: Likewise.
43261         * lib/csharpcomp.c: Likewise.
43262         * lib/csharpcomp.h: Likewise.
43263         * lib/csharpexec.c: Likewise.
43264         * lib/csharpexec.h: Likewise.
43265         * lib/cycle-check.c: Likewise.
43266         * lib/cycle-check.h: Likewise.
43267         * lib/diacrit.c: Likewise.
43268         * lib/diacrit.h: Likewise.
43269         * lib/diffseq.h: Likewise.
43270         * lib/dirchownmod.c: Likewise.
43271         * lib/dirent.in.h: Likewise.
43272         * lib/dirfd.c: Likewise.
43273         * lib/dirfd.h: Likewise.
43274         * lib/dirname.c: Likewise.
43275         * lib/dirname.h: Likewise.
43276         * lib/dummy.c: Likewise.
43277         * lib/dup-safer.c: Likewise.
43278         * lib/dup2.c: Likewise.
43279         * lib/eealloc.h: Likewise.
43280         * lib/error.c: Likewise.
43281         * lib/error.h: Likewise.
43282         * lib/euidaccess.c: Likewise.
43283         * lib/exclude.c: Likewise.
43284         * lib/exclude.h: Likewise.
43285         * lib/execute.c: Likewise.
43286         * lib/execute.h: Likewise.
43287         * lib/exitfail.c: Likewise.
43288         * lib/exitfail.h: Likewise.
43289         * lib/expl.c: Likewise.
43290         * lib/fatal-signal.c: Likewise.
43291         * lib/fatal-signal.h: Likewise.
43292         * lib/fbufmode.c: Likewise.
43293         * lib/fbufmode.h: Likewise.
43294         * lib/fchdir.c: Likewise.
43295         * lib/fchmodat.c: Likewise.
43296         * lib/fchownat.c: Likewise.
43297         * lib/fcntl--.h: Likewise.
43298         * lib/fcntl-safer.h: Likewise.
43299         * lib/fcntl.in.h: Likewise.
43300         * lib/fd-safer.c: Likewise.
43301         * lib/fflush.c: Likewise.
43302         * lib/file-has-acl.c: Likewise.
43303         * lib/file-set.c: Likewise.
43304         * lib/file-type.c: Likewise.
43305         * lib/file-type.h: Likewise.
43306         * lib/fileblocks.c: Likewise.
43307         * lib/filemode.c: Likewise.
43308         * lib/filemode.h: Likewise.
43309         * lib/filename.h: Likewise.
43310         * lib/filenamecat.c: Likewise.
43311         * lib/filenamecat.h: Likewise.
43312         * lib/findprog.c: Likewise.
43313         * lib/findprog.h: Likewise.
43314         * lib/float.in.h: Likewise.
43315         * lib/floor.c: Likewise.
43316         * lib/floorf.c: Likewise.
43317         * lib/floorl.c: Likewise.
43318         * lib/fopen-safer.c: Likewise.
43319         * lib/fopen.c: Likewise.
43320         * lib/fpending.c: Likewise.
43321         * lib/fpending.h: Likewise.
43322         * lib/fprintf.c: Likewise.
43323         * lib/fprintftime.h: Likewise.
43324         * lib/fpucw.h: Likewise.
43325         * lib/fpurge.c: Likewise.
43326         * lib/fpurge.h: Likewise.
43327         * lib/freadable.c: Likewise.
43328         * lib/freadable.h: Likewise.
43329         * lib/freadahead.c: Likewise.
43330         * lib/freadahead.h: Likewise.
43331         * lib/freading.c: Likewise.
43332         * lib/freading.h: Likewise.
43333         * lib/free.c: Likewise.
43334         * lib/freopen.c: Likewise.
43335         * lib/frexp.c: Likewise.
43336         * lib/frexpl.c: Likewise.
43337         * lib/fseek.c: Likewise.
43338         * lib/fseterr.c: Likewise.
43339         * lib/fseterr.h: Likewise.
43340         * lib/fstatat.c: Likewise.
43341         * lib/fstrcmp.c: Likewise.
43342         * lib/fstrcmp.h: Likewise.
43343         * lib/fsusage.c: Likewise.
43344         * lib/fsusage.h: Likewise.
43345         * lib/ftell.c: Likewise.
43346         * lib/ftello.c: Likewise.
43347         * lib/fts-cycle.c: Likewise.
43348         * lib/fts.c: Likewise.
43349         * lib/fts_.h: Likewise.
43350         * lib/full-read.c: Likewise.
43351         * lib/full-read.h: Likewise.
43352         * lib/full-write.c: Likewise.
43353         * lib/full-write.h: Likewise.
43354         * lib/fwritable.c: Likewise.
43355         * lib/fwritable.h: Likewise.
43356         * lib/fwriteerror.c: Likewise.
43357         * lib/fwriteerror.h: Likewise.
43358         * lib/fwriting.c: Likewise.
43359         * lib/fwriting.h: Likewise.
43360         * lib/gcd.c: Likewise.
43361         * lib/gcd.h: Likewise.
43362         * lib/getcwd.c: Likewise.
43363         * lib/getdate.h: Likewise.
43364         * lib/getdate.y: Likewise.
43365         * lib/getdomainname.c: Likewise.
43366         * lib/getdomainname.h: Likewise.
43367         * lib/getgroups.c: Likewise.
43368         * lib/gethostname.c: Likewise.
43369         * lib/gethrxtime.c: Likewise.
43370         * lib/gethrxtime.h: Likewise.
43371         * lib/getloadavg.c: Likewise.
43372         * lib/getndelim2.c: Likewise.
43373         * lib/getndelim2.h: Likewise.
43374         * lib/getnline.c: Likewise.
43375         * lib/getnline.h: Likewise.
43376         * lib/getopt.c: Likewise.
43377         * lib/getopt.in.h: Likewise.
43378         * lib/getopt1.c: Likewise.
43379         * lib/getopt_int.h: Likewise.
43380         * lib/getpagesize.h: Likewise.
43381         * lib/getsubopt.c: Likewise.
43382         * lib/gettime.c: Likewise.
43383         * lib/getugroups.c: Likewise.
43384         * lib/getugroups.h: Likewise.
43385         * lib/getusershell.c: Likewise.
43386         * lib/gl_anyavltree_list1.h: Likewise.
43387         * lib/gl_anyavltree_list2.h: Likewise.
43388         * lib/gl_anyhash_list1.h: Likewise.
43389         * lib/gl_anyhash_list2.h: Likewise.
43390         * lib/gl_anylinked_list1.h: Likewise.
43391         * lib/gl_anylinked_list2.h: Likewise.
43392         * lib/gl_anyrbtree_list1.h: Likewise.
43393         * lib/gl_anyrbtree_list2.h: Likewise.
43394         * lib/gl_anytree_list1.h: Likewise.
43395         * lib/gl_anytree_list2.h: Likewise.
43396         * lib/gl_anytree_oset.h: Likewise.
43397         * lib/gl_anytreehash_list1.h: Likewise.
43398         * lib/gl_anytreehash_list2.h: Likewise.
43399         * lib/gl_array_list.c: Likewise.
43400         * lib/gl_array_list.h: Likewise.
43401         * lib/gl_array_oset.c: Likewise.
43402         * lib/gl_array_oset.h: Likewise.
43403         * lib/gl_avltree_list.c: Likewise.
43404         * lib/gl_avltree_list.h: Likewise.
43405         * lib/gl_avltree_oset.c: Likewise.
43406         * lib/gl_avltree_oset.h: Likewise.
43407         * lib/gl_avltreehash_list.c: Likewise.
43408         * lib/gl_avltreehash_list.h: Likewise.
43409         * lib/gl_carray_list.c: Likewise.
43410         * lib/gl_carray_list.h: Likewise.
43411         * lib/gl_linked_list.c: Likewise.
43412         * lib/gl_linked_list.h: Likewise.
43413         * lib/gl_linkedhash_list.c: Likewise.
43414         * lib/gl_linkedhash_list.h: Likewise.
43415         * lib/gl_list.c: Likewise.
43416         * lib/gl_list.h: Likewise.
43417         * lib/gl_oset.c: Likewise.
43418         * lib/gl_oset.h: Likewise.
43419         * lib/gl_rbtree_list.c: Likewise.
43420         * lib/gl_rbtree_list.h: Likewise.
43421         * lib/gl_rbtree_oset.c: Likewise.
43422         * lib/gl_rbtree_oset.h: Likewise.
43423         * lib/gl_rbtreehash_list.c: Likewise.
43424         * lib/gl_rbtreehash_list.h: Likewise.
43425         * lib/gl_sublist.c: Likewise.
43426         * lib/gl_sublist.h: Likewise.
43427         * lib/group-member.c: Likewise.
43428         * lib/group-member.h: Likewise.
43429         * lib/hard-locale.c: Likewise.
43430         * lib/hard-locale.h: Likewise.
43431         * lib/hash-pjw.c: Likewise.
43432         * lib/hash-pjw.h: Likewise.
43433         * lib/hash-triple.c: Likewise.
43434         * lib/hash.c: Likewise.
43435         * lib/hash.h: Likewise.
43436         * lib/human.c: Likewise.
43437         * lib/human.h: Likewise.
43438         * lib/i-ring.c: Likewise.
43439         * lib/i-ring.h: Likewise.
43440         * lib/idcache.c: Likewise.
43441         * lib/imaxabs.c: Likewise.
43442         * lib/imaxdiv.c: Likewise.
43443         * lib/inet_pton.c: Likewise.
43444         * lib/inet_pton.h: Likewise.
43445         * lib/intprops.h: Likewise.
43446         * lib/inttostr.c: Likewise.
43447         * lib/inttostr.h: Likewise.
43448         * lib/inttypes.in.h: Likewise.
43449         * lib/isapipe.c: Likewise.
43450         * lib/isdir.c: Likewise.
43451         * lib/isnan.c: Likewise.
43452         * lib/isnan.h: Likewise.
43453         * lib/isnanf.c: Likewise.
43454         * lib/isnanf.h: Likewise.
43455         * lib/isnanl-nolibm.h: Likewise.
43456         * lib/isnanl.c: Likewise.
43457         * lib/isnanl.h: Likewise.
43458         * lib/javacomp.c: Likewise.
43459         * lib/javacomp.h: Likewise.
43460         * lib/javaexec.c: Likewise.
43461         * lib/javaexec.h: Likewise.
43462         * lib/javaversion.c: Likewise.
43463         * lib/javaversion.h: Likewise.
43464         * lib/javaversion.java: Likewise.
43465         * lib/lbrkprop.h: Likewise.
43466         * lib/lchmod.h: Likewise.
43467         * lib/lchown.c: Likewise.
43468         * lib/ldexpl.c: Likewise.
43469         * lib/linebreak.c: Likewise.
43470         * lib/linebreak.h: Likewise.
43471         * lib/linebuffer.c: Likewise.
43472         * lib/linebuffer.h: Likewise.
43473         * lib/locale.in.h: Likewise.
43474         * lib/logl.c: Likewise.
43475         * lib/long-options.c: Likewise.
43476         * lib/long-options.h: Likewise.
43477         * lib/lstat.c: Likewise.
43478         * lib/lstat.h: Likewise.
43479         * lib/math.in.h: Likewise.
43480         * lib/mbchar.c: Likewise.
43481         * lib/mbchar.h: Likewise.
43482         * lib/mbfile.h: Likewise.
43483         * lib/mbiter.h: Likewise.
43484         * lib/mbscasecmp.c: Likewise.
43485         * lib/mbscasestr.c: Likewise.
43486         * lib/mbschr.c: Likewise.
43487         * lib/mbscspn.c: Likewise.
43488         * lib/mbslen.c: Likewise.
43489         * lib/mbsncasecmp.c: Likewise.
43490         * lib/mbsnlen.c: Likewise.
43491         * lib/mbspbrk.c: Likewise.
43492         * lib/mbspcasecmp.c: Likewise.
43493         * lib/mbsrchr.c: Likewise.
43494         * lib/mbssep.c: Likewise.
43495         * lib/mbsspn.c: Likewise.
43496         * lib/mbsstr.c: Likewise.
43497         * lib/mbstok_r.c: Likewise.
43498         * lib/mbswidth.c: Likewise.
43499         * lib/mbswidth.h: Likewise.
43500         * lib/mbuiter.h: Likewise.
43501         * lib/memcasecmp.c: Likewise.
43502         * lib/memcasecmp.h: Likewise.
43503         * lib/memchr.c: Likewise.
43504         * lib/memcmp.c: Likewise.
43505         * lib/memcoll.c: Likewise.
43506         * lib/memcoll.h: Likewise.
43507         * lib/memcpy.c: Likewise.
43508         * lib/memrchr.c: Likewise.
43509         * lib/mkancesdirs.c: Likewise.
43510         * lib/mkdir-p.c: Likewise.
43511         * lib/mkdir-p.h: Likewise.
43512         * lib/mkdir.c: Likewise.
43513         * lib/mkdirat.c: Likewise.
43514         * lib/mkdtemp.c: Likewise.
43515         * lib/mkstemp-safer.c: Likewise.
43516         * lib/mkstemp.c: Likewise.
43517         * lib/modechange.c: Likewise.
43518         * lib/modechange.h: Likewise.
43519         * lib/mountlist.c: Likewise.
43520         * lib/mountlist.h: Likewise.
43521         * lib/mpsort.c: Likewise.
43522         * lib/nanosleep.c: Likewise.
43523         * lib/obstack.c: Likewise.
43524         * lib/obstack.h: Likewise.
43525         * lib/open-safer.c: Likewise.
43526         * lib/open.c: Likewise.
43527         * lib/openat-die.c: Likewise.
43528         * lib/openat-priv.h: Likewise.
43529         * lib/openat-proc.c: Likewise.
43530         * lib/openat.c: Likewise.
43531         * lib/openat.h: Likewise.
43532         * lib/pagealign_alloc.c: Likewise.
43533         * lib/pagealign_alloc.h: Likewise.
43534         * lib/physmem.c: Likewise.
43535         * lib/physmem.h: Likewise.
43536         * lib/pipe-safer.c: Likewise.
43537         * lib/pipe.c: Likewise.
43538         * lib/pipe.h: Likewise.
43539         * lib/posixtm.c: Likewise.
43540         * lib/posixtm.h: Likewise.
43541         * lib/posixver.c: Likewise.
43542         * lib/printf-frexp.c: Likewise.
43543         * lib/printf-frexp.h: Likewise.
43544         * lib/printf-frexpl.c: Likewise.
43545         * lib/printf-frexpl.h: Likewise.
43546         * lib/printf.c: Likewise.
43547         * lib/progname.c: Likewise.
43548         * lib/progname.h: Likewise.
43549         * lib/progreloc.c: Likewise.
43550         * lib/putenv.c: Likewise.
43551         * lib/quote.c: Likewise.
43552         * lib/quote.h: Likewise.
43553         * lib/quotearg.c: Likewise.
43554         * lib/quotearg.h: Likewise.
43555         * lib/raise.c: Likewise.
43556         * lib/readline.c: Likewise.
43557         * lib/readline.h: Likewise.
43558         * lib/readlink.c: Likewise.
43559         * lib/readtokens.c: Likewise.
43560         * lib/readtokens.h: Likewise.
43561         * lib/readtokens0.c: Likewise.
43562         * lib/readtokens0.h: Likewise.
43563         * lib/readutmp.c: Likewise.
43564         * lib/readutmp.h: Likewise.
43565         * lib/realloc.c: Likewise.
43566         * lib/relocwrapper.c: Likewise.
43567         * lib/rename-dest-slash.c: Likewise.
43568         * lib/rename.c: Likewise.
43569         * lib/rmdir.c: Likewise.
43570         * lib/rpmatch.c: Likewise.
43571         * lib/safe-read.c: Likewise.
43572         * lib/safe-read.h: Likewise.
43573         * lib/safe-write.c: Likewise.
43574         * lib/safe-write.h: Likewise.
43575         * lib/same-inode.h: Likewise.
43576         * lib/same.c: Likewise.
43577         * lib/same.h: Likewise.
43578         * lib/save-cwd.c: Likewise.
43579         * lib/save-cwd.h: Likewise.
43580         * lib/savedir.c: Likewise.
43581         * lib/savedir.h: Likewise.
43582         * lib/savewd.c: Likewise.
43583         * lib/savewd.h: Likewise.
43584         * lib/search.in.h: Likewise.
43585         * lib/setenv.c: Likewise.
43586         * lib/setenv.h: Likewise.
43587         * lib/settime.c: Likewise.
43588         * lib/sh-quote.c: Likewise.
43589         * lib/sh-quote.h: Likewise.
43590         * lib/sig2str.c: Likewise.
43591         * lib/sig2str.h: Likewise.
43592         * lib/signal.in.h: Likewise.
43593         * lib/signbitd.c: Likewise.
43594         * lib/signbitf.c: Likewise.
43595         * lib/signbitl.c: Likewise.
43596         * lib/sigprocmask.c: Likewise.
43597         * lib/sincosl.c: Likewise.
43598         * lib/sleep.c: Likewise.
43599         * lib/sprintf.c: Likewise.
43600         * lib/sqrtl.c: Likewise.
43601         * lib/stat-time.h: Likewise.
43602         * lib/stdio--.h: Likewise.
43603         * lib/stdio-safer.h: Likewise.
43604         * lib/stdlib--.h: Likewise.
43605         * lib/stdlib-safer.h: Likewise.
43606         * lib/stdlib.in.h: Likewise.
43607         * lib/stpcpy.c: Likewise.
43608         * lib/stpncpy.c: Likewise.
43609         * lib/strchrnul.c: Likewise.
43610         * lib/strcspn.c: Likewise.
43611         * lib/strerror.c: Likewise.
43612         * lib/strftime.c: Likewise.
43613         * lib/strftime.h: Likewise.
43614         * lib/striconveh.c: Likewise.
43615         * lib/striconveh.h: Likewise.
43616         * lib/striconveha.c: Likewise.
43617         * lib/striconveha.h: Likewise.
43618         * lib/stripslash.c: Likewise.
43619         * lib/strnlen1.c: Likewise.
43620         * lib/strnlen1.h: Likewise.
43621         * lib/strtod.c: Likewise.
43622         * lib/strtoimax.c: Likewise.
43623         * lib/strtok_r.c: Likewise.
43624         * lib/strtol.c: Likewise.
43625         * lib/strtoll.c: Likewise.
43626         * lib/strtoul.c: Likewise.
43627         * lib/strtoull.c: Likewise.
43628         * lib/sysexits.in.h: Likewise.
43629         * lib/tempname.c: Likewise.
43630         * lib/tempname.h: Likewise.
43631         * lib/timespec.h: Likewise.
43632         * lib/tls.c: Likewise.
43633         * lib/tls.h: Likewise.
43634         * lib/tmpdir.c: Likewise.
43635         * lib/tmpdir.h: Likewise.
43636         * lib/tmpfile-safer.c: Likewise.
43637         * lib/tmpfile.c: Likewise.
43638         * lib/trigl.c: Likewise.
43639         * lib/trigl.h: Likewise.
43640         * lib/trim.c: Likewise.
43641         * lib/trim.h: Likewise.
43642         * lib/trunc.c: Likewise.
43643         * lib/truncf.c: Likewise.
43644         * lib/truncl.c: Likewise.
43645         * lib/tsearch.c: Likewise.
43646         * lib/unicodeio.c: Likewise.
43647         * lib/unicodeio.h: Likewise.
43648         * lib/unistd--.h: Likewise.
43649         * lib/unistd-safer.h: Likewise.
43650         * lib/unistdio/ulc-fprintf.c: Likewise.
43651         * lib/unistdio/ulc-vfprintf.c: Likewise.
43652         * lib/unlinkdir.c: Likewise.
43653         * lib/unlinkdir.h: Likewise.
43654         * lib/unlocked-io.h: Likewise.
43655         * lib/unsetenv.c: Likewise.
43656         * lib/userspec.c: Likewise.
43657         * lib/utime.c: Likewise.
43658         * lib/utimecmp.c: Likewise.
43659         * lib/utimecmp.h: Likewise.
43660         * lib/utimens.c: Likewise.
43661         * lib/verify.h: Likewise.
43662         * lib/verror.c: Likewise.
43663         * lib/verror.h: Likewise.
43664         * lib/version-etc-fsf.c: Likewise.
43665         * lib/version-etc.c: Likewise.
43666         * lib/version-etc.h: Likewise.
43667         * lib/vfprintf.c: Likewise.
43668         * lib/vprintf.c: Likewise.
43669         * lib/vsprintf.c: Likewise.
43670         * lib/w32spawn.h: Likewise.
43671         * lib/wait-process.c: Likewise.
43672         * lib/wait-process.h: Likewise.
43673         * lib/wcwidth.c: Likewise.
43674         * lib/write-any-file.c: Likewise.
43675         * lib/xalloc-die.c: Likewise.
43676         * lib/xalloc.h: Likewise.
43677         * lib/xasprintf.c: Likewise.
43678         * lib/xgetcwd.c: Likewise.
43679         * lib/xgetcwd.h: Likewise.
43680         * lib/xgetdomainname.c: Likewise.
43681         * lib/xgetdomainname.h: Likewise.
43682         * lib/xgethostname.c: Likewise.
43683         * lib/xmalloc.c: Likewise.
43684         * lib/xmalloca.c: Likewise.
43685         * lib/xmalloca.h: Likewise.
43686         * lib/xmemcoll.c: Likewise.
43687         * lib/xnanosleep.c: Likewise.
43688         * lib/xreadlink.c: Likewise.
43689         * lib/xreadlink.h: Likewise.
43690         * lib/xsetenv.c: Likewise.
43691         * lib/xsetenv.h: Likewise.
43692         * lib/xstriconv.c: Likewise.
43693         * lib/xstriconv.h: Likewise.
43694         * lib/xstrndup.c: Likewise.
43695         * lib/xstrndup.h: Likewise.
43696         * lib/xstrtod.c: Likewise.
43697         * lib/xstrtod.h: Likewise.
43698         * lib/xstrtol-error.c: Likewise.
43699         * lib/xstrtol.c: Likewise.
43700         * lib/xstrtol.h: Likewise.
43701         * lib/xtime.h: Likewise.
43702         * lib/xvasprintf.c: Likewise.
43703         * lib/xvasprintf.h: Likewise.
43704         * lib/yesno.c: Likewise.
43705         * lib/yesno.h: Likewise.
43706         * posix-modules: Likewise.
43707         * tests/test-alloca-opt.c: Likewise.
43708         * tests/test-arcfour.c: Likewise.
43709         * tests/test-arctwo.c: Likewise.
43710         * tests/test-argmatch.c: Likewise.
43711         * tests/test-argp-2.sh: Likewise.
43712         * tests/test-argp.c: Likewise.
43713         * tests/test-arpa_inet.c: Likewise.
43714         * tests/test-array_list.c: Likewise.
43715         * tests/test-array_oset.c: Likewise.
43716         * tests/test-atexit.c: Likewise.
43717         * tests/test-avltree_list.c: Likewise.
43718         * tests/test-avltree_oset.c: Likewise.
43719         * tests/test-avltreehash_list.c: Likewise.
43720         * tests/test-base64.c: Likewise.
43721         * tests/test-binary-io.c: Likewise.
43722         * tests/test-byteswap.c: Likewise.
43723         * tests/test-c-ctype.c: Likewise.
43724         * tests/test-c-strcasecmp.c: Likewise.
43725         * tests/test-c-strcasestr.c: Likewise.
43726         * tests/test-c-strncasecmp.c: Likewise.
43727         * tests/test-c-strstr.c: Likewise.
43728         * tests/test-canonicalize-lgpl.c: Likewise.
43729         * tests/test-canonicalize.c: Likewise.
43730         * tests/test-carray_list.c: Likewise.
43731         * tests/test-ceilf.c: Likewise.
43732         * tests/test-ceill.c: Likewise.
43733         * tests/test-count-one-bits.c: Likewise.
43734         * tests/test-crc.c: Likewise.
43735         * tests/test-dirname.c: Likewise.
43736         * tests/test-fbufmode.c: Likewise.
43737         * tests/test-fcntl.c: Likewise.
43738         * tests/test-fflush.c: Likewise.
43739         * tests/test-floorf.c: Likewise.
43740         * tests/test-floorl.c: Likewise.
43741         * tests/test-fopen.c: Likewise.
43742         * tests/test-fprintf-posix.c: Likewise.
43743         * tests/test-fprintf-posix.h: Likewise.
43744         * tests/test-fpurge.c: Likewise.
43745         * tests/test-freadable.c: Likewise.
43746         * tests/test-freadahead.c: Likewise.
43747         * tests/test-freading.c: Likewise.
43748         * tests/test-freopen.c: Likewise.
43749         * tests/test-frexp.c: Likewise.
43750         * tests/test-frexpl.c: Likewise.
43751         * tests/test-fseek.c: Likewise.
43752         * tests/test-fseeko.c: Likewise.
43753         * tests/test-fseterr.c: Likewise.
43754         * tests/test-fstrcmp.c: Likewise.
43755         * tests/test-ftell.c: Likewise.
43756         * tests/test-ftello.c: Likewise.
43757         * tests/test-fwritable.c: Likewise.
43758         * tests/test-fwriting.c: Likewise.
43759         * tests/test-getaddrinfo.c: Likewise.
43760         * tests/test-getpass.c: Likewise.
43761         * tests/test-gettimeofday.c: Likewise.
43762         * tests/test-hmac-md5.c: Likewise.
43763         * tests/test-hmac-sha1.c: Likewise.
43764         * tests/test-iconv.c: Likewise.
43765         * tests/test-iconvme.c: Likewise.
43766         * tests/test-inttypes.c: Likewise.
43767         * tests/test-isnan.c: Likewise.
43768         * tests/test-isnanf.c: Likewise.
43769         * tests/test-isnanl-nolibm.c: Likewise.
43770         * tests/test-isnanl.c: Likewise.
43771         * tests/test-isnanl.h: Likewise.
43772         * tests/test-ldexpl.c: Likewise.
43773         * tests/test-linked_list.c: Likewise.
43774         * tests/test-linkedhash_list.c: Likewise.
43775         * tests/test-locale.c: Likewise.
43776         * tests/test-localename.c: Likewise.
43777         * tests/test-lock.c: Likewise.
43778         * tests/test-lseek.c: Likewise.
43779         * tests/test-malloca.c: Likewise.
43780         * tests/test-math.c: Likewise.
43781         * tests/test-mbscasecmp.c: Likewise.
43782         * tests/test-mbscasestr1.c: Likewise.
43783         * tests/test-mbscasestr2.c: Likewise.
43784         * tests/test-mbscasestr3.c: Likewise.
43785         * tests/test-mbscasestr4.c: Likewise.
43786         * tests/test-mbschr.c: Likewise.
43787         * tests/test-mbscspn.c: Likewise.
43788         * tests/test-mbsncasecmp.c: Likewise.
43789         * tests/test-mbspbrk.c: Likewise.
43790         * tests/test-mbspcasecmp.c: Likewise.
43791         * tests/test-mbsrchr.c: Likewise.
43792         * tests/test-mbsspn.c: Likewise.
43793         * tests/test-mbsstr1.c: Likewise.
43794         * tests/test-mbsstr2.c: Likewise.
43795         * tests/test-mbsstr3.c: Likewise.
43796         * tests/test-md5.c: Likewise.
43797         * tests/test-memmem.c: Likewise.
43798         * tests/test-netinet_in.c: Likewise.
43799         * tests/test-open.c: Likewise.
43800         * tests/test-printf-frexp.c: Likewise.
43801         * tests/test-printf-frexpl.c: Likewise.
43802         * tests/test-printf-posix.c: Likewise.
43803         * tests/test-printf-posix.h: Likewise.
43804         * tests/test-rbtree_list.c: Likewise.
43805         * tests/test-rbtree_oset.c: Likewise.
43806         * tests/test-rbtreehash_list.c: Likewise.
43807         * tests/test-read-file.c: Likewise.
43808         * tests/test-rijndael.c: Likewise.
43809         * tests/test-search.c: Likewise.
43810         * tests/test-signbit.c: Likewise.
43811         * tests/test-sleep.c: Likewise.
43812         * tests/test-snprintf-posix.c: Likewise.
43813         * tests/test-snprintf-posix.h: Likewise.
43814         * tests/test-snprintf.c: Likewise.
43815         * tests/test-sprintf-posix.c: Likewise.
43816         * tests/test-sprintf-posix.h: Likewise.
43817         * tests/test-stat-time.c: Likewise.
43818         * tests/test-stdbool.c: Likewise.
43819         * tests/test-stdint.c: Likewise.
43820         * tests/test-stdio.c: Likewise.
43821         * tests/test-stdlib.c: Likewise.
43822         * tests/test-stpncpy.c: Likewise.
43823         * tests/test-strcasestr.c: Likewise.
43824         * tests/test-striconv.c: Likewise.
43825         * tests/test-striconveh.c: Likewise.
43826         * tests/test-striconveha.c: Likewise.
43827         * tests/test-string.c: Likewise.
43828         * tests/test-sys_select.c: Likewise.
43829         * tests/test-sys_socket.c: Likewise.
43830         * tests/test-sys_stat.c: Likewise.
43831         * tests/test-sys_time.c: Likewise.
43832         * tests/test-sysexits.c: Likewise.
43833         * tests/test-time.c: Likewise.
43834         * tests/test-tls.c: Likewise.
43835         * tests/test-trunc.c: Likewise.
43836         * tests/test-truncf.c: Likewise.
43837         * tests/test-truncl.c: Likewise.
43838         * tests/test-unistd.c: Likewise.
43839         * tests/test-vasnprintf-posix.c: Likewise.
43840         * tests/test-vasnprintf-posix2.c: Likewise.
43841         * tests/test-vasnprintf.c: Likewise.
43842         * tests/test-vasprintf-posix.c: Likewise.
43843         * tests/test-vasprintf.c: Likewise.
43844         * tests/test-verify.c: Likewise.
43845         * tests/test-vfprintf-posix.c: Likewise.
43846         * tests/test-vprintf-posix.c: Likewise.
43847         * tests/test-vsnprintf-posix.c: Likewise.
43848         * tests/test-vsnprintf.c: Likewise.
43849         * tests/test-vsprintf-posix.c: Likewise.
43850         * tests/test-wchar.c: Likewise.
43851         * tests/test-wctype.c: Likewise.
43852         * tests/test-wcwidth.c: Likewise.
43853         * tests/test-xstrtol.c: Likewise.
43854         * tests/test-xvasprintf.c: Likewise.
43855         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
43856         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
43857         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
43858         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
43859         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
43860         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
43861         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
43862         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
43863         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
43864         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
43865         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
43866         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
43867         * tests/uniname/test-uninames.c: Likewise.
43868         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
43869         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
43870         * tests/unistdio/test-u16-printf1.h: Likewise.
43871         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
43872         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
43873         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
43874         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
43875         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
43876         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
43877         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
43878         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
43879         * tests/unistdio/test-u32-printf1.h: Likewise.
43880         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
43881         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
43882         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
43883         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
43884         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
43885         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
43886         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
43887         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
43888         * tests/unistdio/test-u8-printf1.h: Likewise.
43889         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
43890         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
43891         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
43892         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
43893         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
43894         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
43895         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
43896         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
43897         * tests/unistdio/test-ulc-printf1.h: Likewise.
43898         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
43899         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
43900         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
43901         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
43902         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
43903         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
43904         * tests/uniwidth/test-u16-strwidth.c: Likewise.
43905         * tests/uniwidth/test-u16-width.c: Likewise.
43906         * tests/uniwidth/test-u32-strwidth.c: Likewise.
43907         * tests/uniwidth/test-u32-width.c: Likewise.
43908         * tests/uniwidth/test-u8-strwidth.c: Likewise.
43909         * tests/uniwidth/test-u8-width.c: Likewise.
43910         * tests/uniwidth/test-uc_width.c: Likewise.
43911         * config/srclist-update: Likewise.
43912         (fixlicense): Update to GPLv3+.
43913
43914         Change copyright notice from LGPLv2.1+ to LGPLv3+.
43915         * tests/test-tsearch.c: Change copyright notice.
43916
43917         Change copyright notice from LGPLv2.0+ to LGPLv3+.
43918         * lib/c-strcaseeq.h: Change copyright notice.
43919         * lib/streq.h: Likewise.
43920         * lib/uniconv.h: Likewise.
43921         * lib/uniconv/u-conv-from-enc.h: Likewise.
43922         * lib/uniconv/u-conv-to-enc.h: Likewise.
43923         * lib/uniconv/u-strconv-from-enc.h: Likewise.
43924         * lib/uniconv/u-strconv-to-enc.h: Likewise.
43925         * lib/uniconv/u16-conv-from-enc.c: Likewise.
43926         * lib/uniconv/u16-conv-to-enc.c: Likewise.
43927         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
43928         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
43929         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
43930         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
43931         * lib/uniconv/u32-conv-from-enc.c: Likewise.
43932         * lib/uniconv/u32-conv-to-enc.c: Likewise.
43933         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
43934         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
43935         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
43936         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
43937         * lib/uniconv/u8-conv-from-enc.c: Likewise.
43938         * lib/uniconv/u8-conv-to-enc.c: Likewise.
43939         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
43940         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
43941         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
43942         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
43943         * lib/uniname.h: Likewise.
43944         * lib/uniname/uniname.c: Likewise.
43945         * lib/unistdio.h: Likewise.
43946         * lib/unistdio/u-asnprintf.h: Likewise.
43947         * lib/unistdio/u-asprintf.h: Likewise.
43948         * lib/unistdio/u-printf-args.c: Likewise.
43949         * lib/unistdio/u-printf-args.h: Likewise.
43950         * lib/unistdio/u-printf-parse.h: Likewise.
43951         * lib/unistdio/u-snprintf.h: Likewise.
43952         * lib/unistdio/u-sprintf.h: Likewise.
43953         * lib/unistdio/u-vasprintf.h: Likewise.
43954         * lib/unistdio/u-vsnprintf.h: Likewise.
43955         * lib/unistdio/u-vsprintf.h: Likewise.
43956         * lib/unistdio/u16-asnprintf.c: Likewise.
43957         * lib/unistdio/u16-asprintf.c: Likewise.
43958         * lib/unistdio/u16-printf-parse.c: Likewise.
43959         * lib/unistdio/u16-snprintf.c: Likewise.
43960         * lib/unistdio/u16-sprintf.c: Likewise.
43961         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
43962         * lib/unistdio/u16-u16-asprintf.c: Likewise.
43963         * lib/unistdio/u16-u16-snprintf.c: Likewise.
43964         * lib/unistdio/u16-u16-sprintf.c: Likewise.
43965         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
43966         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
43967         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
43968         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
43969         * lib/unistdio/u16-vasnprintf.c: Likewise.
43970         * lib/unistdio/u16-vasprintf.c: Likewise.
43971         * lib/unistdio/u16-vsnprintf.c: Likewise.
43972         * lib/unistdio/u16-vsprintf.c: Likewise.
43973         * lib/unistdio/u32-asnprintf.c: Likewise.
43974         * lib/unistdio/u32-asprintf.c: Likewise.
43975         * lib/unistdio/u32-printf-parse.c: Likewise.
43976         * lib/unistdio/u32-snprintf.c: Likewise.
43977         * lib/unistdio/u32-sprintf.c: Likewise.
43978         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
43979         * lib/unistdio/u32-u32-asprintf.c: Likewise.
43980         * lib/unistdio/u32-u32-snprintf.c: Likewise.
43981         * lib/unistdio/u32-u32-sprintf.c: Likewise.
43982         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
43983         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
43984         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
43985         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
43986         * lib/unistdio/u32-vasnprintf.c: Likewise.
43987         * lib/unistdio/u32-vasprintf.c: Likewise.
43988         * lib/unistdio/u32-vsnprintf.c: Likewise.
43989         * lib/unistdio/u32-vsprintf.c: Likewise.
43990         * lib/unistdio/u8-asnprintf.c: Likewise.
43991         * lib/unistdio/u8-asprintf.c: Likewise.
43992         * lib/unistdio/u8-printf-parse.c: Likewise.
43993         * lib/unistdio/u8-snprintf.c: Likewise.
43994         * lib/unistdio/u8-sprintf.c: Likewise.
43995         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
43996         * lib/unistdio/u8-u8-asprintf.c: Likewise.
43997         * lib/unistdio/u8-u8-snprintf.c: Likewise.
43998         * lib/unistdio/u8-u8-sprintf.c: Likewise.
43999         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
44000         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
44001         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
44002         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
44003         * lib/unistdio/u8-vasnprintf.c: Likewise.
44004         * lib/unistdio/u8-vasprintf.c: Likewise.
44005         * lib/unistdio/u8-vsnprintf.c: Likewise.
44006         * lib/unistdio/u8-vsprintf.c: Likewise.
44007         * lib/unistdio/ulc-asnprintf.c: Likewise.
44008         * lib/unistdio/ulc-asprintf.c: Likewise.
44009         * lib/unistdio/ulc-printf-parse.c: Likewise.
44010         * lib/unistdio/ulc-snprintf.c: Likewise.
44011         * lib/unistdio/ulc-sprintf.c: Likewise.
44012         * lib/unistdio/ulc-vasnprintf.c: Likewise.
44013         * lib/unistdio/ulc-vasprintf.c: Likewise.
44014         * lib/unistdio/ulc-vsnprintf.c: Likewise.
44015         * lib/unistdio/ulc-vsprintf.c: Likewise.
44016         * lib/unistr.h: Likewise.
44017         * lib/unistr/u-cpy-alloc.h: Likewise.
44018         * lib/unistr/u-cpy.h: Likewise.
44019         * lib/unistr/u-endswith.h: Likewise.
44020         * lib/unistr/u-move.h: Likewise.
44021         * lib/unistr/u-set.h: Likewise.
44022         * lib/unistr/u-startswith.h: Likewise.
44023         * lib/unistr/u-stpcpy.h: Likewise.
44024         * lib/unistr/u-stpncpy.h: Likewise.
44025         * lib/unistr/u-strcat.h: Likewise.
44026         * lib/unistr/u-strcpy.h: Likewise.
44027         * lib/unistr/u-strcspn.h: Likewise.
44028         * lib/unistr/u-strdup.h: Likewise.
44029         * lib/unistr/u-strlen.h: Likewise.
44030         * lib/unistr/u-strncat.h: Likewise.
44031         * lib/unistr/u-strncpy.h: Likewise.
44032         * lib/unistr/u-strnlen.h: Likewise.
44033         * lib/unistr/u-strpbrk.h: Likewise.
44034         * lib/unistr/u-strspn.h: Likewise.
44035         * lib/unistr/u-strstr.h: Likewise.
44036         * lib/unistr/u-strtok.h: Likewise.
44037         * lib/unistr/u16-check.c: Likewise.
44038         * lib/unistr/u16-chr.c: Likewise.
44039         * lib/unistr/u16-cmp.c: Likewise.
44040         * lib/unistr/u16-cpy-alloc.c: Likewise.
44041         * lib/unistr/u16-cpy.c: Likewise.
44042         * lib/unistr/u16-endswith.c: Likewise.
44043         * lib/unistr/u16-mblen.c: Likewise.
44044         * lib/unistr/u16-mbsnlen.c: Likewise.
44045         * lib/unistr/u16-mbtouc-aux.c: Likewise.
44046         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
44047         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
44048         * lib/unistr/u16-mbtouc.c: Likewise.
44049         * lib/unistr/u16-mbtoucr.c: Likewise.
44050         * lib/unistr/u16-move.c: Likewise.
44051         * lib/unistr/u16-next.c: Likewise.
44052         * lib/unistr/u16-prev.c: Likewise.
44053         * lib/unistr/u16-set.c: Likewise.
44054         * lib/unistr/u16-startswith.c: Likewise.
44055         * lib/unistr/u16-stpcpy.c: Likewise.
44056         * lib/unistr/u16-stpncpy.c: Likewise.
44057         * lib/unistr/u16-strcat.c: Likewise.
44058         * lib/unistr/u16-strchr.c: Likewise.
44059         * lib/unistr/u16-strcmp.c: Likewise.
44060         * lib/unistr/u16-strcpy.c: Likewise.
44061         * lib/unistr/u16-strcspn.c: Likewise.
44062         * lib/unistr/u16-strdup.c: Likewise.
44063         * lib/unistr/u16-strlen.c: Likewise.
44064         * lib/unistr/u16-strmblen.c: Likewise.
44065         * lib/unistr/u16-strmbtouc.c: Likewise.
44066         * lib/unistr/u16-strncat.c: Likewise.
44067         * lib/unistr/u16-strncmp.c: Likewise.
44068         * lib/unistr/u16-strncpy.c: Likewise.
44069         * lib/unistr/u16-strnlen.c: Likewise.
44070         * lib/unistr/u16-strpbrk.c: Likewise.
44071         * lib/unistr/u16-strrchr.c: Likewise.
44072         * lib/unistr/u16-strspn.c: Likewise.
44073         * lib/unistr/u16-strstr.c: Likewise.
44074         * lib/unistr/u16-strtok.c: Likewise.
44075         * lib/unistr/u16-to-u32.c: Likewise.
44076         * lib/unistr/u16-to-u8.c: Likewise.
44077         * lib/unistr/u16-uctomb-aux.c: Likewise.
44078         * lib/unistr/u16-uctomb.c: Likewise.
44079         * lib/unistr/u32-check.c: Likewise.
44080         * lib/unistr/u32-chr.c: Likewise.
44081         * lib/unistr/u32-cmp.c: Likewise.
44082         * lib/unistr/u32-cpy-alloc.c: Likewise.
44083         * lib/unistr/u32-cpy.c: Likewise.
44084         * lib/unistr/u32-endswith.c: Likewise.
44085         * lib/unistr/u32-mblen.c: Likewise.
44086         * lib/unistr/u32-mbsnlen.c: Likewise.
44087         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
44088         * lib/unistr/u32-mbtouc.c: Likewise.
44089         * lib/unistr/u32-mbtoucr.c: Likewise.
44090         * lib/unistr/u32-move.c: Likewise.
44091         * lib/unistr/u32-next.c: Likewise.
44092         * lib/unistr/u32-prev.c: Likewise.
44093         * lib/unistr/u32-set.c: Likewise.
44094         * lib/unistr/u32-startswith.c: Likewise.
44095         * lib/unistr/u32-stpcpy.c: Likewise.
44096         * lib/unistr/u32-stpncpy.c: Likewise.
44097         * lib/unistr/u32-strcat.c: Likewise.
44098         * lib/unistr/u32-strchr.c: Likewise.
44099         * lib/unistr/u32-strcmp.c: Likewise.
44100         * lib/unistr/u32-strcpy.c: Likewise.
44101         * lib/unistr/u32-strcspn.c: Likewise.
44102         * lib/unistr/u32-strdup.c: Likewise.
44103         * lib/unistr/u32-strlen.c: Likewise.
44104         * lib/unistr/u32-strmblen.c: Likewise.
44105         * lib/unistr/u32-strmbtouc.c: Likewise.
44106         * lib/unistr/u32-strncat.c: Likewise.
44107         * lib/unistr/u32-strncmp.c: Likewise.
44108         * lib/unistr/u32-strncpy.c: Likewise.
44109         * lib/unistr/u32-strnlen.c: Likewise.
44110         * lib/unistr/u32-strpbrk.c: Likewise.
44111         * lib/unistr/u32-strrchr.c: Likewise.
44112         * lib/unistr/u32-strspn.c: Likewise.
44113         * lib/unistr/u32-strstr.c: Likewise.
44114         * lib/unistr/u32-strtok.c: Likewise.
44115         * lib/unistr/u32-to-u16.c: Likewise.
44116         * lib/unistr/u32-to-u8.c: Likewise.
44117         * lib/unistr/u32-uctomb.c: Likewise.
44118         * lib/unistr/u8-check.c: Likewise.
44119         * lib/unistr/u8-chr.c: Likewise.
44120         * lib/unistr/u8-cmp.c: Likewise.
44121         * lib/unistr/u8-cpy-alloc.c: Likewise.
44122         * lib/unistr/u8-cpy.c: Likewise.
44123         * lib/unistr/u8-endswith.c: Likewise.
44124         * lib/unistr/u8-mblen.c: Likewise.
44125         * lib/unistr/u8-mbsnlen.c: Likewise.
44126         * lib/unistr/u8-mbtouc-aux.c: Likewise.
44127         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
44128         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
44129         * lib/unistr/u8-mbtouc.c: Likewise.
44130         * lib/unistr/u8-mbtoucr.c: Likewise.
44131         * lib/unistr/u8-move.c: Likewise.
44132         * lib/unistr/u8-next.c: Likewise.
44133         * lib/unistr/u8-prev.c: Likewise.
44134         * lib/unistr/u8-set.c: Likewise.
44135         * lib/unistr/u8-startswith.c: Likewise.
44136         * lib/unistr/u8-stpcpy.c: Likewise.
44137         * lib/unistr/u8-stpncpy.c: Likewise.
44138         * lib/unistr/u8-strcat.c: Likewise.
44139         * lib/unistr/u8-strchr.c: Likewise.
44140         * lib/unistr/u8-strcmp.c: Likewise.
44141         * lib/unistr/u8-strcpy.c: Likewise.
44142         * lib/unistr/u8-strcspn.c: Likewise.
44143         * lib/unistr/u8-strdup.c: Likewise.
44144         * lib/unistr/u8-strlen.c: Likewise.
44145         * lib/unistr/u8-strmblen.c: Likewise.
44146         * lib/unistr/u8-strmbtouc.c: Likewise.
44147         * lib/unistr/u8-strncat.c: Likewise.
44148         * lib/unistr/u8-strncmp.c: Likewise.
44149         * lib/unistr/u8-strncpy.c: Likewise.
44150         * lib/unistr/u8-strnlen.c: Likewise.
44151         * lib/unistr/u8-strpbrk.c: Likewise.
44152         * lib/unistr/u8-strrchr.c: Likewise.
44153         * lib/unistr/u8-strspn.c: Likewise.
44154         * lib/unistr/u8-strstr.c: Likewise.
44155         * lib/unistr/u8-strtok.c: Likewise.
44156         * lib/unistr/u8-to-u16.c: Likewise.
44157         * lib/unistr/u8-to-u32.c: Likewise.
44158         * lib/unistr/u8-uctomb-aux.c: Likewise.
44159         * lib/unistr/u8-uctomb.c: Likewise.
44160         * lib/unitypes.h: Likewise.
44161         * lib/uniwidth.h: Likewise.
44162         * lib/uniwidth/cjk.h: Likewise.
44163         * lib/uniwidth/u16-strwidth.c: Likewise.
44164         * lib/uniwidth/u16-width.c: Likewise.
44165         * lib/uniwidth/u32-strwidth.c: Likewise.
44166         * lib/uniwidth/u32-width.c: Likewise.
44167         * lib/uniwidth/u8-strwidth.c: Likewise.
44168         * lib/uniwidth/u8-width.c: Likewise.
44169         * lib/uniwidth/width.c: Likewise.
44170
44171 2007-10-07  Bruno Haible  <bruno@clisp.org>
44172
44173         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
44174         The file is still under LGPL (see modules/inttypes).
44175
44176 2007-10-06  Bruno Haible  <bruno@clisp.org>
44177
44178         * modules/trunc (Dependencies): Add 'extensions'.
44179         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
44180         Reported by Ben Pfaff <blp@gnu.org>.
44181
44182 2007-10-06  Bruno Haible  <bruno@clisp.org>
44183
44184         * modules/freopen-tests: New file.
44185         * tests/test-freopen.c: New file.
44186
44187         * modules/fopen-tests: New file.
44188         * tests/test-fopen.c: New file.
44189
44190         * modules/fopen: New file.
44191         * lib/fopen.c: New file.
44192         * m4/fopen.m4: New file.
44193         * modules/freopen: New file.
44194         * lib/freopen.c: New file.
44195         * m4/freopen.m4: New file.
44196         * lib/stdio.in.h (fopen, freopen): New declarations.
44197         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
44198         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
44199         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
44200         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
44201         * doc/functions/fopen.texi: Mention the 'fopen' module.
44202         * doc/functions/freopen.texi: Mention the 'freopen' module.
44203
44204 2007-10-06  Bruno Haible  <bruno@clisp.org>
44205
44206         * modules/open-tests: New file.
44207         * tests/test-open.c: New file.
44208
44209         * modules/open: New file.
44210         * lib/open.c: New file.
44211         * m4/open.m4: New file.
44212         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
44213         lib/open.c does.
44214         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
44215         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
44216         macros.
44217         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
44218         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
44219         REPLACE_OPEN.
44220         * doc/functions/open.texi: Mention the 'open' module.
44221
44222 2007-10-04  Bruno Haible  <bruno@clisp.org>
44223
44224         * modules/ceill-tests: New file.
44225         * tests/test-ceill.c: New file.
44226
44227         * modules/ceill: New file.
44228         * lib/ceill.c: Replace entire file.
44229         * m4/ceill.m4: New file.
44230         * lib/math.in.h (ceill): Replace declaration.
44231         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
44232         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
44233         * doc/functions/ceill.texi: Mention the 'ceill' module.
44234         * modules/mathl (Files): Remove lib/ceill.c.
44235         (Depends-on): Add ceill.
44236
44237 2007-10-04  Bruno Haible  <bruno@clisp.org>
44238
44239         * modules/ceilf-tests: New file.
44240         * tests/test-ceilf.c: New file.
44241
44242         * modules/ceilf: New file.
44243         * lib/ceil.c: New file.
44244         * lib/ceilf.c: New file.
44245         * m4/ceilf.m4: New file.
44246         * lib/math.in.h (ceilf): New declaration.
44247         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
44248         HAVE_DECL_CEILF.
44249         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
44250         HAVE_DECL_CEILF.
44251         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
44252
44253 2007-10-04  Bruno Haible  <bruno@clisp.org>
44254
44255         * modules/floorl-tests: New file.
44256         * tests/test-floorl.c: New file.
44257
44258         * modules/floorl: New file.
44259         * lib/floorl.c: Replace entire file.
44260         * m4/floorl.m4: New file.
44261         * lib/math.in.h (floorl): Replace declaration.
44262         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
44263         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
44264         * doc/functions/floorl.texi: Mention the 'floorl' module.
44265         * modules/mathl (Files): Remove lib/floorl.c.
44266         (Depends-on): Add floorl.
44267
44268 2007-10-04  Bruno Haible  <bruno@clisp.org>
44269
44270         * modules/floorf-tests: New file.
44271         * tests/test-floorf.c: New file.
44272
44273         * modules/floorf: New file.
44274         * lib/floor.c: New file.
44275         * lib/floorf.c: New file.
44276         * m4/floorf.m4: New file.
44277         * lib/math.in.h (floorf): New declaration.
44278         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
44279         HAVE_DECL_FLOORF.
44280         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
44281         HAVE_DECL_FLOORF.
44282         * doc/functions/floorf.texi: Mention the 'floorf' module.
44283
44284 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
44285             Bruno Haible  <bruno@clisp.org>
44286
44287         Advertise for the Git server instead of the CVS server.
44288         * doc/gnulib-intro.texi (Steady Development): Mention the Git
44289         repository instead of the CVS one.
44290         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
44291         about all VCS systems generically.
44292         * doc/gnulib.texi (Introduction): Capitalize `Git'.
44293
44294 2007-10-04  Bruno Haible  <bruno@clisp.org>
44295
44296         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
44297         means.
44298         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
44299
44300 2007-10-04  Bruno Haible  <bruno@clisp.org>
44301
44302         * modules/truncl-tests: New file.
44303         * tests/test-truncl.c: New file.
44304
44305         * modules/truncl: New file.
44306         * lib/truncl.c: New file.
44307         * m4/truncl.m4: New file.
44308         * lib/math.in.h (truncl): New declaration.
44309         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
44310         HAVE_DECL_TRUNCL.
44311         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
44312         HAVE_DECL_TRUNCL.
44313         * doc/functions/truncl.texi: Mention the 'truncl' module.
44314
44315 2007-10-04  Bruno Haible  <bruno@clisp.org>
44316
44317         * modules/truncf-tests: New file.
44318         * tests/test-truncf.c: New file.
44319
44320         * modules/truncf: New file.
44321         * lib/trunc.c: Make paramerizable through USE_* macros.
44322         * lib/truncf.c: New file.
44323         * m4/truncf.m4: New file.
44324         * lib/math.in.h (truncf): New declaration.
44325         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
44326         HAVE_DECL_TRUNCF.
44327         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
44328         HAVE_DECL_TRUNCF.
44329         * doc/functions/truncf.texi: Mention the 'truncf' module.
44330
44331 2007-10-03  Bruno Haible  <bruno@clisp.org>
44332
44333         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
44334         augmentation also for tests modules.
44335         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
44336         * modules/atexit-tests (Makefile.am): Likewise.
44337         * modules/binary-io-tests (Makefile.am): Likewise.
44338         * modules/c-strcase-tests (Makefile.am): Likewise.
44339         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
44340         * modules/canonicalize-tests (Makefile.am): Likewise.
44341         * modules/closein-tests (Makefile.am): Likewise.
44342         * modules/fprintf-posix-tests (Makefile.am): Likewise.
44343         * modules/freadahead-tests (Makefile.am): Likewise.
44344         * modules/fseek-tests (Makefile.am): Likewise.
44345         * modules/fseeko-tests (Makefile.am): Likewise.
44346         * modules/ftell-tests (Makefile.am): Likewise.
44347         * modules/ftello-tests (Makefile.am): Likewise.
44348         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
44349         * modules/isnanl-tests (Makefile.am): Likewise.
44350         * modules/lseek-tests (Makefile.am): Likewise.
44351         * modules/mbscasecmp-tests (Makefile.am): Likewise.
44352         * modules/mbscasestr-tests (Makefile.am): Likewise.
44353         * modules/mbschr-tests (Makefile.am): Likewise.
44354         * modules/mbscspn-tests (Makefile.am): Likewise.
44355         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
44356         * modules/mbspbrk-tests (Makefile.am): Likewise.
44357         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
44358         * modules/mbsrchr-tests (Makefile.am): Likewise.
44359         * modules/mbsspn-tests (Makefile.am): Likewise.
44360         * modules/mbsstr-tests (Makefile.am): Likewise.
44361         * modules/printf-posix-tests (Makefile.am): Likewise.
44362         * modules/snprintf-posix-tests (Makefile.am): Likewise.
44363         * modules/sprintf-posix-tests (Makefile.am): Likewise.
44364         * modules/tsearch-tests (Makefile.am): Likewise.
44365         * modules/uniname/uniname-tests (Makefile.am): Likewise.
44366         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
44367         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
44368         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
44369         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
44370         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
44371         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
44372         * modules/vprintf-posix-tests (Makefile.am): Likewise.
44373         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
44374         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
44375         * modules/xstrtoimax-tests (Makefile.am): Likewise.
44376         * modules/xstrtol-tests (Makefile.am): Likewise.
44377         * modules/xstrtoumax-tests (Makefile.am): Likewise.
44378         * modules/yesno-tests (Makefile.am): Likewise.
44379
44380 2007-10-03  Bruno Haible  <bruno@clisp.org>
44381
44382         * modules/trunc-tests: New file.
44383         * tests/test-trunc.c: New file.
44384
44385         * modules/trunc: New file.
44386         * lib/trunc.c: New file.
44387         * m4/trunc.m4: New file.
44388         * lib/math.in.h (trunc): New declaration.
44389         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
44390         HAVE_DECL_TRUNC.
44391         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
44392         HAVE_DECL_TRUNC.
44393         * doc/functions/trunc.texi: Mention the 'trunc' module.
44394
44395 2007-10-03  Bruno Haible  <bruno@clisp.org>
44396
44397         * tests/test-fpending.c: New file, mostly copied
44398         from coreutils/lib/t-fpending.c.
44399         * modules/fpending-tests: New file.
44400
44401 2007-10-03  Bruno Haible  <bruno@clisp.org>
44402
44403         Port the stdio extensions to QNX (untested).
44404         * lib/fseterr.c (fseterr): Add support for QNX.
44405         * lib/fbufmode.c (fbufmode): Likewise.
44406         * lib/freadable.c (freadable): Likewise.
44407         * lib/fwritable.c (fwritable): Likewise.
44408         * lib/freading.c (freading): Likewise.
44409         * lib/fwriting.c (fwriting): Likewise.
44410         * lib/freadahead.c (freadahed): Likewise.
44411         * lib/fpurge.c (fpurge): Likewise.
44412         * lib/fseeko.c (rpl_fseeko): Likewise.
44413
44414 2007-10-03  Bruno Haible  <bruno@clisp.org>
44415             Jim Meyering  <jim@meyering.net>
44416             Eric Blake  <ebb9@byu.net>
44417
44418         * doc/relocatable.texi: Use @command instead of @program.
44419
44420 2007-10-02  Jim Meyering  <jim@meyering.net>
44421
44422         Perform one more "_.h" -> ".in.h" substitution.
44423         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
44424         instead of unistd_.h here, too.
44425
44426 2007-10-01  Bruno Haible  <bruno@clisp.org>
44427
44428         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
44429         Needed for the alloca-opt module.
44430
44431 2007-09-30  Bruno Haible  <bruno@clisp.org>
44432
44433         * lib/alloca.in.h: Renamed from lib/alloca_.h.
44434         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
44435         alloca_.h.
44436         * lib/argz.in.h: Renamed from lib/argz_.h.
44437         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
44438         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
44439         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
44440         byteswap_.h.
44441         * lib/dirent.in.h: Renamed from lib/dirent_.h.
44442         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
44443         dirent_.h.
44444         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
44445         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
44446         fcntl_.h.
44447         * lib/float.in.h: Renamed from lib/float_.h.
44448         * modules/float (Files, Makefile.am): Use float.in.h instead of
44449         float_.h.
44450         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
44451         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
44452         fnmatch_.h.
44453         * lib/getopt.in.h: Renamed from lib/getopt_.h.
44454         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
44455         getopt_.h.
44456         * lib/glob.in.h: Renamed from lib/glob_.h.
44457         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
44458         * lib/iconv.in.h: Renamed from lib/iconv_.h.
44459         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
44460         iconv_.h.
44461         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
44462         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
44463         inttypes_.h.
44464         * lib/locale.in.h: Renamed from lib/locale_.h.
44465         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
44466         locale_.h.
44467         * lib/math.in.h: Renamed from lib/math_.h.
44468         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
44469         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
44470         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
44471         of netinet_in_.h. Add dependency.
44472         * lib/poll.in.h: Renamed from lib/poll_.h.
44473         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
44474         * lib/search.in.h: Renamed from lib/search_.h.
44475         * modules/search (Files, Makefile.am): Use search.in.h instead of
44476         search_.h.
44477         * lib/signal.in.h: Renamed from lib/signal_.h.
44478         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
44479         _signal.h.
44480         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
44481         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
44482         stdbool_.h.
44483         * lib/stdint.in.h: Renamed from lib/stdint_.h.
44484         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
44485         stdint_.h.
44486         * lib/stdio.in.h: Renamed from lib/stdio_.h.
44487         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
44488         stdio_.h.
44489         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
44490         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
44491         stdlib_.h.
44492         * lib/string.in.h: Renamed from lib/string_.h.
44493         * modules/string (Files, Makefile.am): Use string.in.h instead of
44494         string_.h.
44495         * doc/gnulib-tool.texi (Initial import): Update.
44496         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
44497         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
44498         of sys_select_.h. Add dependency.
44499         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
44500         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
44501         of sys_socket_.h.
44502         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
44503         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
44504         sys_stat_.h.
44505         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
44506         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
44507         sys_time_.h.
44508         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
44509         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
44510         sysexits_.h.
44511         * lib/time.in.h: Renamed from lib/time_.h.
44512         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
44513         * lib/unistd.in.h: Renamed from lib/unistd_.h.
44514         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
44515         unistd_.h.
44516         * lib/wchar.in.h: Renamed from lib/wchar_.h.
44517         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
44518         wchar_.h.
44519         * lib/wctype.in.h: Renamed from lib/wctype_.h.
44520         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
44521         wctype_.h.
44522         * build-aux/bootstrap (slurp): Update.
44523         * lib/.cppi-disable: Update.
44524
44525 2007-09-30  Bruno Haible  <bruno@clisp.org>
44526
44527         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
44528         Needed on BeOS.
44529
44530 2007-09-30  Bruno Haible  <bruno@clisp.org>
44531
44532         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
44533
44534 2007-09-29  Bruno Haible  <bruno@clisp.org>
44535
44536         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
44537
44538 2007-09-29  Bruno Haible  <bruno@clisp.org>
44539
44540         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
44541         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
44542         * build-aux/install-reloc: Compile also areadlink.c.
44543         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
44544
44545 2007-09-29  Bruno Haible  <bruno@clisp.org>
44546
44547         * gnulib-tool (func_emit_initmacro_done): Indentation.
44548
44549 2007-09-29  Bruno Haible  <bruno@clisp.org>
44550
44551         * README: Add CVS checkout update instructions.
44552         Info from Bob Proulx <bob@proulx.com>.
44553
44554 2007-09-28  Eric Blake  <ebb9@byu.net>
44555
44556         Provide move-if-change.
44557         * build-aux/move-if-change: New file, based on best practice
44558         rather than any canonical upstream location.
44559
44560 2007-09-28  Jim Meyering  <jim@meyering.net>
44561
44562         Fix canonicalize loop-detection corner case.
44563         Do not attempt to stat the symlink values stored via seen_triple.
44564         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
44565         on linux-2.6.18, (but not 2.6.22).
44566         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
44567         triple_compare.  The former compares dev,ino,filename, while the latter
44568         would actually stat dirname(filename) when dev and ino were equal.
44569         * lib/hash-triple.c: Install <string.h>.
44570         (STREQ): Define.
44571         (triple_compare_ino_str): New function.
44572         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
44573
44574 2007-09-28  Eric Blake  <ebb9@byu.net>
44575
44576         Enforce that AC_REPLACE_FUNCS files exist.
44577         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
44578         override check for typos.
44579
44580         Fix test-closein on Solaris 10.
44581         * tests/test-closein.c (main): Don't assume stdin can be inherited
44582         closed on all systems.
44583         * tests/test-closein.sh: Likewise.
44584         Reported by Piotr Tarnowski.
44585
44586 2007-09-28  Jim Meyering  <jim@meyering.net>
44587
44588         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
44589
44590 2007-09-27  Jim Meyering  <jim@meyering.net>
44591
44592         canonicalize: Avoid a false-positive cycle failure.
44593         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
44594         Sort.  Remove cycle-check.
44595         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
44596         not cycle-check.h.
44597         (seen_triple): New function.
44598         (canonicalize_filename_mode): Use it instead of cycle-check.
44599         * tests/test-canonicalize.c: Add a test for this bug.
44600         * tests/test-canonicalize.sh: Set up and run the test.
44601
44602         New module, file-set, from coreutils.
44603         * modules/file-set: Define it.
44604         * lib/file-set.c, lib/file-set.h: Implement.
44605
44606         New module, hash-triple, from coreutils.
44607         * modules/hash-triple: Define it.
44608         * lib/hash-triple.c, lib/hash-triple.h: Implement.
44609
44610 2007-09-25  Eric Blake  <ebb9@byu.net>
44611
44612         Fix strerror on Interix.
44613         * lib/string_.h (strerror): Declare replacement.
44614         * doc/functions/strerror.texi (strerror): Document the Interix
44615         shortcoming.
44616         * modules/string (Makefile.am): Support new hooks.
44617         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
44618         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
44619         gl_FUNC_STRERROR_SEPARATE.
44620         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
44621         * lib/strerror.c (rpl_strerror): Provide replacement.
44622         * modules/strerror (Depends-on): Add string.
44623         (configure.ac): Detect use of module.
44624         * tests/test-strerror.c: New file.
44625         * modules/strerror-tests: New test module.
44626         * modules/argp (Depends-on): Add strerror.
44627         * modules/error (Depends-on): Likewise.
44628         Reported by Martin Koeppe.
44629
44630 2007-09-24  Bruno Haible  <bruno@clisp.org>
44631
44632         * README: Update git instructions.
44633
44634 2007-09-24  Eric Blake  <ebb9@byu.net>
44635
44636         Revert fpending breakage from 2007-09-08.
44637         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
44638         __fpending.c.
44639
44640 2007-09-24  Jim Meyering  <jim@meyering.net>
44641
44642         filenamecat.c: Add a test.
44643         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
44644         showing how the function works when DIR is the empty string.
44645
44646 2007-09-21  Simon Josefsson  <simon@josefsson.org>
44647
44648         * tests/test-canonicalize.sh: Turn on executable bit.
44649
44650 2007-09-19  Eric Blake  <ebb9@byu.net>
44651
44652         * README: Update CVS instructions.
44653
44654 2007-09-18  Bruno Haible  <bruno@clisp.org>
44655
44656         * modules/areadlink: New file.
44657         * lib/areadlink.h (areadlink): New declaration.
44658         * lib/areadlink.c: New file, based on lib/xreadlink.c.
44659
44660 2007-09-17  Jim Meyering  <jim@meyering.net>
44661
44662         * lib/savewd.c (ESTALE) [!defined]: Define.
44663         Reported to be required on Interix by Martin Koeppe.
44664
44665 2007-09-17  Bruno Haible  <bruno@clisp.org>
44666
44667         * gnulib-tool (func_version): Use $version.
44668
44669 2007-09-16  Bruno Haible  <bruno@clisp.org>
44670
44671         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
44672         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
44673         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
44674         Reported by Greg Schafer <gschafer@zip.com.au>.
44675
44676 2007-09-15  Bruno Haible  <bruno@clisp.org>
44677
44678         * gnulib-tool (sed): Try a little harder to make bash understand the
44679         alias.
44680         Reported by Bruce Korb <bruce.korb@gmail.com>.
44681
44682 2007-09-13  Eric Blake  <ebb9@byu.net>
44683
44684         * ChangeLog: Remove conflict markers.
44685
44686 2007-09-13  Simon Josefsson  <simon@josefsson.org>
44687
44688         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
44689         Reported by Bruno Haible <bruno@clisp.org>.
44690
44691 2007-09-12  Bruno Haible  <bruno@clisp.org>
44692
44693         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
44694         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
44695         is not defined.
44696
44697 2007-09-12  Eric Blake  <ebb9@byu.net>
44698
44699         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
44700         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
44701         Autoconf definition.
44702         * modules/euidaccess (Depends-on): Add extensions, for
44703         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
44704         * modules/fnmatch (Depends-on): Likewise.
44705         * modules/getaddrinfo (Depends-on): Likewise.
44706         * modules/getdelim (Depends-on): Likewise.
44707         * modules/getline (Depends-on): Likewise.
44708         * modules/getsubopt (Depends-on): Likewise.
44709         * modules/gettext (Depends-on): Likewise.
44710         * modules/group-member (Depends-on): Likewise.
44711         * modules/mbchar (Depends-on): Likewise.
44712         * modules/memmem (Depends-on): Likewise.
44713         * modules/mempcpy (Depends-on): Likewise.
44714         * modules/memrchr (Depends-on): Likewise.
44715         * modules/pagealign_alloc (Depends-on): Likewise.
44716         * modules/readutmp (Depends-on): Likewise.
44717         * modules/stpcpy (Depends-on): Likewise.
44718         * modules/stpncpy (Depends-on): Likewise.
44719         * modules/strchrnul (Depends-on): Likewise.
44720         * modules/strndup (Depends-on): Likewise.
44721         * modules/strsep (Depends-on): Likewise.
44722         * modules/strverscmp (Depends-on): Likewise.
44723         * modules/vasprintf (Depends-on): Likewise.
44724         * modules/wcwidth (Depends-on): Likewise.
44725         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
44726         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
44727         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
44728         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
44729         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
44730         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
44731         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
44732         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
44733         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
44734         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
44735         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
44736         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
44737         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
44738         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
44739         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
44740         * m4/readutmp.m4 (gl_READUTMP): Likewise.
44741         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
44742         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
44743         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
44744         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
44745         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
44746         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
44747         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
44748         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
44749         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
44750         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
44751         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
44752         so that lock.m4 can be used in gettext without extensions module.
44753
44754 2007-09-11  Bruno Haible  <bruno@clisp.org>
44755
44756         * m4/isc-posix.m4: Remove file.
44757         Suggested by Eric Blake.
44758
44759 2007-09-11  Eric Blake  <ebb9@byu.net>
44760
44761         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
44762
44763 2007-09-10  Bruno Haible  <bruno@clisp.org>
44764
44765         * posix-modules: Fix typo in error message.
44766         Reported by Matt <mkraai@beckman.com>.
44767
44768 2007-09-09  Bruno Haible  <bruno@clisp.org>
44769
44770         * doc/functions/getdelim.texi: Update list of platforms lacking the
44771         function.
44772         * doc/functions/getline.texi: Likewise.
44773
44774 2007-09-09  Jim Meyering  <jim@meyering.net>
44775
44776         * lib/hash.c (hash_initialize): Detect calloc failure.
44777         Reported by Bruno Haible.
44778
44779 2007-09-09  Bruno Haible  <bruno@clisp.org>
44780
44781         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
44782         malloc or realloc fails.
44783
44784 2007-09-09  Bruno Haible  <bruno@clisp.org>
44785
44786         * modules/getcwd (Depends-on): Add malloc-posix.
44787         * modules/glob (Depends-on): Likewise.
44788         * modules/putenv (Depends-on): Likewise.
44789         * modules/strdup (Depends-on): Likewise.
44790         * modules/getdelim (Depends-on): Add realloc-posix.
44791         * modules/read-file (Depends-on): Likewise.
44792
44793 2007-09-09  Bruno Haible  <bruno@clisp.org>
44794
44795         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
44796         (gl_FUNC_MALLOC_POSIX): Require it.
44797         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
44798         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
44799         * modules/realloc (Files): Add m4/malloc.m4.
44800         * modules/calloc (Files): Likewise.
44801
44802 2007-09-09  Bruno Haible  <bruno@clisp.org>
44803
44804         * modules/malloc-posix: New file.
44805         * modules/malloc (Depends-on): Add malloc-posix.
44806         * lib/malloc.c: Include errno.h.
44807         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
44808         and a POSIX-compatible malloc into a single function. Set ENOMEM
44809         when returning NULL.
44810         * m4/malloc.m4: New file.
44811         * doc/functions/malloc.texi: Mention the malloc-posix module.
44812         * lib/stdlib_.h (malloc): New declaration.
44813         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
44814         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
44815         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
44816         and HAVE_MALLOC_POSIX.
44817
44818 2007-09-09  Bruno Haible  <bruno@clisp.org>
44819
44820         * modules/realloc-posix: New file.
44821         * modules/realloc (Depends-on): Add realloc-posix.
44822         * lib/realloc.c: Include errno.h.
44823         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
44824         and a POSIX-compatible realloc into a single function. Set ENOMEM
44825         when returning NULL.
44826         * m4/realloc.m4: New file.
44827         * doc/functions/realloc.texi: Mention the realloc-posix module.
44828         * lib/stdlib_.h (realloc): New declaration.
44829         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
44830         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
44831         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
44832         and HAVE_REALLOC_POSIX.
44833
44834 2007-09-09  Bruno Haible  <bruno@clisp.org>
44835
44836         * modules/calloc-posix: New file.
44837         * modules/calloc (Depends-on): Add calloc-posix.
44838         * lib/calloc.c: Include errno.h.
44839         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
44840         and a POSIX-compatible calloc into a single function. Set ENOMEM
44841         when returning NULL.
44842         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
44843         * doc/functions/calloc.texi: Mention the calloc-posix module.
44844         * lib/stdlib_.h (calloc): New declaration.
44845         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
44846         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
44847         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
44848         and HAVE_CALLOC_POSIX.
44849
44850 2007-09-09  Bruno Haible  <bruno@clisp.org>
44851
44852         Allow for modules to show an arbitrary notice.
44853         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
44854         * gnulib-tool: New option --extract-notice.
44855         (func_usage): Document it.
44856         (sed_extract_prog): Update.
44857         (func_get_notice): New function.
44858         (func_modules_notice): New function.
44859         (func_import, func_create_testdir): Invoke it.
44860         Suggested by Jim Meyering.
44861
44862 2007-09-09  Bruno Haible  <bruno@clisp.org>
44863
44864         * gnulib-tool: New options --verbose, --quiet.
44865         (func_usage): Document them.
44866         (verbose): New variable.
44867         (func_execute_command): New function.
44868         (func_import): Don't show the module list and the file list if
44869         $verbose < 0.
44870         (func_create_testdir): Likewise. Use func_execute_command.
44871         (func_create_megatestdir): Use func_execute_command.
44872
44873 2007-09-08  Bruno Haible  <bruno@clisp.org>
44874
44875         * gnulib-tool (func_import): Prefer rsync over wget when available,
44876         for fetching the PO files.
44877
44878 2007-09-08  Bruno Haible  <bruno@clisp.org>
44879
44880         * posix-modules: New file. Portions copied from gnulib-tool.
44881         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
44882
44883 2007-09-08  Jim Meyering  <jim@meyering.net>
44884
44885         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
44886         * lib/fpending.h: Rename from __fpending.h.
44887         * lib/fpending.c: Rename from __fpending.c.
44888         Include "fpending.h", not "__fpending.h".
44889         * lib/__fpending.h, lib/__fpending.c: Remove files.
44890         * modules/fpending (Files): Reflect new file names.
44891         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
44892
44893 2007-09-08  Bruno Haible  <bruno@clisp.org>
44894
44895         * m4/inttypes-h.m4: Remove stub file.
44896
44897 2007-09-07  Simon Josefsson  <simon@josefsson.org>
44898
44899         * doc/headers/stdint.texi: Discuss #include_next issue.
44900
44901 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
44902
44903         * build-aux/bootstrap: Remove obsolete comment about wget --help.
44904
44905 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44906
44907         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
44908         in variable name.
44909
44910 2007-09-03  Jim Meyering  <jim@meyering.net>
44911
44912         New module: git-version-gen.
44913         * modules/git-version-gen: New file.
44914
44915         Import changes from coreutils for bootstrap script.
44916
44917         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
44918
44919         bootstrap: uses rsync to download the .po files
44920         * build-aux/bootstrap (po_download_command_format): New global.
44921         (download_po_files): Use rsync.
44922         (update_po_files): Don't remove .po files after download,
44923         so future rsync runs can take advantage of the copies.
44924
44925         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
44926
44927         Solve the unnecessary-.po-file-regeneration problem once and for all.
44928         * build-aux/bootstrap (download_po_files): New function, renamed from
44929         get_translations.  Now, downloads, but doesn't update LINGUAS.
44930         (update_po_files): New function.
44931
44932         bootstrap: Ignore more.
44933         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
44934         uniwidth to e.g., lib/.gitignore.
44935         (slurp): Handle the sys_stat_.h -> sys mapping, too.
44936
44937         * build-aux/bootstrap: New setting: vc_ignore.
44938         (insert_sorted_if_absent): Create $file if absent.
44939         Adapt to new, possibly empty, list: $vc_ignore.
44940
44941         bootstrap: generate more ignorable names
44942         * build-aux/bootstrap (slurp): When generating ignorable names,
44943         also map .sin to .sed, .gperf to .c, and .y to .c.
44944
44945 2007-09-03  Jim Meyering  <jim@meyering.net>
44946
44947         * build-aux/git-version-gen: New file, from coreutils.  For details, see
44948         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
44949
44950 2007-09-02  Bruno Haible  <bruno@clisp.org>
44951
44952         Fix mis-recognition of 'mcs' on QNX 6.
44953         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
44954         output contains the string "Mono".
44955         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
44956         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
44957
44958 2007-09-01  Bruno Haible  <bruno@clisp.org>
44959
44960         Fix collision between uniwidth/* and linebreak modules.
44961         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
44962         u32_width): Remove declarations.
44963         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
44964         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
44965         streq3, streq2, streq1, streq0): Remove functions.
44966         (STREQ): Remove macro.
44967         (is_cjk_encoding): Remove function.
44968         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
44969         (uc_width, u8_width, u16_width, u32_width): Remove functions.
44970         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
44971         * NEWS: Document the change.
44972
44973 2007-09-01  Bruno Haible  <bruno@clisp.org>
44974
44975         * lib/streq.h: Add double-inclusion guard.
44976
44977 2007-09-01  Karl Berry  <karl@gnu.org>
44978
44979         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
44980
44981 2007-08-28  Jim Meyering  <jim@meyering.net>
44982
44983         Rename mreadlink_with_size to areadlink_with_size.
44984         * NEWS: Document the change.
44985         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
44986         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
44987         * lib/mreadlink.h: Rename this to...
44988         * lib/areadlink.h: ...this.
44989         * modules/mreadlink-with-size: Rename this to...
44990         * modules/areadlink-with-size: ...this.
44991         * lib/canonicalize.c: Reflect the renaming.
44992         * modules/canonicalize: Likewise.
44993
44994 2007-08-26  Bruno Haible  <bruno@clisp.org>
44995
44996         * gnulib-tool (func_import): When deciding which files to remove,
44997         consider also dangling symbolic links.
44998         Reported by Eric Blake.
44999
45000 2007-08-26  Bruno Haible  <bruno@clisp.org>
45001
45002         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
45003
45004 2007-08-23  Simon Josefsson  <simon@josefsson.org>
45005
45006         * lib/readline.c: Don't include getline.h, the prototype is now
45007         found in stdio.h.
45008
45009 2007-08-23  Jim Meyering  <jim@meyering.net>
45010
45011         Getdelim touchup.
45012         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
45013         around the funlockfile call, since funlockfile never sets errno.
45014         Don't set errno upon failed realloc.
45015
45016 2007-08-22  Eric Blake  <ebb9@byu.net>
45017
45018         Getline touchups.
45019         * lib/getdelim.c (getdelim): Revert regression that required *n to
45020         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
45021         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
45022         getdelim, rather than whether implementation is missing.
45023         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
45024         * lib/stdio_.h (getline): Also declare if replacement is
45025         required.
45026         * doc/functions/getdelim.texi: New file.
45027         * doc/functions/getline.texi: Likewise.
45028         * doc/gnulib.texi (Function Substitutes): Add new files.
45029         Reported by Bruno Haible.
45030
45031 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
45032
45033         * users.txt: Add Guile.
45034
45035 2007-08-22  Eric Blake  <ebb9@byu.net>
45036
45037         * tests/test-getdelim.c (main): Use remove, not unlink.
45038         * tests/test-getline.c (main): Likewise.
45039
45040         Move getline and getdelim into stdio.h, per POSIX 200x.
45041         * modules/getline (Files): Remove getline.h.
45042         (Depends-on): Add stdio.
45043         (configure.ac): Add module indicator.
45044         * modules/getdelim (Files): Remove getdelim.h.
45045         (Depends-on): Add stdio.
45046         (configure.ac): Add module indicator.
45047         * modules/stdio (Makefile.am): Work with new indicators.
45048         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45049         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
45050         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45051         * lib/getdelim.h: Delete.
45052         * lib/getline.h: Delete.
45053         * lib/stdio_.h (getdelim, getline): Declare.
45054         * modules/getdelim-tests: New module.
45055         * modules/getline-tests: Likewise.
45056         * tests/test-getdelim.c: New file.
45057         * tests/test-getline.c: Likewise.
45058         * NEWS: Document the change.
45059         * lib/getline.c: Update choice of header.
45060         * lib/csharpcomp.c: Likewise.
45061         * lib/getpass.c: Likewise.
45062         * lib/javacomp.c: Likewise.
45063         * lib/javaversion.c: Likewise.
45064         * lib/yesno.c: Likewise.
45065         * lib/getdelim.c: Likewise.
45066         (getdelim): Set errno on failure, and avoid memory leak.
45067
45068 2007-08-19  Bruno Haible  <bruno@clisp.org>
45069
45070         * modules/closein (Depends-on): Add freadahead.
45071         * lib/closein.c: Include freadahead.h.
45072         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
45073         is zero.
45074
45075 2007-08-19  Bruno Haible  <bruno@clisp.org>
45076
45077         * modules/freadahead-tests: New file.
45078         * tests/test-freadahead.sh: New file.
45079         * tests/test-freadahead.c: New file.
45080
45081         * modules/freadahead: New file.
45082         * lib/freadahead.h: New file.
45083         * lib/freadahead.c: New file.
45084         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
45085         fbufmode, fpurge, freadable, fwritable.
45086
45087 2007-08-19  Eric Blake  <ebb9@byu.net>
45088
45089         Test yesno in combination with closein.
45090         * lib/yesno.c (yesno): Document use of stdin.
45091         * modules/yesno-tests (Files): New module.
45092         * tests/test-yesno.c (main): New file.
45093         * tests/test-yesno.sh: Likewise.
45094
45095 2007-08-19  Bruno Haible  <bruno@clisp.org>
45096
45097         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
45098         * lib/fseeko.c (rpl_fseeko): Likewise.
45099         * lib/fseterr.c (fseterr): Likewise.
45100
45101 2007-08-19  Bruno Haible  <bruno@clisp.org>
45102
45103         * tests/test-lseek.c (main): Disable a test for BeOS.
45104         * doc/functions/lseek.texi: Document the BeOS bug.
45105
45106 2007-08-19  Bruno Haible  <bruno@clisp.org>
45107             Eric Blake  <ebb9@byu.net>
45108
45109         * lib/lseek.c: Include <sys/stat.h>.
45110         (rpl_lseek): Add workaround code also for Unix platforms.
45111         Needed for BeOS.
45112         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
45113         * doc/functions/lseek.texi: Document BeOS definiency.
45114
45115 2007-08-18  Bruno Haible  <bruno@clisp.org>
45116
45117         * modules/fstrcmp-tests: New file.
45118         * tests/test-fstrcmp.c: New file.
45119
45120 2007-08-18  Bruno Haible  <bruno@clisp.org>
45121
45122         * modules/fstrcmp: New file, from GNU gettext with modifications.
45123         * lib/fstrcmp.h: New file, from GNU gettext.
45124         * lib/fstrcmp.c: New file, from GNU gettext.
45125         * MODULES.html.sh (String handling): Add fstrcmp.
45126
45127 2007-08-18  Bruno Haible  <bruno@clisp.org>
45128
45129         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
45130         'bool'.
45131         (diag, compareseq): Remove const from the ctxt argument.
45132         (USE_HEURISTIC): Undefine at the end.
45133
45134 2007-08-18  Jim Meyering  <jim@meyering.net>
45135
45136         New file: lib/idcache.h
45137         * NEWS: Mention the addition.
45138         * modules/idcache (Files): Add lib/idcache.h
45139         * lib/idcache.c: Include "idcache.h".
45140         Don't include <sys/types.h>.
45141         Add a FIXME comment.
45142         Move file-scoped "static" declarations to the top.
45143         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
45144
45145 2007-08-17  Bruno Haible  <bruno@clisp.org>
45146         and Paul Eggert  <eggert@cs.ucla.edu>
45147
45148         * MODULES.html.sh: Add diffseq.
45149         * modules/diffseq: New file.
45150         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
45151         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
45152
45153 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45154
45155         Import changes from coreutils for bootstrap script.
45156
45157         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
45158
45159         * build-aux/bootstrap (slurp): Work even in environments where
45160         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
45161         current code does not slurp files whose names start with ".", and
45162         this looks like it might be a troublesome area.
45163
45164         2007-07-11  Jim Meyering  <jim@meyering.net>
45165
45166         If there's a GPL vN copyright comment, require that N == 3.
45167
45168         2007-07-08  Jim Meyering  <jim@meyering.net>
45169
45170         Run the coreutils-specific code only if tests/Makefile.am.in exists.
45171         * build-aux/bootstrap (mam_template): Move definition out of loop.
45172
45173         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
45174
45175         * build-aux/bootstrap (symlink_to_dir): Rename function from
45176         symlink_to_gnulib.  Add a directory parameter.  Update all
45177         callers.
45178         (cp_mark_as_generated): Also check for -- and link to -- files in
45179         gl/.
45180
45181         2007-07-08  Jim Meyering  <jim@meyering.net>
45182
45183         Adapt to deeper hierarchy in gnulib.
45184         * build-aux/bootstrap (symlink_to_dir): If the destination
45185         directory doesn't exist, create it. This is required at least for
45186         "lib/uniwidth/cjk.h".
45187
45188         2007-05-15  Jim Meyering  <jim@meyering.net>
45189
45190         * build-aux/bootstrap: Now that generated Makefile.am files
45191         are no longer under version control, they must be created at
45192         bootstrap time.
45193
45194 2007-08-14  Ben Pfaff  <blp@gnu.org>
45195
45196         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
45197
45198 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45199
45200         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
45201         given the changes below.
45202         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
45203         even on hosts that have padding bits beyond the supported 64.
45204
45205 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
45206
45207         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
45208         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
45209         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
45210         depends on it.
45211         (xstrtol_error): Remove.
45212         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
45213         but with a different signature.
45214         (ATTRIBUTE_NORETURN, __attribute__): New macros.
45215         * lib/xstrtol-error.c: Include exitfail.h.
45216         (xstrtol_fatal): New function, with a different signature from the
45217         old xstrtol_error, so that the caller need not worry about passing
45218         in an exit status, or about storage management of the option argument.
45219         (xstrtol_error): Now a static function.  Redo signature to
45220         implement xstrtol_fatal.  Output the correct number of hyphens in
45221         front of the option so that the caller need not worry about
45222         storage management.
45223         (N_): New macro.
45224         (_): Remove; not used now.
45225         * modules/xstrtol: Depend on getopt.
45226         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
45227         of old STRTOL_FATAL_ERROR macro.
45228         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
45229         of test program.
45230         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
45231         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
45232
45233 2007-08-08  Eric Blake  <ebb9@byu.net>
45234
45235         * lib/xstrtol-error.c: Add missing include.
45236
45237         Move xstrtol messages into gnulib domain, when --pobase is used.
45238         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
45239         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
45240         * modules/xstrtol (Files): Distribute new file.
45241         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
45242         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
45243         * tests/test-xstrtol.c: ...into new file.
45244         * tests/test-xstrtoul.c: Also test xstrtoul.
45245         * tests/test-xstrtoimax.c: Also test xstrtoimax.
45246         * tests/test-xstrtoumax.c: Also test xstrtoumax.
45247         * tests/test-xstrtol.sh: Drive the tests.
45248         * tests/test-xstrtoimax.sh: Likewise.
45249         * tests/test-xstrtoumax.sh: Likewise.
45250         * modules/xstrtol-tests: New module.
45251         * modules/xstrtoimax-tests: Likewise.
45252         * modules/xstrtoumax-tests: Likewise.
45253
45254 2007-08-08  Jim Meyering  <jim@meyering.net>
45255
45256         New function: mfile_name_concat.
45257         * lib/filenamecat.c (mfile_name_concat): New function, just like
45258         file_name_concat, but return NULL upon failure rather than exiting
45259         with a diagnostic.
45260         * lib/filenamecat.h: Declare it.
45261
45262 2007-08-07  Bruno Haible  <bruno@clisp.org>
45263
45264         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
45265         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
45266         warning from gcc.
45267         Reported by Eric Blake.
45268
45269 2007-08-07  Simon Josefsson  <simon@josefsson.org>
45270
45271         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
45272         * modules/crypto/arcfour (License): Likewise.
45273         * modules/crypto/des-tests (License): Likewise.
45274         * modules/crypto/gc-arctwo-tests (License): Likewise.
45275         * modules/crypto/gc-des-tests (License): Likewise.
45276         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
45277         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
45278         * modules/crypto/gc-md2-tests (License): Likewise.
45279         * modules/crypto/gc-md4-tests (License): Likewise.
45280         * modules/crypto/gc-md5-tests (License): Likewise.
45281         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
45282         * modules/crypto/gc-rijndael-tests (License): Likewise.
45283         * modules/crypto/gc-sha1-tests (License): Likewise.
45284         * modules/crypto/gc-tests (License): Likewise.
45285         * modules/crypto/hmac-md5 (License): Likewise.
45286         * modules/crypto/hmac-sha1 (License): Likewise.
45287         * modules/crypto/md2-tests (License): Likewise.
45288         * modules/crypto/md4-tests (License): Likewise.
45289         * modules/crypto/md5 (License): Likewise.
45290         * modules/crypto/rijndael (License): Likewise.
45291         * modules/crypto/sha1 (License): Likewise.
45292         * modules/memxor (License): Likewise.
45293
45294 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
45295         and Bruno Haible  <bruno@clisp.org>
45296
45297         * NEWS: Describe interface changes to human, xstrtol.
45298         * lib/human.h: Include <xstrtol.h>.
45299         (human_options): Return enum strtol_error, not int.  Remove
45300         bool arg; take int * instead.
45301         * lib/human.c: Don't include "gettext.h".
45302         (_): Remove; no longer used.
45303         Don't include <xstrtol.h>, since human.h does it.
45304         (human_options): Adjust to abovementioned interface changes.
45305         Do not report error to stderr; that's now the caller's
45306         responsibility.
45307         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
45308         interface change.
45309         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
45310         Str, Argument_type_string.  All uses changed.  Put " argument"
45311         in diagnostics to make them clearer.  Change wording of suffix
45312         message for clarity.
45313         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
45314         Argument_type_string.
45315         (STRTOL_FATAL_WARN): Remove; no longer used.
45316         * modules/human (Depends-on): Remove gettext-h.
45317
45318 2007-08-06  Simon Josefsson  <simon@josefsson.org>
45319
45320         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
45321
45322 2007-07-31  Bruno Haible  <bruno@clisp.org>
45323
45324         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
45325         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
45326         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
45327
45328 2007-07-31  Bruno Haible  <bruno@clisp.org>
45329
45330         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
45331         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
45332
45333 2007-07-30  Bruno Haible  <bruno@clisp.org>
45334
45335         * modules/base64 (License): Use the synonymous term "LGPLv2+".
45336         * modules/c-ctype (License): Likewise.
45337         * modules/c-strcase (License): Likewise.
45338         * modules/check-version (License): Likewise.
45339         * modules/iconv (License): Likewise.
45340         * modules/iconv_open (License): Likewise.
45341         * modules/read-file (License): Likewise.
45342         * modules/striconv (License): Likewise.
45343         * modules/strverscmp (License): Likewise.
45344         * modules/vasprintf (License): Likewise.
45345         * modules/crypto/des (License): Likewise.
45346         * modules/crypto/gc (License): Likewise.
45347         * modules/crypto/gc-arcfour (License): Likewise.
45348         * modules/crypto/gc-arctwo (License): Likewise.
45349         * modules/crypto/gc-des (License): Likewise.
45350         * modules/crypto/gc-hmac-md5 (License): Likewise.
45351         * modules/crypto/gc-hmac-sha1 (License): Likewise.
45352         * modules/crypto/gc-md2 (License): Likewise.
45353         * modules/crypto/gc-md4 (License): Likewise.
45354         * modules/crypto/gc-md5 (License): Likewise.
45355         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
45356         * modules/crypto/gc-random (License): Likewise.
45357         * modules/crypto/gc-rijndael (License): Likewise.
45358         * modules/crypto/gc-sha1 (License): Likewise.
45359         * modules/crypto/md2 (License): Likewise.
45360         * modules/crypto/md4 (License): Likewise.
45361
45362 2007-07-30  Jim Meyering  <jim@meyering.net>
45363
45364         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
45365         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
45366         it has valid stat data.  This bug would cause du not to count the
45367         sizes of inaccessible directories.
45368         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
45369         in <http://bugzilla.redhat.com/250077>.
45370
45371 2007-07-25  Peter O'Gorman  <peter@pogma.com>
45372             Bruno Haible  <bruno@clisp.org>
45373
45374         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
45375         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
45376         #include_next, gives a diagnostic about it, but reports no error in
45377         the exit code.
45378         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
45379
45380 2007-07-24  Ben Pfaff  <blp@gnu.org>
45381
45382         Improve name: "count-one-bits" is better than "popcount".
45383         * MODULES.html.sh: Update name.
45384         * lib/popcount.h: Renamed lib/count-one-bits.h.
45385         (popcount): Renamed count_one_bits.
45386         (popcountl): Renamed count_one_bits_l.
45387         (popcountll): Renamed count_one_bits_ll.
45388         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
45389         * modules/popcount: Renamed module/count-one-bits.
45390         * modules/popcount-tests: Renamed module/count-one-bits-tests.
45391         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
45392
45393 2007-07-23  Ben Pfaff  <blp@gnu.org>
45394
45395         * lib/popcount.h (popcount32): Reduce size of constants, to allow
45396         better code generation, and add U to large constants to avoid
45397         warnings, in non-GCC case.
45398         Suggested by Bruno Haible.
45399
45400 2007-07-23  Ben Pfaff  <blp@gnu.org>
45401
45402         * lib/popcount.h: Use verify_true instead of if...abort.
45403         * modules/popcount: Depend on verify module.
45404         Suggested by Jim Meyering.
45405
45406 2007-07-23  Bruno Haible  <bruno@clisp.org>
45407
45408         * gnulib-tool (func_import): Create a .cvsignore file also when the
45409         directory is not yet in CVS but the toplevel directory is. When
45410         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
45411         Reported by Karl Berry.
45412
45413 2007-07-22  Ben Pfaff  <blp@gnu.org>
45414
45415         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
45416         case.
45417         Suggested by Eric Blake.
45418
45419 2007-07-22  Ben Pfaff  <blp@gnu.org>
45420
45421         New module: popcount.
45422         * MODULES.html.sh: Add popcount.
45423         * modules/popcount: New file.
45424         * modules/popcount-tests: New file.
45425         * tests/test-popcount.c: New file.
45426         * lib/popcount.h: New file.
45427         * m4/popcount.m4: New file.
45428
45429 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
45430
45431         * build-aux/announce-gen: Update to GPLv3.
45432
45433         * build-aux/config.guess: Update from config.
45434
45435 2007-07-21  Bruno Haible  <bruno@clisp.org>
45436
45437         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
45438         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
45439
45440 2007-07-20  Jim Meyering  <jim@meyering.net>
45441
45442         * check-module: Diagnose a self-dependency.
45443
45444 2007-07-19  Bruno Haible  <bruno@clisp.org>
45445
45446         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
45447         empty.
45448         Reported by Eric Blake.
45449
45450 2007-07-18  Bruno Haible  <bruno@clisp.org>
45451
45452         * gnulib-tool: New options --po-base, --po-domain.
45453         (func_usage): Document them.
45454         (pobase, po_domain): New variables.
45455         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
45456         DEFAULT_TEXT_DOMAIN.
45457         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
45458         (func_import): Consider pobase and po_domain. Create a po/ directory.
45459         (func_create_testdir): Set pobase and po_domain to empty.
45460         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
45461         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
45462
45463 2007-07-18  Bruno Haible  <bruno@clisp.org>
45464
45465         * gnulib-tool (func_get_automake_snippet): Synthesize also an
45466         EXTRA_DIST augmentation for files in build-aux/.
45467
45468 2007-07-16  Bruno Haible  <bruno@clisp.org>
45469
45470         * modules/lseek (License): Use the synonymous term "LGPLv2+".
45471         * modules/getdelim (License): Likewise.
45472
45473 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45474
45475         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
45476         * modules/d-type (License): Likewise.
45477         * modules/extensions (License): Likewise.
45478         * modules/fnmatch (License): Likewise.
45479         * modules/fseeko (License): Likewise.
45480         * modules/getaddrinfo (License): Likewise.
45481         * modules/getline (License): Likewise.
45482         * modules/getlogin_r (License): Likewise.
45483         * modules/getpass (License): Likewise.
45484         * modules/gettimeofday (License): Likewise.
45485         * modules/glob (License): Likewise.
45486         * modules/inet_ntop (License): Likewise.
45487         * modules/malloc (License): Likewise.
45488         * modules/malloca (License): Likewise.
45489         * modules/memmem (License): Likewise.
45490         * modules/mempcpy (License): Likewise.
45491         * modules/memset (License): Likewise.
45492         * modules/minmax (License): Likewise.
45493         * modules/mktime (License): Likewise.
45494         * modules/netinet_in (License): Likewise.
45495         * modules/pathmax (License): Likewise.
45496         * modules/poll (License): Likewise.
45497         * modules/regex (License): Likewise.
45498         * modules/snprintf (License): Likewise.
45499         * modules/stdbool (License): Likewise.
45500         * modules/stdint (License): Likewise.
45501         * modules/stdio (License): Likewise.
45502         * modules/strcase (License): Likewise.
45503         * modules/strcasestr (License): Likewise.
45504         * modules/strdup (License): Likewise.
45505         * modules/string (License): Likewise.
45506         * modules/strndup (License): Likewise.
45507         * modules/strnlen (License): Likewise.
45508         * modules/strpbrk (License): Likewise.
45509         * modules/strptime (License): Likewise.
45510         * modules/strsep (License): Likewise.
45511         * modules/sys_select (License): Likewise.
45512         * modules/sys_socket (License): Likewise.
45513         * modules/sys_stat (License): Likewise.
45514         * modules/sys_time (License): Likewise.
45515         * modules/time (License): Likewise.
45516         * modules/time_r (License): Likewise.
45517         * modules/timegm (License): Likewise.
45518         * modules/unistd (License): Likewise.
45519         * modules/vsnprintf (License): Likewise.
45520         * modules/wctype (License): Likewise.
45521
45522 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45523
45524         * modules/argz (License): LGPLv2+.
45525
45526 2007-07-15  Karl Berry  <karl@gnu.org>
45527
45528         * doc/gnulib.texi: revise node structure per new fdl.texi.
45529
45530 2007-07-14  Bruno Haible  <bruno@clisp.org>
45531
45532         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
45533         the output file.
45534         * lib/uniname/uninames.h: Regenerated.
45535
45536 2007-07-14  Karl Berry  <karl@gnu.org>
45537
45538         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
45539         omitting sectioning and index commands.
45540
45541 2007-07-13  Bruno Haible  <bruno@clisp.org>
45542
45543         New gnulib-tool option --more-symlinks.
45544         * gnulib-tool (func_usage): Document --more-symlinks.
45545         (do_copyrights): New variable.
45546         Recognize option --more-symlinks.
45547         (func_import): Don't add a copyright notice transform to
45548         sed_transform_lib_file if do_copyrights is empty.
45549
45550 2007-07-13  Bruno Haible  <bruno@clisp.org>
45551
45552         * lib/vasnprintf.c (decimal_point_char): Define also if
45553         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
45554         && !NEED_PRINTF_DIRECTIVE_A.
45555         Reported by Clemens Koller <clemens.koller@anagramm.de> via
45556         Gary V. Vaughan <gary@gnu.org>.
45557
45558 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
45559
45560         * lib/inttypes_.h: Undo previous change, since it was fixed
45561         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
45562
45563 2007-07-13  Bruno Haible  <bruno@clisp.org>
45564
45565         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
45566         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
45567
45568 2007-07-13  Jim Meyering  <jim@meyering.net>
45569
45570         df: Don't fail for Tru64's "file-on-file mount".
45571         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
45572         so we fall through and use statfs instead.  Details here:
45573         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
45574         Reported by Albert Chin.
45575
45576 2007-07-13  Bruno Haible  <bruno@clisp.org>
45577
45578         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
45579         * modules/configmake (License): Likewise.
45580         * modules/gettext (License): Likewise.
45581         * modules/gettext-h (License): Likewise.
45582         * modules/include_next (License): Likewise.
45583         * modules/link-warning (License): Likewise.
45584         * modules/localcharset (License): Likewise.
45585         * modules/localename (License): Likewise.
45586         * modules/lock (License): Likewise.
45587         * modules/relocatable-lib-lgpl (License): Likewise.
45588         * modules/size_max (License): Likewise.
45589         * modules/vasnprintf (License): Likewise.
45590         * modules/wchar (License): Likewise.
45591         * modules/xsize (License): Likewise.
45592
45593 2007-07-13  Bruno Haible  <bruno@clisp.org>
45594
45595         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
45596         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
45597
45598 2007-07-12  Bruno Haible  <bruno@clisp.org>
45599
45600         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
45601         in the modules files.
45602
45603 2007-07-11  Karl Berry  <karl@gnu.org>
45604
45605         * MODULES.html.sh (func_module): use
45606          sed -e '\|^'"${includefile}"'$|d'
45607          instead of /.../d, to avoid errors on $includefile's containing /.
45608
45609 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
45610
45611         * gnulib-tool (func_import): Avoid duplication of --avoid
45612         statements
45613         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
45614         names to `_' in variable names.
45615
45616 2007-07-10  Eric Blake  <ebb9@byu.net>
45617
45618         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
45619         * NEWS: Document this change.
45620
45621 2007-07-08  Bruno Haible  <bruno@clisp.org>
45622
45623         Update to Unicode 5.0.
45624         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
45625         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
45626         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
45627         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
45628         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
45629         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
45630         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
45631         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
45632         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
45633         U+10A3F, U+1D242..U+1D244.
45634         (nonspacing_table_ind): Update.
45635         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
45636         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
45637
45638 2007-07-08  Bruno Haible  <bruno@clisp.org>
45639
45640         Update to Unicode 5.0.
45641         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
45642         code transform. Extend the name index field of unicode_name_to_code and
45643         unicode_code_to_name from 16 to 24 bits.
45644         * lib/uniname/uniname.c (unicode_character_name,
45645         unicode_name_character): Add the range 0x12xxx to the code transform.
45646         * lib/uniname/uninames.h: Regenerated.
45647         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
45648
45649 2007-07-07  Bruno Haible  <bruno@clisp.org>
45650
45651         * modules/wcwidth-tests: New file.
45652         * tests/test-wcwidth.c: New file.
45653
45654         Work around MacOS X wcwidth() bug.
45655         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
45656         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
45657         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
45658         original wcwidth in non-UTF-8 locales.
45659         * modules/wcwidth (Depends-on): Add localcharset, streq,
45660         uniwidth/width.
45661         * doc/functions/wcwidth.texi: Update.
45662
45663 2007-07-07  Bruno Haible  <bruno@clisp.org>
45664
45665         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
45666         (wcwidth): New declaration.
45667         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
45668         macros.
45669         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
45670         here. Prepare for creating <wchar.h> unconditionally.
45671         * modules/wchar (Depends-on): Add link-warning.
45672         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
45673         REPLACE_WCWIDTH, and GL_LINK_WARNING.
45674         * lib/wcwidth.h: Remove file.
45675         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
45676         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
45677         * modules/wcwidth (Files): Remove lib/wcwidth.h.
45678         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
45679         (Include): Replace wcwidth.h with <wchar.h>.
45680         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
45681         * lib/mbchar.h: Don't include wcwidth.h.
45682         * lib/mbswidth.c: Likewise.
45683         * NEWS: Mention the change.
45684
45685 2007-07-07  Bruno Haible  <bruno@clisp.org>
45686
45687         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
45688         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
45689         definition with an external declaration.
45690         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
45691         defined as a function. Remove AC_C_INLINE requirement.
45692         * modules/wcwidth (Files): Add lib/wcwidth.c.
45693         (Makefile.am): Remove redundant statement.
45694
45695 2007-07-07  Bruno Haible  <bruno@clisp.org>
45696
45697         * MODULES.html.sh (Unicode string functions): Add the new modules.
45698
45699         * tests/uniwidth/test-u32-strwidth.c: New file.
45700         * modules/uniwidth/u32-strwidth-tests: New file.
45701
45702         * lib/uniwidth/u32-strwidth.c: New file.
45703         * modules/uniwidth/u32-strwidth: New file.
45704
45705         * tests/uniwidth/test-u16-strwidth.c: New file.
45706         * modules/uniwidth/u16-strwidth-tests: New file.
45707
45708         * lib/uniwidth/u16-strwidth.c: New file.
45709         * modules/uniwidth/u16-strwidth: New file.
45710
45711         * tests/uniwidth/test-u8-strwidth.c: New file.
45712         * modules/uniwidth/u8-strwidth-tests: New file.
45713
45714         * lib/uniwidth/u8-strwidth.c: New file.
45715         * modules/uniwidth/u8-strwidth: New file.
45716
45717         * tests/uniwidth/test-u32-width.c: New file.
45718         * modules/uniwidth/u32-width-tests: New file.
45719
45720         * lib/uniwidth/u32-width.c: New file.
45721         * modules/uniwidth/u32-width: New file.
45722
45723         * tests/uniwidth/test-u16-width.c: New file.
45724         * modules/uniwidth/u16-width-tests: New file.
45725
45726         * lib/uniwidth/u16-width.c: New file.
45727         * modules/uniwidth/u16-width: New file.
45728
45729         * tests/uniwidth/test-u8-width.c: New file.
45730         * modules/uniwidth/u8-width-tests: New file.
45731
45732         * lib/uniwidth/u8-width.c: New file.
45733         * modules/uniwidth/u8-width: New file.
45734
45735         * tests/uniwidth/test-uc_width.c: New file.
45736         * modules/uniwidth/width-tests: New file.
45737
45738         * lib/uniwidth/width.c: New file, from GNU libiconv.
45739         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
45740         * modules/uniwidth/width: New file.
45741
45742         * lib/uniwidth.h: New file, from GNU libiconv.
45743         * modules/uniwidth/base: New file.
45744
45745 2007-07-07  Bruno Haible  <bruno@clisp.org>
45746
45747         * lib/uniname.h: New file, from GNU gettext.
45748         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
45749         * lib/uniname/uninames.h: New file, from GNU gettext.
45750         * lib/uniname/uniname.c: New file, from GNU gettext.
45751         * tests/uniname/test-uninames.sh: New file.
45752         * tests/uniname/test-uninames.c: New file, from GNU gettext.
45753         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
45754         * modules/uniname/base: New file.
45755         * modules/uniname/uniname: New file.
45756         * modules/uniname/uniname-tests: New file.
45757         * MODULES.html.sh (Unicode string functions): Add the new modules.
45758
45759 2007-07-06  Bruno Haible  <bruno@clisp.org>
45760
45761         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
45762
45763 2007-07-06  Bruno Haible  <bruno@clisp.org>
45764
45765         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
45766         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
45767         includes <cygwin/sys_time.h> which includes <sys/select.h> which
45768         include <sys/time.h>.
45769         Reported by Eric Blake.
45770
45771 2007-07-06  Eric Blake  <ebb9@byu.net>
45772
45773         Fix testing canonicalize on cygwin.
45774         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
45775         Revert patch from 2007-06-19.
45776         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
45777         canonicalize module is also in use.
45778         * tests/test-canonicalize.c: New file.
45779         * tests/test-canonicalize.sh: Likewise.
45780         * modules/canonicalize-tests: Likewise.
45781
45782 2007-07-06  Jim Meyering  <jim@meyering.net>
45783
45784         * lib/getugroups.c (getugroups): Detect getgrent failure.
45785         Adjust comment to reflect reality: this function may return -1.
45786
45787 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
45788
45789         * build-aux/bootstrap (TP_URL,get_translations): Update to use
45790         the new TP address.
45791         (usage): Fix typo
45792         (gnulib_mk): New variable.
45793
45794 2007-07-05  Jim Meyering  <jim@meyering.net>
45795
45796         Don't let endgrent clobber errno, no matter how improbable.
45797         * lib/getugroups.c (getugroups): Save and restore errno around
45798         endgrent call.
45799
45800         Close the group DB even when failing with 2^31 or more members.
45801         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
45802
45803 2007-07-04  Jim Meyering  <jim@meyering.net>
45804
45805         * lib/getugroups.h: New file.
45806         * lib/getugroups.c: Include "getugroups.h".
45807         Remove uses of "register" keyword.
45808         Move local variable, "cp", down into scope where used.
45809         Give "username" parameter the "const" attribute.
45810         * modules/getugroups (Files): Add lib/getugroups.h
45811
45812 2007-07-04  Karl Berry  <karl@gnu.org>
45813
45814         * MODULES.html.sh (func_all_modules): Complete rename of
45815         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
45816
45817 2007-07-02  Bruno Haible  <bruno@clisp.org>
45818
45819         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
45820         mode, when inttypes.h comes from gnulib.
45821         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
45822
45823 2007-07-02  Simon Josefsson  <simon@josefsson.org>
45824
45825         * NEWS: Mention lgpl module name change.
45826
45827         * modules/lgpl-2.1: Renamed from lgpl.
45828
45829         * NEWS: Mention gpl module name change.
45830
45831         * modules/gpl-3.0: New file, based on gpl-2.0.
45832
45833         * modules/gpl-2.0: Renamed from gpl.
45834
45835         * modules/gpl: Fix filename, doc/gpl.texi is now found at
45836         doc/gpl-2.0.texi.
45837
45838 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
45839
45840         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
45841         #define __STDC_LIMIT_MACROS temporarily while including
45842         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
45843         Problem reported by Joel E. Denny in
45844         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
45845
45846 2007-07-01  Bruno Haible  <bruno@clisp.org>
45847
45848         * lib/unistdio.h: New file.
45849         * lib/unistdio/u-asnprintf.h: New file.
45850         * lib/unistdio/u-asprintf.h: New file.
45851         * lib/unistdio/u-printf-args.c: New file.
45852         * lib/unistdio/u-printf-args.h: New file.
45853         * lib/unistdio/u-printf-parse.h: New file.
45854         * lib/unistdio/u-snprintf.h: New file.
45855         * lib/unistdio/u-sprintf.h: New file.
45856         * lib/unistdio/u-vasprintf.h: New file.
45857         * lib/unistdio/u-vsnprintf.h: New file.
45858         * lib/unistdio/u-vsprintf.h: New file.
45859         * lib/unistdio/ulc-asnprintf.c: New file.
45860         * lib/unistdio/ulc-asprintf.c: New file.
45861         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
45862         * lib/unistdio/ulc-printf-parse.c: New file.
45863         * lib/unistdio/ulc-snprintf.c: New file.
45864         * lib/unistdio/ulc-sprintf.c: New file.
45865         * lib/unistdio/ulc-vasnprintf.c: New file.
45866         * lib/unistdio/ulc-vasprintf.c: New file.
45867         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
45868         * lib/unistdio/ulc-vsnprintf.c: New file.
45869         * lib/unistdio/ulc-vsprintf.c: New file.
45870         * lib/unistdio/u8-asnprintf.c: New file.
45871         * lib/unistdio/u8-asprintf.c: New file.
45872         * lib/unistdio/u8-printf-parse.c: New file.
45873         * lib/unistdio/u8-snprintf.c: New file.
45874         * lib/unistdio/u8-sprintf.c: New file.
45875         * lib/unistdio/u8-vasnprintf.c: New file.
45876         * lib/unistdio/u8-vasprintf.c: New file.
45877         * lib/unistdio/u8-vsnprintf.c: New file.
45878         * lib/unistdio/u8-vsprintf.c: New file.
45879         * lib/unistdio/u8-u8-asnprintf.c: New file.
45880         * lib/unistdio/u8-u8-asprintf.c: New file.
45881         * lib/unistdio/u8-u8-snprintf.c: New file.
45882         * lib/unistdio/u8-u8-sprintf.c: New file.
45883         * lib/unistdio/u8-u8-vasnprintf.c: New file.
45884         * lib/unistdio/u8-u8-vasprintf.c: New file.
45885         * lib/unistdio/u8-u8-vsnprintf.c: New file.
45886         * lib/unistdio/u8-u8-vsprintf.c: New file.
45887         * lib/unistdio/u16-asnprintf.c: New file.
45888         * lib/unistdio/u16-asprintf.c: New file.
45889         * lib/unistdio/u16-printf-parse.c: New file.
45890         * lib/unistdio/u16-snprintf.c: New file.
45891         * lib/unistdio/u16-sprintf.c: New file.
45892         * lib/unistdio/u16-vasnprintf.c: New file.
45893         * lib/unistdio/u16-vasprintf.c: New file.
45894         * lib/unistdio/u16-vsnprintf.c: New file.
45895         * lib/unistdio/u16-vsprintf.c: New file.
45896         * lib/unistdio/u16-u16-asnprintf.c: New file.
45897         * lib/unistdio/u16-u16-asprintf.c: New file.
45898         * lib/unistdio/u16-u16-snprintf.c: New file.
45899         * lib/unistdio/u16-u16-sprintf.c: New file.
45900         * lib/unistdio/u16-u16-vasnprintf.c: New file.
45901         * lib/unistdio/u16-u16-vasprintf.c: New file.
45902         * lib/unistdio/u16-u16-vsnprintf.c: New file.
45903         * lib/unistdio/u16-u16-vsprintf.c: New file.
45904         * lib/unistdio/u32-asnprintf.c: New file.
45905         * lib/unistdio/u32-asprintf.c: New file.
45906         * lib/unistdio/u32-printf-parse.c: New file.
45907         * lib/unistdio/u32-snprintf.c: New file.
45908         * lib/unistdio/u32-sprintf.c: New file.
45909         * lib/unistdio/u32-vasnprintf.c: New file.
45910         * lib/unistdio/u32-vasprintf.c: New file.
45911         * lib/unistdio/u32-vsnprintf.c: New file.
45912         * lib/unistdio/u32-vsprintf.c: New file.
45913         * lib/unistdio/u32-u32-asnprintf.c: New file.
45914         * lib/unistdio/u32-u32-asprintf.c: New file.
45915         * lib/unistdio/u32-u32-snprintf.c: New file.
45916         * lib/unistdio/u32-u32-sprintf.c: New file.
45917         * lib/unistdio/u32-u32-vasnprintf.c: New file.
45918         * lib/unistdio/u32-u32-vasprintf.c: New file.
45919         * lib/unistdio/u32-u32-vsnprintf.c: New file.
45920         * lib/unistdio/u32-u32-vsprintf.c: New file.
45921         * tests/unistdio/test-ulc-asnprintf1.c: New file.
45922         * tests/unistdio/test-ulc-asnprintf1.h: New file.
45923         * tests/unistdio/test-ulc-printf1.h: New file.
45924         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
45925         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
45926         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
45927         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
45928         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
45929         * tests/unistdio/test-ulc-vasprintf1.c: New file.
45930         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
45931         * tests/unistdio/test-ulc-vsprintf1.c: New file.
45932         * tests/unistdio/test-u8-asnprintf1.c: New file.
45933         * tests/unistdio/test-u8-asnprintf1.h: New file.
45934         * tests/unistdio/test-u8-printf1.h: New file.
45935         * tests/unistdio/test-u8-vasnprintf1.c: New file.
45936         * tests/unistdio/test-u8-vasnprintf2.c: New file.
45937         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
45938         * tests/unistdio/test-u8-vasnprintf3.c: New file.
45939         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
45940         * tests/unistdio/test-u8-vasprintf1.c: New file.
45941         * tests/unistdio/test-u8-vsnprintf1.c: New file.
45942         * tests/unistdio/test-u8-vsprintf1.c: New file.
45943         * tests/unistdio/test-u16-asnprintf1.c: New file.
45944         * tests/unistdio/test-u16-asnprintf1.h: New file.
45945         * tests/unistdio/test-u16-printf1.h: New file.
45946         * tests/unistdio/test-u16-vasnprintf1.c: New file.
45947         * tests/unistdio/test-u16-vasnprintf2.c: New file.
45948         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
45949         * tests/unistdio/test-u16-vasnprintf3.c: New file.
45950         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
45951         * tests/unistdio/test-u16-vasprintf1.c: New file.
45952         * tests/unistdio/test-u16-vsnprintf1.c: New file.
45953         * tests/unistdio/test-u16-vsprintf1.c: New file.
45954         * tests/unistdio/test-u32-asnprintf1.c: New file.
45955         * tests/unistdio/test-u32-asnprintf1.h: New file.
45956         * tests/unistdio/test-u32-printf1.h: New file.
45957         * tests/unistdio/test-u32-vasnprintf1.c: New file.
45958         * tests/unistdio/test-u32-vasnprintf2.c: New file.
45959         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
45960         * tests/unistdio/test-u32-vasnprintf3.c: New file.
45961         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
45962         * tests/unistdio/test-u32-vasprintf1.c: New file.
45963         * tests/unistdio/test-u32-vsnprintf1.c: New file.
45964         * tests/unistdio/test-u32-vsprintf1.c: New file.
45965         * modules/unistdio/base: New file.
45966         * modules/unistdio/u-printf-args: New file.
45967         * modules/unistdio/ulc-asnprintf: New file.
45968         * modules/unistdio/ulc-asprintf: New file.
45969         * modules/unistdio/ulc-fprintf: New file.
45970         * modules/unistdio/ulc-printf-parse: New file.
45971         * modules/unistdio/ulc-snprintf: New file.
45972         * modules/unistdio/ulc-sprintf: New file.
45973         * modules/unistdio/ulc-vasnprintf: New file.
45974         * modules/unistdio/ulc-vasprintf: New file.
45975         * modules/unistdio/ulc-vfprintf: New file.
45976         * modules/unistdio/ulc-vsnprintf: New file.
45977         * modules/unistdio/ulc-vsprintf: New file.
45978         * modules/unistdio/u8-asnprintf: New file.
45979         * modules/unistdio/u8-asprintf: New file.
45980         * modules/unistdio/u8-printf-parse: New file.
45981         * modules/unistdio/u8-snprintf: New file.
45982         * modules/unistdio/u8-sprintf: New file.
45983         * modules/unistdio/u8-vasnprintf: New file.
45984         * modules/unistdio/u8-vasprintf: New file.
45985         * modules/unistdio/u8-vsnprintf: New file.
45986         * modules/unistdio/u8-vsprintf: New file.
45987         * modules/unistdio/u8-u8-asnprintf: New file.
45988         * modules/unistdio/u8-u8-asprintf: New file.
45989         * modules/unistdio/u8-u8-snprintf: New file.
45990         * modules/unistdio/u8-u8-sprintf: New file.
45991         * modules/unistdio/u8-u8-vasnprintf: New file.
45992         * modules/unistdio/u8-u8-vasprintf: New file.
45993         * modules/unistdio/u8-u8-vsnprintf: New file.
45994         * modules/unistdio/u8-u8-vsprintf: New file.
45995         * modules/unistdio/u16-asnprintf: New file.
45996         * modules/unistdio/u16-asprintf: New file.
45997         * modules/unistdio/u16-printf-parse: New file.
45998         * modules/unistdio/u16-snprintf: New file.
45999         * modules/unistdio/u16-sprintf: New file.
46000         * modules/unistdio/u16-vasnprintf: New file.
46001         * modules/unistdio/u16-vasprintf: New file.
46002         * modules/unistdio/u16-vsnprintf: New file.
46003         * modules/unistdio/u16-vsprintf: New file.
46004         * modules/unistdio/u16-u16-asnprintf: New file.
46005         * modules/unistdio/u16-u16-asprintf: New file.
46006         * modules/unistdio/u16-u16-snprintf: New file.
46007         * modules/unistdio/u16-u16-sprintf: New file.
46008         * modules/unistdio/u16-u16-vasnprintf: New file.
46009         * modules/unistdio/u16-u16-vasprintf: New file.
46010         * modules/unistdio/u16-u16-vsnprintf: New file.
46011         * modules/unistdio/u16-u16-vsprintf: New file.
46012         * modules/unistdio/u32-asnprintf: New file.
46013         * modules/unistdio/u32-asprintf: New file.
46014         * modules/unistdio/u32-printf-parse: New file.
46015         * modules/unistdio/u32-snprintf: New file.
46016         * modules/unistdio/u32-sprintf: New file.
46017         * modules/unistdio/u32-vasnprintf: New file.
46018         * modules/unistdio/u32-vasprintf: New file.
46019         * modules/unistdio/u32-vsnprintf: New file.
46020         * modules/unistdio/u32-vsprintf: New file.
46021         * modules/unistdio/u32-u32-asnprintf: New file.
46022         * modules/unistdio/u32-u32-asprintf: New file.
46023         * modules/unistdio/u32-u32-snprintf: New file.
46024         * modules/unistdio/u32-u32-sprintf: New file.
46025         * modules/unistdio/u32-u32-vasnprintf: New file.
46026         * modules/unistdio/u32-u32-vasprintf: New file.
46027         * modules/unistdio/u32-u32-vsnprintf: New file.
46028         * modules/unistdio/u32-u32-vsprintf: New file.
46029         * modules/unistdio/ulc-asnprintf-tests: New file.
46030         * modules/unistdio/ulc-vasnprintf-tests: New file.
46031         * modules/unistdio/ulc-vasprintf-tests: New file.
46032         * modules/unistdio/ulc-vsnprintf-tests: New file.
46033         * modules/unistdio/ulc-vsprintf-tests: New file.
46034         * modules/unistdio/u8-asnprintf-tests: New file.
46035         * modules/unistdio/u8-vasnprintf-tests: New file.
46036         * modules/unistdio/u8-vasprintf-tests: New file.
46037         * modules/unistdio/u8-vsnprintf-tests: New file.
46038         * modules/unistdio/u8-vsprintf-tests: New file.
46039         * modules/unistdio/u16-asnprintf-tests: New file.
46040         * modules/unistdio/u16-vasnprintf-tests: New file.
46041         * modules/unistdio/u16-vasprintf-tests: New file.
46042         * modules/unistdio/u16-vsnprintf-tests: New file.
46043         * modules/unistdio/u16-vsprintf-tests: New file.
46044         * modules/unistdio/u32-asnprintf-tests: New file.
46045         * modules/unistdio/u32-vasnprintf-tests: New file.
46046         * modules/unistdio/u32-vasprintf-tests: New file.
46047         * modules/unistdio/u32-vsnprintf-tests: New file.
46048         * modules/unistdio/u32-vsprintf-tests: New file.
46049         * MODULES.html.sh (Unicode string functions): Add the new modules.
46050
46051 2007-07-01  Bruno Haible  <bruno@clisp.org>
46052
46053         * lib/sprintf.c (sprintf): Limit the available length estimation,
46054         to avoid address wraparound.
46055         * lib/vsprintf.c (vsprintf): Likewise.
46056         * modules/sprintf-posix (Dependencies): Add stdint.
46057         * modules/vsprintf-posix (Dependencies): Likewise.
46058
46059 2007-07-01  Bruno Haible  <bruno@clisp.org>
46060
46061         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
46062         Windows PATH as well. Conservative double-quoting. Comments.
46063
46064 2007-07-01  Bruno Haible  <bruno@clisp.org>
46065             Eric Blake  <ebb9@byu.net>
46066             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46067
46068         * gnulib-tool (self_abspathname): Fix algorithm to cope with
46069         empty components in $PATH, denoting '.'.
46070
46071 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46072
46073         * gnulib-tool: Fix indentation.
46074         (func_create_megatestdir): Likewise.
46075         Report by Bruno Haible.
46076
46077 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46078
46079         Sync from Automake.
46080         * build-aux/gnupload: Fix shell portability issues with for loops.
46081         Report by Karl Berry.
46082
46083 2007-06-29  Simon Josefsson  <simon@josefsson.org>
46084
46085         * build-aux/maint.mk (POURL): Use translationproject.org.
46086
46087 2007-06-27  Simon Josefsson  <simon@josefsson.org>
46088             Bruno Haible  <bruno@clisp.org>
46089
46090         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
46091         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
46092         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
46093         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
46094         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
46095
46096 2007-06-27  Bruno Haible  <bruno@clisp.org>
46097
46098         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
46099         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
46100
46101 2007-06-26  Karl Berry  <karl@gnu.org>
46102
46103         * MODULES.html.sh: remove xreadlink-with-size.
46104
46105 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
46106
46107         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
46108         method that I hope also handles the double-include problem noted
46109         by Bruno Haible in
46110         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
46111
46112 2007-06-23  Bruno Haible  <bruno@clisp.org>
46113
46114         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46115         Don't let the 'mostlyclean' target fail if the last subdirectory could
46116         not be removed.
46117         Reported by Karl Berry.
46118
46119 2007-06-23  Bruno Haible  <bruno@clisp.org>
46120
46121         * gnulib-tool (echo): Add a speedier workaround for ksh.
46122         * tests/test-echo.sh: Likewise.
46123
46124 2007-06-23  Bruno Haible  <bruno@clisp.org>
46125
46126         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
46127         * tests/test-echo.sh: Likewise.
46128
46129 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46130
46131         * gnulib-tool (IFS): Initialize early, so we don't set it to
46132         empty later.
46133         (self_abspathname): Rewrite algorithm to set it, reindent.
46134         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
46135         (func_create_megatestdir): Merge some sed scripts.
46136
46137 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
46138
46139         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
46140         exposed by Sun Studio 11 cc on Solaris 8.
46141
46142 2007-06-22  Bruno Haible  <bruno@clisp.org>
46143
46144         * gnulib-tool (echo): Ensure the echo primitive does not interpret
46145         backslashes.
46146         * tests/test-echo.sh: New file.
46147
46148 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46149
46150         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
46151         simplify `sed_replace_build_aux' scripts, they are portable but
46152         echoing them with `echo' is not.
46153         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
46154
46155 2007-06-21  Karl Berry  <karl@gnu.org>
46156
46157         * config/srclist.txt: guess we can't handle the licenses via
46158         srclist at the moment.
46159
46160 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
46161
46162         * MODULES.html.sh: Add include_next.
46163         * modules/include_next: New file.
46164
46165 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
46166
46167         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
46168         INCLUDE_NEXT.
46169         (gl_CHECK_NEXT_HEADERS): New macro.
46170         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
46171         the obsolescent gl_ABSOLUTE_HEADER.
46172         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
46173         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
46174         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
46175         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
46176         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
46177         * m4/math_h.m4 (gl_MATH_H): Likewise.
46178         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
46179         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
46180         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
46181         * m4/stdint.m4 (gl_STDINT_H): Likewise.
46182         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
46183         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
46184         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
46185         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46186         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
46187         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
46188         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
46189         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
46190         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
46191         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
46192         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
46193         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
46194         * m4/inttypes.m4 (gl_INTTYPES_H): Define
46195         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
46196         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
46197         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
46198         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
46199         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
46200         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
46201         * lib/float_.h: Likewise.
46202         * lib/inttypes_.h: Likewise.
46203         * lib/math_.h: Likewise.
46204         * lib/search_.h: Likewise.
46205         * lib/signal_.h: Likewise.
46206         * lib/stdint_.h: Likewise.
46207         * lib/stdio_.h: Likewise.
46208         * lib/stdlib_.h: Likewise.
46209         * lib/string_.h: Likewise.
46210         * lib/sys_stat_.h: Likewise.
46211         * lib/sys_time_.h: Likewise.
46212         * lib/time_.h: Likewise.
46213         * lib/unistd_.h: Likewise.
46214         * lib/wchar_.h: Likewise.
46215         * lib/wctype_.h: Likewise.
46216         * lib/dirent_.h: Likewise.
46217         * lib/iconv_.h: Likewise.
46218         * lib/locale_.h: Likewise.
46219         * lib/netinet_in_.h: Likewise.
46220         * lib/sys_select_.h: Likewise.
46221         * lib/sys_socket_.h: Likewise.
46222         * lib/sysexits_.h: Likewise.
46223         * modules/fcntl (Depends-on): Depend on include_next, not
46224         absolute_header.
46225         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
46226         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
46227         * modules/fchdir: Likewise.
46228         * modules/float: Likewise.
46229         * modules/iconv_open: Likewise.
46230         * modules/inttypes: Likewise.
46231         * modules/locale: Likewise.
46232         * modules/math: Likewise.
46233         * modules/netinet_in: Likewise.
46234         * modules/search: Likewise.
46235         * modules/signal: Likewise.
46236         * modules/stdint: Likewise.
46237         * modules/stdio: Likewise.
46238         * modules/stdlib: Likewise.
46239         * modules/string: Likewise.
46240         * modules/sys_select: Likewise.
46241         * modules/sys_socket: Likewise.
46242         * modules/sys_stat: Likewise.
46243         * modules/sys_time: Likewise.
46244         * modules/sysexits: Likewise.
46245         * modules/time: Likewise.
46246         * modules/unistd: Likewise.
46247         * modules/wchar: Likewise.
46248         * modules/wctype: Likewise.
46249         * modules/sys_stat: Change maintainer to "all".
46250         * modules/unistd: Likewise.
46251
46252 2007-06-20  Karl Berry  <karl@gnu.org>
46253
46254         * config/srclist.txt: track www changes in license files.
46255
46256 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
46257
46258         * build-aux/bootstrap: Remove stray dot.
46259         Make sure build_aux settings are honored when linking
46260         gnulib_extra_files.
46261
46262 2007-06-19  Eric Blake  <ebb9@byu.net>
46263
46264         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
46265         Allow compilation on cygwin.
46266
46267 2007-06-19  Jim Meyering  <jim@meyering.net>
46268
46269         xreadlink-with-size: Remove module.  No longer used.
46270         Ex-callers now use xreadlink or mreadlink-with-size.
46271         * modules/xreadlink-with-size: Remove module.
46272         * lib/xreadlink-with-size.c: Remove file.
46273         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
46274         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
46275         just before the function definition *is* accurate.
46276
46277         Eliminate one way canonicalize_filename_mode could exit.
46278         * lib/canonicalize.c (canonicalize_filename_mode):
46279         Use mreadlink_with_size, not xreadlink_with_size.
46280
46281 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
46282
46283         Detect porting problems to FreeBSD/arm, which has time_t wider than
46284         long int.  Original problem reported for GNU diff by Xin Li in
46285         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
46286         * modules/getdate (Depends-on): Add intprops, verify.
46287         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
46288         is an integer type no wider than long int.
46289
46290 2007-06-18  Jim Meyering  <jim@meyering.net>
46291
46292         New module: mreadlink-with-size.
46293         * MODULES.html.sh: Add mreadlink-with-size.
46294         * modules/mreadlink-with-size: New module
46295         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
46296         not xreadlink-with-size.
46297         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
46298
46299 2007-06-16  Bruno Haible  <bruno@clisp.org>
46300
46301         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
46302         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
46303         Reported by Gary V. Vaughan <gary@gnu.org>.
46304
46305 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
46306
46307         Revamp lchown so that it lives in unistd.h where it belongs.
46308         * lib/lchown.h: Remove.
46309         * lib/dirchownmod.c: Don't include lib/lchown.h.
46310         * lib/fchownat.c: Likewise.
46311         * lib/openat.c: Likewise.
46312         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
46313         does not follow symlinks.
46314         (EOPNOTSUPP): Define if not defined.
46315         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
46316         is defined to 0.
46317         (lchown): New decl.
46318         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
46319         Do not check for lchown decl.
46320         Set REPLACE_LCHOWN.
46321         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
46322         REPLACE_LCHOWN.
46323         * modules/chown: Make it clear it follows symlinks.
46324         * modules/lchown: Make it clear it doesn't follow symlinks.
46325         (Files): Remove lib/lchown.h
46326         (Depends-on): Add unistd.
46327         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
46328         (Include): Include <unistd.h>, not "lchown.h".
46329         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
46330         REPLACE_LCHOWN.
46331
46332 2007-06-15  Jim Meyering  <jim@meyering.net>
46333
46334         Change license (GPL to LGPL) of fsusage and dependents.
46335         * modules/fsusage (License): Change to LGPL.
46336         * modules/full-read (License): Likewise.
46337         * modules/full-write (License): Likewise.
46338         * modules/safe-read (License): Likewise.
46339         * modules/safe-write (License): Likewise.
46340
46341 2007-06-14  Ben Pfaff  <blp@gnu.org>
46342
46343         Missing part of allocsa -> malloca transition.
46344         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
46345         gl_MALLOCA.
46346
46347 2007-06-12  Bruno Haible  <bruno@clisp.org>
46348
46349         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
46350         to ia64, x86_64, i386.
46351         Reported by Eric Blake.
46352
46353 2007-06-12  Bruno Haible  <bruno@clisp.org>
46354
46355         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
46356         cross-compiling to x86_64.
46357
46358 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
46359
46360         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
46361         glitch reported by Ralf Wildenhues in
46362         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
46363
46364         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
46365         Vin Shelton.
46366
46367 2007-06-11  Bruno Haible  <bruno@clisp.org>
46368
46369         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
46370         replacement string.
46371         Reported by Eric Blake.
46372
46373 2007-06-10  Bruno Haible  <bruno@clisp.org>
46374
46375         Prepare vasnprintf code for use with Unicode strings.
46376         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
46377         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
46378         TYPE_U32_STRING.
46379         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
46380         a_u32_string variants.
46381         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
46382         * lib/printf-args.c: Don't include config.h and the specification
46383         header if PRINTF_FETCHARGS is already defined.
46384         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
46385         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
46386         TYPE_U16_STRING, TYPE_U32_STRING.
46387         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
46388         u16_directive, u16_directives, u32_directive, u32_directives): New
46389         types.
46390         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
46391         New declarations.
46392         * lib/printf-parse.c: Don't include config.h and the specification
46393         header if PRINTF_PARSE is already defined. Eliminate the set of
46394         parameters for WIDE_CHAR_VERSION; the user of this file must provide
46395         them now. Include c-ctype.h.
46396         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
46397         directive and CHAR_T_ONLY_ASCII.
46398         * lib/vasnprintf.c: Don't include config.h and the specification header
46399         if VASNPRINTF is already defined.
46400         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
46401         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
46402         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
46403         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
46404         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
46405         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
46406         code accordingly.
46407         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
46408         pad_ourselves also in this case, with the 'c' and 's' directives, and
46409         with a different notion of "width".
46410         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
46411
46412 2007-06-10  Bruno Haible  <bruno@clisp.org>
46413
46414         * modules/unistr/u32-mbsnlen: New file.
46415         * lib/unistr/u32-mbsnlen.c: New file.
46416
46417         * modules/unistr/u16-mbsnlen: New file.
46418         * lib/unistr/u16-mbsnlen.c: New file.
46419
46420         * modules/unistr/u8-mbsnlen: New file.
46421         * lib/unistr/u8-mbsnlen.c: New file.
46422
46423         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
46424         declarations.
46425
46426 2007-06-10  Bruno Haible  <bruno@clisp.org>
46427
46428         * lib/string_.h (mbsnlen): New declaration.
46429         * lib/mbsnlen.c: New file.
46430         * m4/mbsnlen.m4: New file.
46431         * modules/mbsnlen: New file.
46432         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
46433         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
46434         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
46435
46436 2007-06-10  Bruno Haible  <bruno@clisp.org>
46437
46438         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
46439
46440 2007-06-10  Bruno Haible  <bruno@clisp.org>
46441
46442         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
46443         * lib/mbuiter.h: Likewise.
46444
46445 2007-06-10  Bruno Haible  <bruno@clisp.org>
46446
46447         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
46448         declaration.
46449
46450 2007-06-10  Karl Berry  <karl@gnu.org>
46451
46452         * config/srclist.txt: remove gettext entries, Bruno prefers
46453         to update individually.
46454
46455 2007-06-10  Bruno Haible  <bruno@clisp.org>
46456
46457         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
46458         'maxlen'. Ensure only length + width bytes are allocated, not
46459         length + 1 + width.
46460
46461 2007-06-09  Bruno Haible  <bruno@clisp.org>
46462
46463         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
46464         (CHAR_T): Remove macro.
46465         (VASNPRINTF): Update.
46466
46467 2007-06-09  Bruno Haible  <bruno@clisp.org>
46468
46469         * MODULES.html.sh (Unicode string functions): Add the new modules.
46470
46471         * modules/uniconv/u32-conv-to-enc: New file.
46472         * lib/uniconv/u32-conv-to-enc.c: New file.
46473         * modules/uniconv/u32-conv-to-enc-tests: New file.
46474         * tests/uniconv/test-u32-conv-to-enc.c: New file.
46475
46476         * modules/uniconv/u16-conv-to-enc: New file.
46477         * lib/uniconv/u16-conv-to-enc.c: New file.
46478         * lib/uniconv/u-conv-to-enc.h: New file.
46479         * modules/uniconv/u16-conv-to-enc-tests: New file.
46480         * tests/uniconv/test-u16-conv-to-enc.c: New file.
46481
46482         * modules/uniconv/u8-conv-to-enc: New file.
46483         * lib/uniconv/u8-conv-to-enc.c: New file.
46484         * modules/uniconv/u8-conv-to-enc-tests: New file.
46485         * tests/uniconv/test-u8-conv-to-enc.c: New file.
46486
46487         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
46488         u32_conv_to_encoding): New declarations.
46489
46490 2007-06-09  Bruno Haible  <bruno@clisp.org>
46491
46492         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
46493
46494 2007-06-09  Bruno Haible  <bruno@clisp.org>
46495
46496         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
46497         * modules/malloca: Renamed from modules/allocsa, updated.
46498         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
46499         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
46500         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
46501         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
46502         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
46503         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
46504         * modules/xmalloca: Renamed from modules/xallocsa, updated.
46505         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
46506         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
46507         * modules/c-strcasestr (Depends-on): Update.
46508         * lib/c-strcasestr.c: Update.
46509         * modules/c-strstr (Depends-on): Update.
46510         * lib/c-strstr.c: Update.
46511         * modules/canonicalize-lgpl (Depends-on): Update.
46512         * lib/canonicalize-lgpl.c: Update.
46513         * modules/clean-temp (Depends-on): Update.
46514         * lib/clean-temp.c: Update.
46515         * modules/csharpcomp (Depends-on): Update.
46516         * lib/csharpcomp.c: Update.
46517         * modules/csharpexec (Depends-on): Update.
46518         * lib/csharpexec.c: Update.
46519         * modules/javacomp (Depends-on): Update.
46520         * lib/javacomp.c: Update.
46521         * modules/javaexec (Depends-on): Update.
46522         * lib/javaexec.c: Update.
46523         * modules/mbscasestr (Depends-on): Update.
46524         * lib/mbscasestr.c: Update.
46525         * modules/mbsstr (Depends-on): Update.
46526         * lib/mbsstr.c: Update.
46527         * modules/setenv (Depends-on): Update.
46528         * lib/setenv.c: Update.
46529         * modules/strcasestr (Depends-on): Update.
46530         * lib/strcasestr.c: Update.
46531         * modules/striconveha (Depends-on): Update.
46532         * lib/striconveha.c: Update.
46533         * modules/relocatable-prog-wrapper (Files): Update.
46534         * lib/relocwrapper.c: Update.
46535         * build-aux/install-reloc: Update.
46536         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
46537
46538 2007-06-08  Bruno Haible  <bruno@clisp.org>
46539
46540         Port to uClibc.
46541         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
46542         * lib/fpurge.c (fpurge): Likewise.
46543         * lib/freading.c (freading): Likewise.
46544         * lib/fseeko.c (rpl_fseeko): Likewise.
46545         * lib/fseterr.c (fseterr): Likewise.
46546         * lib/fwriting.c (fwriting): Likewise.
46547         * tests/test-fflush.c (main): Avoid a failure on uClibc.
46548
46549 2007-06-08  Bruno Haible  <bruno@clisp.org>
46550
46551         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
46552         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
46553         * modules/gettext (Files): Add m4/intlmacosx.m4.
46554
46555 2007-06-07  Bruno Haible  <bruno@clisp.org>
46556
46557         * modules/localename-tests: New file.
46558         * tests/test-localename.c: New file.
46559
46560         New module 'localename'.
46561         * lib/localename.h: New file.
46562         * lib/localename.c: New file, from GNU gettext.
46563         * m4/localename.m4: New file.
46564         * modules/localename: New file.
46565
46566 2007-06-07  Bruno Haible  <bruno@clisp.org>
46567
46568         Work around the lack of <wchar.h> on some builds of uClibc.
46569         * doc/headers/wchar.texi: Update.
46570         * lib/wchar_.h: Include <wchar.h> only if it exists.
46571         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
46572         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
46573         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
46574         doesn't exist.
46575         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
46576         * modules/mbfile (Depends-on): Add wchar.
46577         * modules/mbiter (Depends-on): Likewise.
46578         * modules/mbuiter (Depends-on): Likewise.
46579         Reported by Simon Josefsson.
46580
46581 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
46582
46583         Work around problem reported by Steven M. Schweda in
46584         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
46585         Tru64 5.1B with the Compaq compiler environment installed declares
46586         an 'isblank' function but does not define it in the C library.
46587         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
46588         * lib/regex_internal.h (isblank): Likewise.
46589         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
46590         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
46591
46592 2007-06-05  Bruno Haible  <bruno@clisp.org>
46593
46594         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
46595         ia64.
46596         * modules/printf-safe: New file.
46597         * modules/fprintf-posix (Depends-on): Add printf-safe.
46598         * modules/printf-posix (Depends-on): Likewise.
46599         * modules/snprintf-posix (Depends-on): Likewise.
46600         * modules/sprintf-posix (Depends-on): Likewise.
46601         * modules/vasnprintf-posix (Depends-on): Likewise.
46602         * modules/vasprintf-posix (Depends-on): Likewise.
46603         * modules/vfprintf-posix (Depends-on): Likewise.
46604         * modules/vprintf-posix (Depends-on): Likewise.
46605         * modules/vsnprintf-posix (Depends-on): Likewise.
46606         * modules/vsprintf-posix (Depends-on): Likewise.
46607         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
46608         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
46609         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
46610         "no" on i386, x86_64, ia64.
46611         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
46612         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46613         on i386, x86_64, ia64.
46614         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
46615         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46616         on i386, x86_64, ia64.
46617         * tests/test-vasnprintf-posix.c: Include float.h.
46618         (LDBL80_WORDS): New macro.
46619         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46620         on i386, x86_64, ia64.
46621         * tests/test-vasprintf-posix.c: Include float.h.
46622         (LDBL80_WORDS): New macro.
46623         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46624         on i386, x86_64, ia64.
46625         * tests/test-snprintf-posix.c: Include float.h.
46626         * tests/test-sprintf-posix.c: Likewise.
46627         * tests/test-vsnprintf-posix.c: Likewise.
46628         * tests/test-vsprintf-posix.c: Likewise.
46629
46630 2007-06-05  Bruno Haible  <bruno@clisp.org>
46631
46632         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
46633         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
46634         non-IEEE numbers on i386, x86_64, ia64.
46635         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
46636         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
46637         * tests/test-isnanl.h: Include float.h.
46638         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
46639
46640 2007-06-05  Bruno Haible  <bruno@clisp.org>
46641
46642         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
46643         also the %a / %A. Handle the %a / %A code before this extra handling.
46644
46645 2007-06-05  Bruno Haible  <bruno@clisp.org>
46646
46647         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
46648         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
46649
46650 2007-06-05  Bruno Haible  <bruno@clisp.org>
46651
46652         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
46653         typo in variable name.
46654
46655 2007-06-05  Eric Blake  <ebb9@byu.net>
46656
46657         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
46658         Reported by Simon Josefsson.
46659
46660 2007-06-04  Bruno Haible  <bruno@clisp.org>
46661
46662         Avoid test failures on some PowerPC platforms.
46663         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
46664         Define differently for PowerPC.
46665         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
46666         Reported by Gary V. Vaughan <gary@gnu.org>.
46667
46668 2007-06-02  Bruno Haible  <bruno@clisp.org>
46669
46670         Fix test-stdint failure on FreeBSD/ia64.
46671         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
46672         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
46673         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
46674         * doc/headers/stdint.texi: Update.
46675
46676 2007-06-01  Bruno Haible  <bruno@clisp.org>
46677
46678         * tests/test-binary-io.c (main): Pass a third argument to open().
46679         Reported by Gary V. Vaughan <gary@gnu.org>.
46680
46681 2007-06-01  Bruno Haible  <bruno@clisp.org>
46682
46683         * doc/functions/frexpl.texi: Update for mingw.
46684
46685 2007-06-01  Bruno Haible  <bruno@clisp.org>
46686
46687         * tests/test-lseek.c (main): Disable test of errno for invalid third
46688         argument.
46689         * doc/functions/lseek.texi: Update.
46690         Reported by Gary V. Vaughan <gary@gnu.org>.
46691
46692 2007-05-28  Bruno Haible  <bruno@clisp.org>
46693
46694         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
46695
46696 2007-05-31  Eric Blake  <ebb9@byu.net>
46697
46698         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
46699         cross compiling.
46700
46701 2007-05-30  Eric Blake  <ebb9@byu.net>
46702         and Bruno Haible  <bruno@clisp.org>
46703
46704         Work around mingw test failures exposed by m4-1.4.9b.
46705         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
46706         * tests/test-unistd.c: Disable uid_t and git_t tests for the
46707         moment.
46708
46709 2007-05-30  Bruno Haible  <bruno@clisp.org>
46710
46711         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
46712         assuming that they are closed. Needed on HP-UX 11.
46713
46714 2007-05-29  Bruno Haible  <bruno@clisp.org>
46715
46716         Fix a problem with #include_next.
46717         * lib/dirent_.h: Split the double-inclusion guard.
46718         * lib/fcntl_.h: Likewise.
46719         * lib/float_.h: Likewise.
46720         * lib/iconv_.h: Likewise.
46721         * lib/inttypes_.h: Likewise.
46722         * lib/locale_.h: Likewise.
46723         * lib/math_.h: Likewise.
46724         * lib/netinet_in_.h: Likewise.
46725         * lib/search_.h: Likewise.
46726         * lib/signal_.h: Likewise.
46727         * lib/stdint_.h: Likewise.
46728         * lib/stdio_.h: Likewise.
46729         * lib/stdlib_.h: Likewise.
46730         * lib/string_.h: Likewise.
46731         * lib/sys_select_.h: Likewise.
46732         * lib/sys_socket_.h: Likewise.
46733         * lib/sys_stat_.h: Likewise.
46734         * lib/sys_time_.h: Likewise.
46735         * lib/sysexits_.h: Likewise.
46736         * lib/time_.h: Likewise.
46737         * lib/unistd_.h: Likewise.
46738         * lib/wchar_.h: Likewise.
46739         * lib/wctype_.h: Likewise.
46740
46741 2007-05-29  Bruno Haible  <bruno@clisp.org>
46742
46743         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
46744         for the moment.
46745
46746 2007-05-29  Bruno Haible  <bruno@clisp.org>
46747
46748         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
46749         invocation.
46750         Reported by Eric Blake.
46751
46752 2007-05-29  Bruno Haible  <bruno@clisp.org>
46753
46754         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
46755         compiling case.
46756
46757 2007-05-29  Eric Blake  <ebb9@byu.net>
46758             Bruno Haible  <bruno@clisp.org>
46759
46760         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
46761         cross compiles.
46762
46763 2007-05-28  Eric Blake  <ebb9@byu.net>
46764
46765         * modules/closein-tests (test_closein_LDADD): Support test on
46766         cygwin with libtool.
46767
46768 2007-05-28  Bruno Haible  <bruno@clisp.org>
46769
46770         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
46771         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
46772         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
46773         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
46774         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
46775         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
46776         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
46777         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
46778         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
46779
46780 2007-05-28  Eric Blake  <ebb9@byu.net>
46781
46782         Unconditionally include <config.h> in unit tests.
46783         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
46784         * tests/test-allocsa.c, tests/test-arcfour.c,
46785         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
46786         tests/test-array_list.c, tests/test-array_oset.c,
46787         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
46788         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
46789         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
46790         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
46791         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
46792         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
46793         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
46794         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
46795         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
46796         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
46797         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
46798         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
46799         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
46800         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
46801         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
46802         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
46803         test-md5.c, test-memmem.c, test-printf-posix.c,
46804         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
46805         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
46806         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
46807         test-strcasestr.c, test-striconv.c, test-striconveh.c,
46808         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
46809         test-vasnprintf-posix2.c, test-vasnprintf.c,
46810         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
46811         test-vfprintf-posix.c, test-vprintf-posix.c,
46812         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
46813         test-xvasprintf.c: Likewise.
46814
46815 2007-05-28  Bruno Haible  <bruno@clisp.org>
46816
46817         * gnulib-tool (func_import): Remember the --with-tests command-line
46818         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
46819         Reported by Eric Blake.
46820
46821 2007-05-28  Bruno Haible  <bruno@clisp.org>
46822
46823         * modules/ftell-tests: New file.
46824         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
46825         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
46826
46827         * lib/ftell.c: New file.
46828         * modules/ftell: New file.
46829         * m4/ftell.m4: New file.
46830         * doc/functions/ftell.texi: Update.
46831         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
46832         REPLACE_FTELL.
46833         * lib/stdio_.h (rpl_ftell): New declaration.
46834         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
46835         REPLACE_FTELL.
46836
46837 2007-05-28  Eric Blake  <ebb9@byu.net>
46838
46839         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
46840
46841 2007-05-28  Bruno Haible  <bruno@clisp.org>
46842
46843         * modules/fseek-tests: New file.
46844         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
46845         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
46846
46847         * lib/fseek.c: New file.
46848         * modules/fseek: New file.
46849         * m4/fseek.m4: New file.
46850         * doc/functions/fseek.texi: Update.
46851         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
46852         REPLACE_FSEEK.
46853         * lib/stdio_.h (rpl_fseek): New declaration.
46854         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
46855         REPLACE_FSEEK.
46856
46857 2007-05-28  Bruno Haible  <bruno@clisp.org>
46858
46859         * lib/stdio_.h (fflush): More comments.
46860
46861 2007-05-28  Bruno Haible  <bruno@clisp.org>
46862
46863         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
46864         runtime test.
46865
46866 2007-05-28  Eric Blake  <ebb9@byu.net>
46867
46868         Improve lseek module.
46869         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
46870         * lib/unistd_.h (lseek): Scale back link warning message.
46871         * tests/test-lseek.c: Beef up test.
46872         * tests/test-lseek.sh: Exercise more facets of lseek.
46873         Reported by Bruno Haible.
46874
46875 2007-05-28  Bruno Haible  <bruno@clisp.org>
46876
46877         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
46878         to define.
46879
46880 2007-05-27  Bruno Haible  <bruno@clisp.org>
46881
46882         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
46883
46884 2007-05-27  Bruno Haible  <bruno@clisp.org>
46885
46886         * modules/openmp: New file.
46887         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
46888         Noah Misch.
46889
46890 2007-05-26  Bruno Haible  <bruno@clisp.org>
46891
46892         * modules/chdir-long (Depends-on): Add fchdir.
46893         * modules/chdir-safer (Depends-on): Likewise.
46894         * modules/fts (Depends-on): Likewise.
46895         * modules/fts-lgpl (Depends-on): Likewise.
46896         * modules/openat (Depends-on): Likewise.
46897         * modules/savewd (Depends-on): Likewise.
46898
46899 2007-05-24  Eric Blake  <ebb9@byu.net>
46900
46901         Fix lseek on mingw.
46902         * modules/lseek: New module.
46903         * m4/lseek.m4: New file.
46904         * lib/lseek.c: New file.
46905         * modules/lseek-tests: New file.
46906         * tests/test-lseek.c: New file.
46907         * tests/test-lseek.sh: New file.
46908         * MODULES.html.sh: Document lseek module.
46909         * modules/fflush (Depends-on): Add lseek, fseeko.
46910         * modules/fseeko (Depends-on): Likewise.
46911         * modules/ftello (Depends-on): Likewise.
46912         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
46913         broken.
46914         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
46915         broken.
46916         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
46917         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
46918         * lib/ftello.c (rpl_ftello): Likewise.
46919         * tests/test-fseeko.c (main): Test this.
46920         * tests/test-fseeko.sh: Likewise.
46921         * tests/test-ftello.c (main): Likewise.
46922         * tests/test-ftello.sh: Likewise.
46923         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
46924         implies replacing fseek.
46925         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
46926         HAVE_FTELLO.
46927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
46928         * modules/unistd (Makefile.am): Likewise.
46929         * lib/unistd_.h (lseek): Declare a replacement.
46930         * doc/functions/lseek.texi (lseek): Document this fix.
46931         * doc/functions/fseek.texi (fseek): Likewise.
46932         * doc/functions/ftell.texi (ftell): Likewise.
46933
46934 2007-05-24  Bruno Haible  <bruno@clisp.org>
46935
46936         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
46937         in the printed representation of a NaN.
46938         * tests/test-vasprintf-posix.c (test_function): Likewise.
46939         * tests/test-snprintf-posix.h (test_function): Likewise.
46940         * tests/test-sprintf-posix.h (test_function): Likewise.
46941         Reported by Eric Blake.
46942
46943 2007-05-23  Eric Blake  <ebb9@byu.net>
46944
46945         Fix fseeko/ftello on cygwin 1.5.24.
46946         * doc/functions/fseeko.texi (fseeko): Document the fix.
46947         * doc/functions/ftello.texi (ftello): Document the fix.
46948         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
46949         * doc/functions/stdout.text (stdout): New file.
46950         * doc/functions/stderr.text (stderr): New file.
46951         * doc/gnulib.texi (Function Substitutes): Use new files.
46952         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
46953         prior to 1.7.0.
46954         * tests/test-ftello.c (main): Likewise for ftello.
46955         * tests/test-fseeko.sh: New file.
46956         * tests/test-ftello.sh: New file.
46957         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
46958         with seekable stdin.
46959         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
46960         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
46961         (gl_REPLACE_FSEEKO): New macro.
46962         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
46963         * modules/fseeko (Files): Distribute fseeko.c.
46964         * modules/ftello (Files): Distribute ftello.c.
46965         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
46966         mode.
46967         * lib/ftello.c (rpl_ftello): New file.
46968         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
46969         fseeko, ftello.
46970         (gl_STDIN_LARGE_OFFSET): New macro.
46971         * modules/stdio (Makefile.am): Perform the replacement.
46972         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
46973
46974 2007-05-23  Bruno Haible  <bruno@clisp.org>
46975
46976         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
46977         GNULIB_POSIXCHECK is defined.
46978
46979 2007-05-21  Bruno Haible  <bruno@clisp.org>
46980
46981         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
46982         Check also the output for NaN arguments. When cross-compiling, guess
46983         no on IRIX.
46984         * lib/vasnprintf.c: Update comments.
46985         * tests/test-vasnprintf-posix.c (strisnan): New function.
46986         (test_function): Use it.
46987         * tests/test-vasprintf-posix.c (strisnan): New function.
46988         (test_function): Use it.
46989         * tests/test-snprintf-posix.h (strisnan): New function.
46990         (test_function): Use it.
46991         * tests/test-sprintf-posix.h (strisnan): New function.
46992         (test_function): Use it.
46993         Reported by Eric Blake.
46994
46995 2007-05-20  Bruno Haible  <bruno@clisp.org>
46996
46997         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
46998         numbers that fails on BeOS.
46999         * doc/functions/frexpl.texi: Update.
47000
47001 2007-05-20  Jim Meyering  <jim@meyering.net>
47002
47003         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
47004         forced upon us by glibc-2.6.
47005
47006 2007-05-20  Bruno Haible  <bruno@clisp.org>
47007
47008         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
47009         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
47010         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
47011         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
47012         NEED_PRINTF_INFINITE.
47013         (is_infinitel): New function.
47014         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
47015         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
47016         gl_PREREQ_VASNPRINTF_INFINITE.
47017         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
47018         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47019         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
47020         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
47021         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
47022         gl_PREREQ_VASNPRINTF_INFINITE.
47023         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47024         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47025         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47026         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47027         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47028         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47029         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47030         * doc/functions/fprintf.texi: Update.
47031         * doc/functions/printf.texi: Update.
47032         * doc/functions/snprintf.texi: Update.
47033         * doc/functions/sprintf.texi: Update.
47034         * doc/functions/vfprintf.texi: Update.
47035         * doc/functions/vprintf.texi: Update.
47036         * doc/functions/vsnprintf.texi: Update.
47037         * doc/functions/vsprintf.texi: Update.
47038
47039 2007-05-20  Bruno Haible  <bruno@clisp.org>
47040
47041         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
47042         was not found in libc.
47043         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
47044
47045 2007-05-20  Bruno Haible  <bruno@clisp.org>
47046
47047         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
47048         printed as "-nan" instead of "nan".
47049         * tests/test-vasprintf-posix.c (test_function): Likewise.
47050         * tests/test-snprintf-posix.h (test_function): Likewise.
47051         * tests/test-sprintf-posix.h (test_function): Likewise.
47052         Needed for HP-UX 11.
47053
47054 2007-05-20  Jim Meyering  <jim@meyering.net>
47055
47056         Fix buggy test for the fchownat-deref bug.
47057         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
47058         symlink required for the run-test.  Without it, this test would
47059         always declare that fchownat doesn't work, and client code would
47060         unnecessarily use the replacement function with fixed libc.
47061         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
47062         Reported by Greg Schafer.
47063
47064 2007-05-19  Bruno Haible  <bruno@clisp.org>
47065
47066         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
47067         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
47068         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
47069         Needed for IRIX 6.5 and Solaris 2.5.1.
47070
47071 2007-05-19  Bruno Haible  <bruno@clisp.org>
47072
47073         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
47074         (test_function): Skip tests involving -0.0 on platforms where
47075         -0.0 = 0.0.
47076         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
47077         (test_function): Skip tests involving -0.0 on platforms where
47078         -0.0 = 0.0.
47079         * tests/test-snprintf-posix.h (have_minus_zero): New function.
47080         (test_function): Skip tests involving -0.0 on platforms where
47081         -0.0 = 0.0.
47082         * tests/test-sprintf-posix.h (have_minus_zero): New function.
47083         (test_function): Skip tests involving -0.0 on platforms where
47084         -0.0 = 0.0.
47085         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
47086         tests.
47087         * tests/test-printf-posix.h (test_function): Likewise.
47088         * tests/test-printf-posix.output: Remove all -0.0 related results.
47089         Needed for IRIX 6.5.
47090
47091 2007-05-19  Bruno Haible  <bruno@clisp.org>
47092
47093         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
47094         printed as "nan0x7fffffff" instead of "nan".
47095         * tests/test-vasprintf-posix.c (test_function): Likewise.
47096         * tests/test-snprintf-posix.h (test_function): Likewise.
47097         * tests/test-sprintf-posix.h (test_function): Likewise.
47098         * tests/test-fprintf-posix.h (NaN): Remove macro.
47099         (test_function): Remove all NaN related tests.
47100         * tests/test-printf-posix.h (NaN): Remove macro.
47101         (test_function): Remove all NaN related tests.
47102         * tests/test-printf-posix.output: Remove all NaN related results.
47103         Needed for IRIX 6.5.
47104
47105 2007-05-19  Bruno Haible  <bruno@clisp.org>
47106
47107         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
47108         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
47109
47110 2007-05-19  Bruno Haible  <bruno@clisp.org>
47111
47112         * lib/float_.h: New file.
47113         * m4/float_h.m4: New file.
47114         * modules/float: New file.
47115         * modules/isnanl (Dependencies): Add float.
47116         * modules/isnanl-nolibm (Dependencies): Likewise.
47117         * modules/mathl (Dependencies): Likewise.
47118         * modules/printf-frexpl (Dependencies): Likewise.
47119         * modules/signbit (Dependencies): Likewise.
47120         * modules/vasnprintf (Dependencies): Likewise.
47121         * doc/headers/float.texi: Update.
47122
47123 2007-05-19  Jim Meyering  <jim@meyering.net>
47124
47125         * lib/utimens.c (gl_futimens): Rename from futimens,
47126         now that glibc-2.6 declares futimens.
47127         * lib/utimens.h: Likewise.
47128
47129 2007-05-19  Bruno Haible  <bruno@clisp.org>
47130
47131         Avoid test failures on mingw.
47132         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
47133         * tests/test-printf-posix.sh: Likewise.
47134         * tests/test-vfprintf-posix.sh: Likewise.
47135         * tests/test-vprintf-posix.sh: Likewise.
47136
47137 2007-05-19  Bruno Haible  <bruno@clisp.org>
47138
47139         Fix *printf result for NaN, Inf, -0.0 on mingw.
47140         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
47141         * lib/vasnprintf.c: Include math.h and isnan.h.
47142         (is_infinite_or_zero): New function.
47143         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
47144         values in the %f, %F, %e, %E, %g, %G directives.
47145         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
47146         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47147         gl_PRINTF_INFINITE and test its result. Invoke
47148         gl_PREREQ_VASNPRINTF_INFINITE.
47149         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47150         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47151         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47152         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47153         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47154         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47155         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47156         * doc/functions/fprintf.texi: Update.
47157         * doc/functions/printf.texi: Update.
47158         * doc/functions/snprintf.texi: Update.
47159         * doc/functions/sprintf.texi: Update.
47160         * doc/functions/vfprintf.texi: Update.
47161         * doc/functions/vprintf.texi: Update.
47162         * doc/functions/vsnprintf.texi: Update.
47163         * doc/functions/vsprintf.texi: Update.
47164
47165 2007-05-19  Bruno Haible  <bruno@clisp.org>
47166
47167         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
47168         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
47169         Instead of multiplying with 10^k, set extra_zeroes to k.
47170         (scale10_round_long_double): Remove function.
47171
47172 2007-05-18  Bruno Haible  <bruno@clisp.org>
47173
47174         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
47175         introduced on 2007-05-06.
47176
47177 2007-05-18  Bruno Haible  <bruno@clisp.org>
47178
47179         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
47180         %g directives.
47181         * tests/test-vasprintf-posix.c (test_function): Likewise.
47182         * tests/test-snprintf-posix.h (test_function): Likewise.
47183         * tests/test-sprintf-posix.h (test_function): Likewise.
47184
47185 2007-05-18  Bruno Haible  <bruno@clisp.org>
47186
47187         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
47188         (strmatch): New function.
47189         (test_function): Test the %f directive on numbers of various exponents.
47190         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
47191         (strmatch): New function.
47192         (test_function): Test the %f directive on numbers of various exponents.
47193         * tests/test-snprintf-posix.h (strmatch): New function.
47194         (test_function): Test the %f directive on numbers of various exponents.
47195         * tests/test-sprintf-posix.h (strmatch): New function.
47196         (test_function): Test the %f directive on numbers of various exponents.
47197         * tests/test-snprintf-posix.c (SIZEOF): New macro.
47198         * tests/test-sprintf-posix.c (SIZEOF): New macro.
47199         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
47200         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
47201
47202 2007-05-18  Bruno Haible  <bruno@clisp.org>
47203
47204         Add support for 'long double' number output.
47205         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
47206         * lib/vasnprintf.c: Include math.h and float+.h.
47207         (mp_limb_t): New type.
47208         (GMP_LIMB_BITS): New macro.
47209         (mp_twolimb_t): New type.
47210         (GMP_TWOLIMB_BITS): New macro.
47211         (mpn_t): New type.
47212         (multiply, divide, convert_to_decimal, decode_long_double,
47213         scale10_round_long_double, scale10_round_decimal_long_double,
47214         floorlog10l): New functions.
47215         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
47216         for the %f, %F, %e, %E, %g, %G directives.
47217         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
47218         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47219         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
47220         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
47221         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47222         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47223         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47224         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47225         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47226         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47227         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47228         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
47229         * modules/snprintf-posix (Depends-on): Likewise.
47230         * modules/sprintf-posix (Depends-on): Likewise.
47231         * modules/vasnprintf-posix (Depends-on): Likewise.
47232         * modules/vasprintf-posix (Depends-on): Likewise.
47233         * modules/vfprintf-posix (Depends-on): Likewise.
47234         * modules/vsnprintf-posix (Depends-on): Likewise.
47235         * modules/vsprintf-posix (Depends-on): Likewise.
47236         * modules/vasnprintf (Files): Add lib/float+.h.
47237         * doc/functions/fprintf.texi: Update.
47238         * doc/functions/printf.texi: Update.
47239         * doc/functions/snprintf.texi: Update.
47240         * doc/functions/sprintf.texi: Update.
47241         * doc/functions/vfprintf.texi: Update.
47242         * doc/functions/vprintf.texi: Update.
47243         * doc/functions/vsnprintf.texi: Update.
47244         * doc/functions/vsprintf.texi: Update.
47245
47246 2007-05-18  Bruno Haible  <bruno@clisp.org>
47247
47248         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
47249
47250 2007-05-18  Bruno Haible  <bruno@clisp.org>
47251
47252         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
47253         for printing 64-bit integers. Needed for mingw.
47254
47255 2007-05-18  Bruno Haible  <bruno@clisp.org>
47256
47257         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
47258         gl_FUNC_FREXPL_WORKS.
47259         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
47260
47261 2007-05-18  Bruno Haible  <bruno@clisp.org>
47262
47263         * modules/frexpl-nolibm-tests: New file.
47264
47265         * modules/frexpl-nolibm: New file.
47266         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
47267
47268 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
47269
47270         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
47271         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
47272         GCC 4.2, which otherwise issues a lot of warnings.
47273         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
47274         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
47275         Likewise.
47276         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
47277         * modules/iconv_open (iconv.h): Likewise.
47278         * modules/locale (locale.h): Likewise.
47279         * modules/netinet_in (netinet/in.h): Likewise.
47280         * modules/sys_select (sys_select.h): Likewise.
47281         * modules/sys_socket (sys/socket.h): Likewise.
47282         * modules/sys_stat (sys/stat.h): Likewise.
47283         * modules/sysexits (sysexits.h): Likewise.
47284         * modules/unistd (unistd.h): Likewise.
47285
47286 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47287
47288         * modules/closein-tests (Makefile.am): Distribute
47289         `test-closein.sh'.
47290
47291 2007-05-17  Bruno Haible  <bruno@clisp.org>
47292
47293         * tests/test-printf-posix.output: Renamed from
47294         tests/test-fprintf-posix.out.
47295         * modules/fprintf-posix-tests: Update.
47296         * modules/printf-posix-tests: Update.
47297         * modules/vfprintf-posix-tests: Update.
47298         * modules/vprintf-posix-tests: Update.
47299         * tests/test-fprintf-posix.sh: Update.
47300         * tests/test-printf-posix.sh: Update.
47301         * tests/test-vfprintf-posix.sh: Update.
47302         * tests/test-vprintf-posix.sh: Update.
47303         Reported by Ralf Wildenhues.
47304
47305 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
47306
47307         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
47308         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
47309         GCC 4.2, which otherwise issues a lot of warnings.
47310         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
47311         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
47312         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
47313         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
47314         it should no longer be needed.
47315         * lib/string_.h: Likewise.
47316         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
47317         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
47318         * modules/inttypes (inttypes.h): Likewise.
47319         * modules/math (math.h): Likewise.
47320         * modules/search (search.h): Likewise.
47321         * modules/signal (signal.h): Likewise.
47322         * modules/stdint (stdint.h): Likewise.
47323         * modules/stdio (stdio.h): Likewise.
47324         * modules/stdlib (stdlib.h): Likewise.
47325         * modules/string (string.h): Likewise.
47326         * modules/sys_time (sys/time.h): Likewise.
47327         * modules/time (time.h): Likewise.
47328         * modules/wchar (wchar.h): Likewise.
47329         * modules/wctype (wtype.h): Likewise.
47330
47331 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
47332
47333         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
47334
47335 2007-05-13  Bruno Haible  <bruno@clisp.org>
47336
47337         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
47338         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
47339         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
47340         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
47341         (gl_PREREQ_STRTOK_R): Don't require it here.
47342
47343 2007-05-13  Bruno Haible  <bruno@clisp.org>
47344
47345         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
47346         when used in C++ mode.
47347
47348 2007-05-12  Bruno Haible  <bruno@clisp.org>
47349
47350         * lib/linebuffer.h: Tweak doc.
47351         * lib/linebuffer.c: Likewise.
47352
47353 2007-05-12  James Youngman  <jay@gnu.org>
47354
47355         * lib/linebuffer.c (readlinebuffer_delim): New function,
47356         like readlinebuffer, but use a caller-specified delimiter.
47357         (readlinebuffer): Just call readlinebuffer_delim with '\n'
47358         as the delimiter.
47359         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
47360
47361 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47362
47363         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
47364         * modules/openat (Files): Remove openat-die.c.
47365         (Depends-on): Add openat-die.
47366         * modules/openat-die: New module.
47367
47368 2007-05-06  Bruno Haible  <bruno@clisp.org>
47369
47370         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
47371         Update with info about Cygwin.
47372         * doc/functions/fprintf.texi: Update.
47373         * doc/functions/printf.texi: Update.
47374         * doc/functions/snprintf.texi: Update.
47375         * doc/functions/sprintf.texi: Update.
47376         * doc/functions/vfprintf.texi: Update.
47377         * doc/functions/vprintf.texi: Update.
47378         * doc/functions/vsnprintf.texi: Update.
47379         * doc/functions/vsprintf.texi: Update.
47380         Reported by Eric Blake.
47381
47382 2007-05-06  Bruno Haible  <bruno@clisp.org>
47383
47384         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
47385         padding ourselves for the floating-point directives.
47386         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
47387         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
47388         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
47389         gl_PRINTF_FLAG_ZERO and test its result. Invoke
47390         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
47391         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47392         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
47393         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47394         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47395         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47396         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47397         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47398         * tests/test-snprintf-posix.h (test_function): Also check the width
47399         and some flags in the %f directive.
47400         * tests/test-sprintf-posix.h (test_function): Likewise.
47401         * tests/test-vasnprintf-posix.c (test_function): Likewise.
47402         * tests/test-vasprintf-posix.c (test_function): Likewise.
47403         * doc/functions/fprintf.texi: Update.
47404         * doc/functions/printf.texi: Update.
47405         * doc/functions/snprintf.texi: Update.
47406         * doc/functions/sprintf.texi: Update.
47407         * doc/functions/vfprintf.texi: Update.
47408         * doc/functions/vprintf.texi: Update.
47409         * doc/functions/vsnprintf.texi: Update.
47410         * doc/functions/vsprintf.texi: Update.
47411
47412 2007-05-06  Bruno Haible  <bruno@clisp.org>
47413
47414         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
47415         pass the ' flag character to sprintf or snprintf.
47416         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
47417         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
47418         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
47419         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
47420         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
47421         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47422         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
47423         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47424         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47425         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47426         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47427         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47428         * tests/test-snprintf-posix.h (test_function): Also check the grouping
47429         flag.
47430         * tests/test-sprintf-posix.h (test_function): Likewise.
47431         * tests/test-vasnprintf-posix.c (test_function): Likewise.
47432         * tests/test-vasprintf-posix.c (test_function): Likewise.
47433         * doc/functions/fprintf.texi: Update.
47434         * doc/functions/printf.texi: Update.
47435         * doc/functions/snprintf.texi: Update.
47436         * doc/functions/sprintf.texi: Update.
47437         * doc/functions/vfprintf.texi: Update.
47438         * doc/functions/vprintf.texi: Update.
47439         * doc/functions/vsnprintf.texi: Update.
47440         * doc/functions/vsprintf.texi: Update.
47441
47442 2007-05-01  Bruno Haible  <bruno@clisp.org>
47443
47444         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
47445
47446 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
47447
47448         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
47449         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
47450
47451 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47452
47453         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
47454         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
47455         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
47456
47457 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
47458
47459         * lib/argp-help.c (struct hol_entry): New member `ord'.
47460         (HOL_ENTRY_PTRCMP): Use ord for comparison
47461         (hol_sort): Initialize ord.
47462
47463 2007-05-01  Bruno Haible  <bruno@clisp.org>
47464
47465         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
47466         Reported by Eric Blake.
47467         * doc/gnulib.texi (Function Substitutes): Update.
47468
47469 2007-05-01  Bruno Haible  <bruno@clisp.org>
47470
47471         * doc/functions.texi: Remove file, now redundant through
47472         doc/functions/*.texi.
47473
47474 2007-05-01  Bruno Haible  <bruno@clisp.org>
47475
47476         * modules/argp (Depends-on): Add sleep.
47477
47478 2007-05-01  Bruno Haible  <bruno@clisp.org>
47479
47480         * modules/sleep-tests: New file.
47481         * tests/test-sleep.c: New file.
47482
47483         * modules/sleep: New file.
47484         * lib/sleep.c: New file.
47485         * m4/sleep.m4: New file.
47486         * lib/unistd_.h (sleep): New declaration.
47487         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
47488         HAVE_SLEEP.
47489         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
47490         * doc/functions/sleep.texi: Document the sleep module.
47491
47492 2007-05-01  Bruno Haible  <bruno@clisp.org>
47493
47494         * lib/sigprocmask.h: Remove file.
47495         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
47496         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
47497         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
47498         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
47499         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
47500         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
47501         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
47502         HAVE_SIGSET_T as a shell variable.
47503         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
47504         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
47505         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
47506         (Depends-on): Add signal. Remove verify.
47507         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
47508         (Include): Mention <signal.h> instead of sigprocmask.h.
47509         * NEWS: Mention the change.
47510         * lib/fatal-signal.c: Don't include sigprocmask.h.
47511
47512 2007-05-01  Bruno Haible  <bruno@clisp.org>
47513
47514         * modules/signal: New file.
47515         * lib/signal_.h: New file.
47516         * m4/signal_h.m4: New file.
47517
47518 2007-05-01  Bruno Haible  <bruno@clisp.org>
47519
47520         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
47521         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
47522         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
47523         HAVE_WCTYPE_CTMP_BUG into wctype.h.
47524
47525 2007-05-01  Bruno Haible  <bruno@clisp.org>
47526
47527         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
47528         configure time.
47529         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
47530         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
47531         * modules/sys_stat (Makefile.am): Substitute their values into
47532         sys/stat.h.
47533
47534 2007-05-01  Bruno Haible  <bruno@clisp.org>
47535
47536         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
47537         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
47538         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
47539
47540 2007-05-01  Bruno Haible  <bruno@clisp.org>
47541
47542         * doc/header/assert.texi: Undo last change: don't mention the gnulib
47543         'assert' module here.
47544
47545 2007-05-01  Bruno Haible  <bruno@clisp.org>
47546
47547         * doc/functions/*.texi: New files.
47548         * doc/functions/google-ranking.txt: New file.
47549         * doc/gnulib.texi (Function Substitutes): New chapter.
47550         (ctime, inet_ntoa): Remove sections.
47551         * doc/ctime.texi: Remove file.
47552         * doc/inet_ntoa.texi: Remove file.
47553         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
47554         dependencies.
47555         (%.info): New rule, specifying a --reference-limit.
47556
47557 2007-05-01  Bruno Haible  <bruno@clisp.org>
47558
47559         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
47560
47561 2007-05-01  Bruno Haible  <bruno@clisp.org>
47562
47563         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
47564         the portability of 'mkdir' to mingw systems.
47565
47566 2007-05-01  Bruno Haible  <bruno@clisp.org>
47567
47568         * doc/headers/google-ranking.txt: New file.
47569
47570 2007-04-30  Eric Blake  <ebb9@byu.net>
47571
47572         Prefer fseeko to fseek.
47573         * modules/getpass (Depends-on): Add fseeko.
47574         * lib/getpass.c (getpass): Use fseeko, not fseek.
47575
47576 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
47577
47578         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
47579         assumes the sorting is stable, while most qsort implementations
47580         are not.  Use argument addresses to ensure they never compare as
47581         equal.
47582
47583         * tests/test-argp-2.sh (usage-indent test): Fix output
47584         (func_compare): Restore diff options
47585         * tests/test-argp.c: Restore #include "progname.h"
47586
47587 2007-04-29  Bruno Haible  <bruno@clisp.org>
47588
47589         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
47590         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
47591         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
47592         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47593         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
47594         (configure.ac): Define CHECK_SNPRINTF_POSIX.
47595         (TESTS, check_PROGRAMS): Add test-snprintf.
47596         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
47597         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
47598         (TESTS, check_PROGRAMS): Add test-vsnprintf.
47599         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
47600         assertions that fail on HP-UX, OSF/1, or IRIX.
47601         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
47602
47603 2007-04-29  Bruno Haible  <bruno@clisp.org>
47604
47605         * MODULES.html.sh (posix_functions): Remove 'contents'.
47606
47607 2007-04-29  Karl Berry  <karl@gnu.org>
47608
47609         * config/srclist.txt (gendocs_template_min): new entry.
47610
47611 2007-04-29  Bruno Haible  <bruno@clisp.org>
47612
47613         Work around fpurge bug on BSD systems.
47614         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
47615         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
47616         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
47617         fpurge to rpl_fpurge if the system already has this function.
47618         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
47619         the case where the system already has this function. Correct invariants
47620         on BSD systems.
47621         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
47622         BSD systems.
47623
47624 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
47625
47626         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
47627         proposed by Sven Verdoolaege.
47628
47629         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
47630         options.
47631         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
47632         (usage and help tests): Update
47633
47634 2007-04-29  Bruno Haible  <bruno@clisp.org>
47635
47636         * tests/test-fflush.c (main): Use a file of size 17, not 10.
47637         Print more information in case of failure. Disable a test on BeOS.
47638
47639 2007-04-29  Bruno Haible  <bruno@clisp.org>
47640
47641         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
47642         This helps debugging on systems on which no gdb is available.
47643
47644 2007-04-29  Bruno Haible  <bruno@clisp.org>
47645
47646         * lib/freading.h: Improve comments.
47647         * lib/fwriting.h: Likewise.
47648         * tests/test-freading.c (main): Don't check freading immediately after
47649         repositioning. Needed for glibc.
47650
47651 2007-04-29  Bruno Haible  <bruno@clisp.org>
47652
47653         * lib/freading.c (freading): Trivial simplification.
47654
47655 2007-04-28  Bruno Haible  <bruno@clisp.org>
47656
47657         * tests/test-fwriting.c (main): Also test the interaction between
47658         fflush and fwriting.
47659         * modules/fwriting-tests (Depends-on): Add fflush.
47660
47661         * tests/test-freading.c (main): Also test the interaction between
47662         fflush and freading.
47663         * modules/freading-tests (Depends-on): Add fflush.
47664
47665 2007-04-28  Bruno Haible  <bruno@clisp.org>
47666
47667         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
47668         fseeko and ftello.
47669         Suggested by Eric Blake.
47670
47671 2007-04-28  Jim Meyering  <jim@meyering.net>
47672
47673         Avoid false-negative in gl_STDINT_H's C99 conformance test.
47674         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
47675         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
47676
47677 2007-04-27  Eric Blake  <ebb9@byu.net>
47678
47679         * doc/headers/assert.texi (assert.h): Document assert module use.
47680
47681 2007-04-27  Bruno Haible  <bruno@clisp.org>
47682
47683         * doc/headers/*.texi: New files.
47684         * doc/gnulib.texi (Header File Substitutes): New chapter.
47685         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
47686         dependencies.
47687         (standards.info ,standards.html, standards.dvi): Update dependencies.
47688         (mostlyclean, clean): New targets.
47689
47690 2007-04-27  Bruno Haible  <bruno@clisp.org>
47691
47692         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
47693         * modules/sysexits (Files, Makefile.am): Update.
47694
47695         * lib/sys_socket_.h: Renamed from lib/socket_.h.
47696         * modules/sys_socket (Files, Makefile.am): Update.
47697
47698         * lib/sys_stat_.h: Renamed from lib/stat_.h.
47699         * modules/sys_stat (Files, Makefile.am): Update.
47700
47701 2007-04-27  Eric Blake  <ebb9@byu.net>
47702
47703         * lib/freading.h: Improve comments.
47704         * lib/fwriting.h: Likewise.
47705         * lib/fflush.c: Likewise.
47706
47707         Fix closein for mingw.
47708         * modules/closein-tests: Add tests for closein.
47709         * tests/test-closein.c: New file.
47710         * tests/test-closein.sh: Likewise.
47711         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
47712         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
47713
47714 2007-04-27  Bruno Haible  <bruno@clisp.org>
47715
47716         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
47717         version is < 6.
47718         * lib/math_.h [__DECC]: Likewise.
47719         * lib/stdio_.h [__DECC]: Likewise.
47720         * lib/stdlib_.h [__DECC]: Likewise.
47721         * lib/string_.h [__DECC]: Likewise.
47722         * lib/time_.h [__DECC]: Likewise.
47723         * lib/wchar_.h [__DECC]: Likewise.
47724         * lib/wctype_.h [__DECC]: Likewise.
47725
47726 2007-04-27  Bruno Haible  <bruno@clisp.org>
47727
47728         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
47729
47730 2007-04-27  Bruno Haible  <bruno@clisp.org>
47731
47732         * lib/fflush.c: Add comments.
47733         * modules/fpurge-tests (Depends-on): Add fflush.
47734         * modules/freadable-tests (Depends-on): Likewise.
47735         * modules/fwritable-tests (Depends-on): Likewise.
47736
47737 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
47738
47739         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
47740         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
47741         Report by Bruno Haible <bruno@clisp.org>.
47742
47743 2007-04-26  Eric Blake  <ebb9@byu.net>
47744
47745         Fix fflush on mingw.
47746         * modules/fflush (Depends-on): Add freading.
47747         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
47748         but unread data.
47749
47750 2007-04-26  Eric Blake  <ebb9@byu.net>
47751         and Bruno Haible  <bruno@clisp.org>
47752
47753         Implement freading and fwriting.
47754         * lib/freading.c: New file.
47755         * lib/freading.h: Likewise.
47756         * m4/freading.m4: Likewise.
47757         * modules/freading: Likewise.
47758         * modules/freading-tests: Likewise.
47759         * tests/test-freading.c: Likewise.
47760         * lib/fwriting.c: New file.
47761         * lib/fwriting.h: Likewise.
47762         * m4/fwriting.m4: Likewise.
47763         * modules/fwriting: Likewise.
47764         * modules/fwriting-tests: Likewise.
47765         * tests/test-fwriting.c: Likewise.
47766         * MODULES.html.sh (File stream based Input/Output): Mention them.
47767
47768 2007-04-26  Bruno Haible  <bruno@clisp.org>
47769
47770         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
47771         'long' when we assume it.
47772         Suggested by Eric Blake.
47773
47774 2007-04-26  Bruno Haible  <bruno@clisp.org>
47775
47776         Ensure fseeko, ftello are declared on glibc systems.
47777         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
47778         * modules/fseeko (configure.ac-early): Likewise.
47779         * modules/ftello (configure.ac-early): Likewise.
47780         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
47781         AC_FUNC_FSEEKO for this.
47782         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
47783         (gl_CHECK_FSEEKO): Remove macro.
47784
47785 2007-04-26  Bruno Haible  <bruno@clisp.org>
47786
47787         * tests/test-fflush.c (main): Also check the ftell result after
47788         fflush and fseek/fseeko.
47789         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
47790         file descriptor position cache in the stream.
47791         * lib/fseeko.c (rpl_fseeko): Likewise.
47792
47793 2007-04-26  Bruno Haible  <bruno@clisp.org>
47794
47795         * modules/fflush-tests (Depends-on): Add fseeko.
47796
47797 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
47798             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47799
47800         * lib/argz_.h: ensure error_t definition is obtained in same
47801         mechanism system argz.h would have.
47802         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
47803         argz facilities are known bad.  Err on the side of caution if
47804         cross-compiling.
47805
47806 2007-04-25  Eric Blake  <ebb9@byu.net>
47807
47808         * lib/fpurge.c (includes): Use stdlib.h for free.
47809         * tests/test-fflush.c (main): Also test fflush-fseeko.
47810
47811 2007-04-25  Bruno Haible  <bruno@clisp.org>
47812
47813         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
47814         * lib/fseeko.c: New file.
47815         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
47816         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
47817         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
47818         gl_FUNC_FSEEKO.
47819         (gl_FUNC_FSEEKO): Invoke it.
47820         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
47821         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
47822         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
47823
47824 2007-04-25  Bruno Haible  <bruno@clisp.org>
47825
47826         * modules/fflush (Depends-on): Add ftello.
47827
47828 2007-04-25  Bruno Haible  <bruno@clisp.org>
47829
47830         * modules/ftello-tests: New file.
47831         * tests/test-ftello.c: New file.
47832
47833         * modules/ftello: New file.
47834         * m4/ftello.m4: New file.
47835         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
47836         HAVE_FTELLO.
47837         * lib/stdio_.h (ftello): New declaration.
47838         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
47839         HAVE_FTELLO.
47840
47841 2007-04-25  Bruno Haible  <bruno@clisp.org>
47842
47843         * modules/fseeko-tests: New file.
47844         * tests/test-fseeko.c: New file.
47845
47846         * modules/fseeko: New file.
47847         * m4/fseeko.m4: New file.
47848         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
47849         HAVE_FSEEKO.
47850         * lib/stdio_.h (fseeko): New declaration.
47851         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
47852         HAVE_FSEEKO.
47853
47854 2007-04-25  Bruno Haible  <bruno@clisp.org>
47855
47856         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
47857
47858 2007-04-25  Bruno Haible  <bruno@clisp.org>
47859
47860         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
47861         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
47862         * tests/test-unistd.c: Likewise.
47863         * tests/test-fcntl.c: Likewise.
47864
47865 2007-04-23  Eric Blake  <ebb9@byu.net>
47866
47867         * lib/fflush.c: Fix missing include.
47868         Reported by Bruno Haible.
47869
47870 2007-04-23  Bruno Haible  <bruno@clisp.org>
47871
47872         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
47873         Reported by Eric Blake.
47874
47875 2007-04-23  Bruno Haible  <bruno@clisp.org>
47876
47877         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
47878
47879 2007-04-23  Bruno Haible  <bruno@clisp.org>
47880
47881         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
47882
47883 2007-04-23  Bruno Haible  <bruno@clisp.org>
47884
47885         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
47886         Needed on HP-UX 11.
47887
47888 2007-04-16  Eric Blake  <ebb9@byu.net>
47889
47890         Make fflush rely on fpurge.
47891         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
47892         open coding all variants.
47893         * modules/fflush (Depends-on): Add fpurge and unistd.
47894         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
47895         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
47896
47897         Fix --with-tests compilation on cygwin.
47898         * modules/argmatch-tests (Makefile.am): List gnulib library first
47899         in LDADD.
47900         * modules/argp-tests (Makefile.am): Likewise.
47901         * modules/array-list-tests (Makefile.am): Likewise.
47902         * modules/array-oset-tests (Makefile.am): Likewise.
47903         * modules/avltree-list-tests (Makefile.am): Likewise.
47904         * modules/avltree-oset-tests (Makefile.am): Likewise.
47905         * modules/avltreehash-list-tests (Makefile.am): Likewise.
47906         * modules/carray-list-tests (Makefile.am): Likewise.
47907         * modules/dirname-tests (Makefile.am): Likewise.
47908         * modules/frexp-tests (Makefile.am): Likewise.
47909         * modules/isnanl-tests (Makefile.am): Likewise.
47910         * modules/linked-list-tests (Makefile.am): Likewise.
47911         * modules/linkedhash-list-tests (Makefile.am): Likewise.
47912         * modules/lock-tests (Makefile.am): Likewise.
47913         * modules/rbtree-list-tests (Makefile.am): Likewise.
47914         * modules/rbtree-oset-tests (Makefile.am): Likewise.
47915         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
47916         * modules/tls-tests (Makefile.am): Likewise.
47917         * modules/tsearch-tests (Makefile.am): Likewise.
47918         * modules/xvasprintf-tests (Makefile.am): Likewise.
47919
47920         Fix fpurge for cygwin.
47921         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
47922         value.
47923         * modules/fpurge-tests (Depends-on): Clean up trash.
47924
47925 2007-04-16  Simon Josefsson  <simon@josefsson.org>
47926
47927         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
47928
47929         * m4/autobuild.m4: Re-indent.
47930
47931 2007-04-13  Bruno Haible  <bruno@clisp.org>
47932
47933         * modules/fpurge-tests: New file.
47934         * tests/test-fpurge.c: New file.
47935
47936         * modules/fpurge: New file.
47937         * lib/fpurge.h: New file.
47938         * lib/fpurge.c: New file.
47939         * m4/fpurge.m4: New file.
47940
47941 2007-04-13  Bruno Haible  <bruno@clisp.org>
47942
47943         * modules/fbufmode-tests: New file.
47944         * tests/test-fbufmode.c: New file.
47945
47946         * modules/fbufmode: New file.
47947         * lib/fbufmode.h: New file.
47948         * lib/fbufmode.c: New file.
47949         * m4/fbufmode.m4: New file.
47950
47951 2007-04-13  Bruno Haible  <bruno@clisp.org>
47952
47953         * modules/fwritable-tests: New file.
47954         * tests/test-fwritable.c: New file.
47955
47956         * modules/fwritable: New file.
47957         * lib/fwritable.h: New file.
47958         * lib/fwritable.c: New file.
47959         * m4/fwritable.m4: New file.
47960
47961 2007-04-13  Bruno Haible  <bruno@clisp.org>
47962
47963         * modules/freadable-tests: New file.
47964         * tests/test-freadable.c: New file.
47965
47966         * modules/freadable: New file.
47967         * lib/freadable.h: New file.
47968         * lib/freadable.c: New file.
47969         * m4/freadable.m4: New file.
47970
47971 2007-04-13  Bruno Haible  <bruno@clisp.org>
47972
47973         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
47974         MOSTLYCLEANFILES.
47975
47976 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
47977
47978         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
47979         gzip bootstrap.conf to avoid dragging in i18n machinery.
47980         (gnulib_tool_option): Use it.
47981
47982 2007-04-13  Bruno Haible  <bruno@clisp.org>
47983
47984         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
47985         %F directives.
47986         * tests/test-vasprintf-posix.c (test_function): Likewise.
47987         * tests/test-snprintf-posix.h (test_function): Likewise.
47988         * tests/test-sprintf-posix.h (test_function): Likewise.
47989         * tests/test-fprintf-posix.h (test_function): Likewise.
47990         * tests/test-printf-posix.h (test_function): Likewise.
47991         * tests/test-fprintf-posix.out: Likewise.
47992
47993 2007-04-13  Bruno Haible  <bruno@clisp.org>
47994
47995         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
47996         * modules/tls-tests (configure.ac): Likewise.
47997         Reported by Arto C. Nirkko <anirkko@insel.ch>.
47998
47999 2007-04-13  Bruno Haible  <bruno@clisp.org>
48000
48001         * lib/tls.c (glthread_tls_get): Fix return type.
48002         Patch by Arto C. Nirkko <anirkko@insel.ch>.
48003
48004 2007-04-12  Eric Blake  <ebb9@byu.net>
48005
48006         * modules/gettime (Depends-on): Remove gettime.
48007         Reported by Dmitry V. Levin.
48008
48009 2007-04-12  Bruno Haible  <bruno@clisp.org>
48010
48011         * modules/fflush (Include): Mention <stdio.h>.
48012         * modules/strtoimax (Include): Mention <inttypes.h>.
48013         * modules/strtoumax (Include): Likewise.
48014
48015 2007-04-12  Eric Blake  <ebb9@byu.net>
48016
48017         * .cvsignore: New file.
48018         * .gitignore: Likewise.
48019
48020 2007-04-12  Bruno Haible  <bruno@clisp.org>
48021
48022         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
48023         not before, since $(LDADD) often contains libgnu.a.
48024         * modules/striconv-tests (test_striconv_LDADD): Likewise.
48025         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
48026         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
48027         Needed on Cygwin.
48028
48029 2007-04-12  Eric Blake  <ebb9@byu.net>
48030
48031         Work around glibc's failure to flush stdin on fclose.
48032         * lib/closein.c (close_stdin): Flush stdin before closing.
48033
48034         Work around glibc's failure to reset seekable stdin on exit.
48035         * modules/closein: New module.
48036         * lib/closein.c: New file.
48037         * lib/closein.h: Likewise.
48038         * m4/closein.m4: Likewise.
48039         * MODULES.html.sh (File stream based Input/Output): Document it.
48040
48041 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48042
48043         * gnulib-tool: Rename generated 'autobuild' script to
48044         'do-autobuild' in --create-megatestdir output.
48045
48046         * doc/gnulib.texi (Build robot for gnulib): Fix.
48047
48048 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48049
48050         * modules/sysexits (Depends-on): Add absolute-header.
48051
48052 2007-04-12  Eric Blake  <ebb9@byu.net>
48053
48054         No need to preserve errno on success.
48055         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
48056         Reported by Bruno Haible.
48057
48058 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48059
48060         * MODULES.html.sh (Support for maintaining and releasing
48061         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
48062
48063 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48064
48065         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
48066
48067 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48068
48069         * modules/autobuild: New module.
48070
48071         * m4/autobuild.m4: New file.
48072
48073 2007-04-11  Bruno Haible  <bruno@clisp.org>
48074
48075         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
48076         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
48077         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
48078         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
48079         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48080         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48081         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48082         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48083         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48084         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48085         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
48086         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48087         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48088         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
48089         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48090         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48091         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
48092         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48093         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48094         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
48095         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48096         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48097         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
48098         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48099         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48100         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
48101         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48102         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48103         Reported by Eric Blake.
48104
48105 2007-04-11  Bruno Haible  <bruno@clisp.org>
48106
48107         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
48108
48109 2007-04-10  Bruno Haible  <bruno@clisp.org>
48110
48111         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
48112         for NaN and Infinity. Needed on FreeBSD 6.1.
48113         * tests/test-vasnprintf-posix.c (test_function): Undo last change
48114         regarding results for "%010a" of Infinity and NaN.
48115         * tests/test-vasprintf-posix.c (test_function): Likewise.
48116         * tests/test-snprintf-posix.h (test_function): Likewise.
48117         * tests/test-sprintf-posix.h (test_function): Likewise.
48118         * tests/test-fprintf-posix.h (test_function): Likewise.
48119         * tests/test-printf-posix.h (test_function): Likewise.
48120         * tests/test-fprintf-posix.out: Likewise.
48121
48122 2007-04-10  Bruno Haible  <bruno@clisp.org>
48123
48124         * modules/locale-tests: New file.
48125         * tests/test-locale.c: New file.
48126
48127         * modules/locale: New file.
48128         * lib/locale_.h: New file.
48129         * m4/locale_h.m4: New file.
48130
48131 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
48132             Bruno Haible  <bruno@clisp.org>
48133
48134         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
48135         be determined, test for availability of the copysignf, copysign,
48136         copysignl functions.
48137         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
48138         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
48139         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
48140
48141 2007-04-09  Eric Blake  <ebb9@byu.net>
48142
48143         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
48144         * modules/stdio (Makefile.am): Support fflush.
48145         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48146         * modules/fflush: New file.
48147         * lib/fflush.c: Likewise.
48148         * m4/fflush.m4: Likewise.
48149         * modules/fflush-tests: New test.
48150         * tests/test-fflush.c: Likewise.
48151         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
48152
48153 2007-04-06  Bruno Haible  <bruno@clisp.org>
48154
48155         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
48156         (VASNPRINTF): Use signbit for faster determination whether to print a
48157         minus sign.
48158         * modules/vasnprintf (Files): Remove lib/float+.h.
48159         * modules/fprintf-posix (Depends-on): Add signbit.
48160         * modules/snprintf-posix (Depends-on): Likewise.
48161         * modules/sprintf-posix (Depends-on): Likewise.
48162         * modules/vasnprintf-posix (Depends-on): Likewise.
48163         * modules/vasprintf-posix (Depends-on): Likewise.
48164         * modules/vfprintf-posix (Depends-on): Likewise.
48165         * modules/vsnprintf-posix (Depends-on): Likewise.
48166         * modules/vsprintf-posix (Depends-on): Likewise.
48167
48168 2007-04-06  Bruno Haible  <bruno@clisp.org>
48169
48170         * tests/test-frexp.c (main): Test also the sign bit of zero results.
48171         * tests/test-frexpl.c (main): Likewise.
48172         * tests/test-ldexpl.c (main): Likewise.
48173         * modules/frexp-tests (Depends-on): Add signbit.
48174         * modules/frexpl-tests (Depdends-on): Likewise.
48175         * modules/ldexpl-tests (Depdends-on): Likewise.
48176
48177 2007-04-06  Bruno Haible  <bruno@clisp.org>
48178
48179         * modules/signbit-tests: New file.
48180         * tests/test-signbit.c: New file.
48181
48182         * modules/signbit: New file.
48183         * lib/signbitf.c: New file.
48184         * lib/signbitd.c: New file.
48185         * lib/signbitl.c: New file.
48186         * m4/signbit.m4: New file.
48187         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
48188         (signbit): New macro.
48189         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
48190         REPLACE_SIGNBIT.
48191         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
48192         REPLACE_FREXPL into math.h.
48193
48194 2007-04-06  Bruno Haible  <bruno@clisp.org>
48195
48196         * modules/isnanf-nolibm-tests: New file.
48197         * tests/test-isnanf.c: New file.
48198
48199         * modules/isnanf-nolibm: New file.
48200         * lib/isnanf.h: New file.
48201         * lib/isnanf.c: New file.
48202         * lib/isnan.c: Consider the USE_FLOAT macro.
48203         * m4/isnanf.m4: New file.
48204
48205 2007-04-06  Bruno Haible  <bruno@clisp.org>
48206
48207         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
48208         (Link): New section.
48209
48210         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
48211
48212 2007-04-06  Bruno Haible  <bruno@clisp.org>
48213
48214         Assume the 'long double' type.
48215         * m4/longdouble.m4: Remove file.
48216         * config/srclist.txt: Don't mention longdouble.m4.
48217         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
48218         * lib/float+.h: Likewise.
48219         * lib/frexp.c: Likewise.
48220         * lib/printf-args.h: Likewise.
48221         * lib/printf-args.c: Likewise.
48222         * lib/printf-frexp.c: Likewise.
48223         * lib/printf-parse.c: Likewise.
48224         * lib/vasnprintf.c: Likewise.
48225         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
48226         * m4/intl.m4: Likewise.
48227         * m4/isnanl.m4: Likewise.
48228         * m4/printf.m4: Likewise.
48229         * m4/printf-frexpl.m4: Likewise.
48230         * m4/vasnprintf.m4: Likewise.
48231         * modules/allocsa (Files): Remove m4/longdouble.m4.
48232         * modules/gettext (Files): Likewise.
48233         * modules/relocatable-prog-wrapper (Files): Likewise.
48234         * modules/vasnprintf (Files): Likewise.
48235         * modules/isnanl (Files): Likewise.
48236         (Include): Simplify.
48237         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
48238         (Include): Simplify.
48239         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
48240         (Include): Simplify.
48241         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
48242         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48243         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
48244         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48245         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
48246         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48247         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
48248         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48249         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
48250         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48251         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
48252         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48253         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
48254         * tests/test-isnanl.c: Likewise.
48255         * tests/test-snprintf-posix.h: Likewise.
48256         * tests/test-sprintf-posix.h: Likewise.
48257         * tests/test-vasnprintf-posix.c: Likewise.
48258         * tests/test-vasnprintf-posix2.c: Likewise.
48259         * tests/test-vasprintf-posix.c: Likewise.
48260
48261 2007-04-06  Bruno Haible  <bruno@clisp.org>
48262
48263         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
48264         * lib/math_.h [__DECC]: Include the overridden include file through
48265         #include_next, outside the double-inclusion guard.
48266         * lib/stdio_.h [__DECC]: Likewise.
48267         * lib/stdlib_.h [__DECC]: Likewise.
48268         * lib/string_.h [__DECC]: Likewise.
48269         * lib/time_.h [__DECC]: Likewise.
48270         * lib/wchar_.h [__DECC]: Likewise.
48271         * lib/wctype_.h [__DECC]: Likewise.
48272         * lib/inttypes_.h [__DECC]: Likewise.
48273         Reported by Albert Chin <china@thewrittenword.com> in
48274         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
48275
48276 2007-04-04  Eric Blake  <ebb9@byu.net>
48277
48278         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
48279         1.5.x.
48280
48281 2007-04-04  Bruno Haible  <bruno@clisp.org>
48282
48283         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
48284         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
48285
48286 2007-04-04  Bruno Haible  <bruno@clisp.org>
48287
48288         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
48289         results for "%010a" of Infinity and NaN.
48290         * tests/test-vasprintf-posix.c (test_function): Likewise.
48291         * tests/test-snprintf-posix.h (test_function): Likewise.
48292         * tests/test-sprintf-posix.h (test_function): Likewise.
48293         * tests/test-fprintf-posix.h (test_function): Remove these tests.
48294         * tests/test-printf-posix.h (test_function): Likewise.
48295         * tests/test-fprintf-posix.out: Update.
48296         Needed for FreeBSD 6.1.
48297
48298 2007-04-04  Bruno Haible  <bruno@clisp.org>
48299
48300         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
48301         directly used by the gnulib modules nor by gnulib-tool.
48302
48303 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
48304
48305         * DEPENDENCIES: Give overall description of version dependency
48306         desirability.  Use more-typical names for apps.
48307         Add shell, coreutils, diffutils, grep, tar, gzip.
48308
48309 2007-04-04  Simon Josefsson  <simon@josefsson.org>
48310
48311         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
48312
48313 2007-04-04  Karl Berry  <karl@gnu.org>
48314
48315         * MODULES.html.sh (func_module): missing '.
48316
48317 2007-04-03  Bruno Haible  <bruno@clisp.org>
48318
48319         * modules/argmatch-tests (Makefile.am): New variable
48320         test_argmatch_LDADD.
48321         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
48322         * modules/array-list-tests (Makefile.am): New variable
48323         test_array_list_LDADD.
48324         * modules/array-oset-tests (Makefile.am): New variable
48325         test_array_oset_LDADD.
48326         * modules/avltree-list-tests (Makefile.am): New variable
48327         test_avltree_list_LDADD.
48328         * modules/avltree-oset-tests (Makefile.am): New variable
48329         test_avltree_oset_LDADD.
48330         * modules/avltreehash-list-tests (Makefile.am): New variable
48331         test_avltreehash_list_LDADD.
48332         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
48333         test_canonicalize_lgpl_LDADD.
48334         * modules/carray-list-tests (Makefile.am): New variable
48335         test_carray_list_LDADD.
48336         * modules/dirname-tests (Makefile.am): New variable
48337         test_dirname_LDADD.
48338         * modules/linked-list-tests (Makefile.am): New variable
48339         test_linked_list_LDADD.
48340         * modules/linkedhash-list-tests (Makefile.am): New variable
48341         test_linkedhash_list_LDADD.
48342         * modules/rbtree-list-tests (Makefile.am): New variable
48343         test_rbtree_list_LDADD.
48344         * modules/rbtree-oset-tests (Makefile.am): New variable
48345         test_rbtree_oset_LDADD.
48346         * modules/rbtreehash-list-tests (Makefile.am): New variable
48347         test_rbtreehash_list_LDADD.
48348         * modules/xvasprintf-tests (Makefile.am): New variable
48349         test_xvasprintf_LDADD.
48350         Reported by Eric Blake.
48351
48352 2007-04-03  Eric Blake  <ebb9@byu.net>
48353
48354         * DEPENDENCIES: Weaken m4 requirements.
48355
48356 2007-04-03  Bruno Haible  <bruno@clisp.org>
48357
48358         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
48359         * modules/isnanl-tests (configure.ac): Likewise.
48360
48361 2007-04-03  Ben Pfaff  <blp@gnu.org>
48362
48363         * modules/iconv_open: Add $(srcdir)/ to source directory
48364         references in Makefile fragments that call gperf, to fix VPATH
48365         builds.
48366
48367 2007-04-03  Bruno Haible  <bruno@clisp.org>
48368
48369         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
48370         * lib/ldexpl.c: Undo last change.
48371
48372 2007-04-03  Bruno Haible  <bruno@clisp.org>
48373
48374         * modules/printf-frexpl (Depends-on): Undo last change.
48375         (Files): Add m4/ldexpl.m4.
48376
48377 2007-04-03  Bruno Haible  <bruno@clisp.org>
48378
48379         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
48380         * modules/isnanl (Link): New section.
48381
48382         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
48383         * modules/frexp (Link): New section.
48384
48385         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
48386         * modules/frexpl (Link): New section.
48387
48388         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
48389         * modules/ldexpl (Link): New section.
48390
48391 2007-04-03  Bruno Haible  <bruno@clisp.org>
48392
48393         * modules/TEMPLATE-EXTENDED: New file.
48394         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
48395
48396 2007-04-03  Bruno Haible  <bruno@clisp.org>
48397
48398         * DEPENDENCIES: New file.
48399         Suggested by Simon Josefsson.
48400
48401 2007-04-03  Bruno Haible  <bruno@clisp.org>
48402
48403         * doc/gnulib.texi: Escape @.
48404
48405 2007-04-03  James Youngman  <jay@gnu.org>
48406         and Paul Eggert  <eggert@cs.ucla.edu>
48407
48408         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
48409         birthtime on all systems that have birthtime, not just those which
48410         use st_birthtimensec rather than st_birthtim.  Putting zero in
48411         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
48412         that the birth time is not available for files on an NFS mount.
48413
48414 2007-04-03  Simon Josefsson  <simon@josefsson.org>
48415
48416         * modules/memxor: Move back from crypto/, suggested by Bruno.
48417         * modules/crypto/hmac-sha1: Fix memxor dependency.
48418
48419         * modules/crypto/gc: Moved from ../.
48420
48421 2007-04-02  Eric Blake  <ebb9@byu.net>
48422
48423         * lib/ldexpl.c (includes): Avoid libm.
48424
48425         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
48426
48427 2007-04-02  Bruno Haible  <bruno@clisp.org>
48428
48429         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
48430         on IRIX.
48431
48432 2007-04-02  Bruno Haible  <bruno@clisp.org>
48433
48434         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
48435         x86 or x86_64 platforms running MacOS X.
48436         Reported by Ryan Schmidt <@ryandesign.com>.
48437
48438 2007-04-02  Bruno Haible  <bruno@clisp.org>
48439
48440         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
48441         i386.
48442
48443 2007-04-01  Simon Josefsson  <simon@josefsson.org>
48444
48445         * modules/crypto/arcfour: Moved from ../.
48446         * modules/crypto/arcfour-tests: Moved from ../.
48447         * modules/crypto/arctwo: Moved from ../.
48448         * modules/crypto/arctwo-tests: Moved from ../.
48449         * modules/crypto/des: Moved from ../.
48450         * modules/crypto/des-tests: Moved from ../.
48451         * modules/crypto/gc-arcfour: Moved from ../.
48452         * modules/crypto/gc-arcfour-tests: Moved from ../.
48453         * modules/crypto/gc-arctwo: Moved from ../.
48454         * modules/crypto/gc-arctwo-tests: Moved from ../.
48455         * modules/crypto/gc-des: Moved from ../.
48456         * modules/crypto/gc-des-tests: Moved from ../.
48457         * modules/crypto/gc-hmac-md5: Moved from ../.
48458         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
48459         * modules/crypto/gc-hmac-sha1: Moved from ../.
48460         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
48461         * modules/crypto/gc-md2: Moved from ../.
48462         * modules/crypto/gc-md2-tests: Moved from ../.
48463         * modules/crypto/gc-md4: Moved from ../.
48464         * modules/crypto/gc-md4-tests: Moved from ../.
48465         * modules/crypto/gc-md5: Moved from ../.
48466         * modules/crypto/gc-md5-tests: Moved from ../.
48467         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
48468         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
48469         * modules/crypto/gc-random: Moved from ../.
48470         * modules/crypto/gc-rijndael: Moved from ../.
48471         * modules/crypto/gc-rijndael-tests: Moved from ../.
48472         * modules/crypto/gc-sha1: Moved from ../.
48473         * modules/crypto/gc-sha1-tests: Moved from ../.
48474         * modules/crypto/gc-tests: Moved from ../.
48475         * modules/crypto/hmac-md5: Moved from ../.
48476         * modules/crypto/hmac-md5-tests: Moved from ../.
48477         * modules/crypto/hmac-sha1: Moved from ../.
48478         * modules/crypto/hmac-sha1-tests: Moved from ../.
48479         * modules/crypto/md2: Moved from ../.
48480         * modules/crypto/md2-tests: Moved from ../.
48481         * modules/crypto/md4: Moved from ../.
48482         * modules/crypto/md4-tests: Moved from ../.
48483         * modules/crypto/md5: Moved from ../.
48484         * modules/crypto/md5-tests: Moved from ../.
48485         * modules/crypto/memxor: Moved from ../.
48486         * modules/crypto/rijndael: Moved from ../.
48487         * modules/crypto/rijndael-tests: Moved from ../.
48488         * modules/crypto/sha1: Moved from ../.
48489
48490 2007-03-30  James Youngman  <jay@gnu.org>
48491
48492         * tests/test-stat-time.c (prepare_test): use chmod() rather than
48493         rename() to change the ctime of a file (because ctime is unaffected
48494         by rename on jfs2 on AIX 5.1).
48495         (main): Start by doing cleanup, in case a previous run failed leaving
48496         test files behind.
48497
48498 2007-03-31  Bruno Haible  <bruno@clisp.org>
48499
48500         Support old proprietary implementations of iconv.
48501         * modules/iconv_open: New file.
48502         * lib/iconv_.h: New file.
48503         * m4/iconv_h.m4: New file.
48504         * lib/iconv_open.c: New file.
48505         * lib/iconv_open-aix.gperf: New file.
48506         * lib/iconv_open-hpux.gperf: New file.
48507         * lib/iconv_open-irix.gperf: New file.
48508         * lib/iconv_open-osf.gperf: New file.
48509         * m4/iconv_open.m4: New file.
48510         * modules/linebreak (Depends-on): Add iconv_open.
48511         * modules/striconv (Depends-on): Likewise.
48512         * modules/striconveh (Depends-on): Likewise.
48513         * modules/unicodeio (Depends-on): Likewise.
48514         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
48515         (iconv_t)(-1).
48516         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
48517         conversion if cd is (iconv_t)(-1).
48518         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
48519         is not possible.
48520
48521 2007-03-31  Bruno Haible  <bruno@clisp.org>
48522
48523         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
48524         work on Solaris either. Protect also second use of "autodetect_jp".
48525
48526 2007-03-31  Bruno Haible  <bruno@clisp.org>
48527
48528         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
48529         the function is not present.
48530
48531 2007-03-31  Bruno Haible  <bruno@clisp.org>
48532
48533         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
48534         the function is not present.
48535
48536 2007-03-31  Bruno Haible  <bruno@clisp.org>
48537
48538         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
48539         a bug in HP-UX iconv_open().
48540
48541 2007-03-31  Bruno Haible  <bruno@clisp.org>
48542
48543         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
48544         (Mathematics <math.h>): New section, add fpieee.
48545         (Input/output <stdio.h>): Add fseterr.
48546         (Mathematics <math.h>): New section, add printf-frexp.
48547         (Container data structures): Add sublist.
48548         (Core language properties): Add fpucw, inline.
48549         (Functions for greatest-width integer types <inttypes.h>): Add
48550         imaxabs, imaxdiv, inttypes.
48551         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
48552         isnanl-nolibm, ldexp.
48553         (Mathematics <math.h>): New section, add printf-frexpl.
48554         (Support for systems lacking POSIX:2001): Add fprintf-posix,
48555         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
48556         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
48557         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
48558         (Unicode string functions): Add unistr/u*-mbtoucr.
48559         (Java): Add javacomp-script, javaexec-script.
48560         (C#): Add csharpcomp-script, csharpexec-script.
48561         (Support for building libraries and executables): Add havelib,
48562         relocatable-*.
48563         (Support for maintaining and releasing projects): Renamed from
48564         'Support for maintaining and release projects'. Add announce-gen.
48565
48566 2007-03-31  Bruno Haible  <bruno@clisp.org>
48567
48568         * README: Talk primarily about git.
48569         (git and CVS): Renamed from CVS.
48570         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
48571         gnulib is available through git.
48572         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
48573
48574 2007-03-30  Bruno Haible  <bruno@clisp.org>
48575
48576         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
48577         * lib/poll_.h: Likewise.
48578         * lib/stat_.h: Likewise.
48579         * lib/sys_time_.h: Likewise.
48580         * lib/sysexit_.h: Likewise.
48581         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
48582         * lib/stdbool_.h: Likewise.
48583         * lib/byteswap_.h: Add double-inclusion guard.
48584
48585 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
48586
48587         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
48588
48589 2007-03-30  Karl Berry  <karl@gnu.org>
48590
48591         * config/srclist-update: double space after USA in the license
48592         substitution, since that's how it's usually (?) written.
48593
48594 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
48595
48596         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
48597         reported by Bruno Haible.
48598
48599 2007-03-29  Bruno Haible  <bruno@clisp.org>
48600
48601         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
48602         a bug in AIX iconv().
48603
48604 2007-03-29  Bruno Haible  <bruno@clisp.org>
48605
48606         * modules/ldexpl-tests: New file.
48607         * tests/test-ldexpl.c: New file.
48608
48609 2007-03-29  Bruno Haible  <bruno@clisp.org>
48610
48611         * lib/ldexpl.c: Include fpucw.h.
48612         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
48613         multiplication.
48614         * modules/ldexpl (Depends-on): Add fpucw.
48615
48616 2007-03-29  Bruno Haible  <bruno@clisp.org>
48617
48618         * modules/ldexpl: New file.
48619         * m4/ldexpl.m4: New file.
48620         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
48621         set.
48622         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
48623         REPLACE_LDEXPL.
48624         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
48625         REPLACE_LDEXPL.
48626         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
48627         gl_FUNC_LDEXPL_WORKS.
48628         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
48629         * modules/mathl (Files): Remove lib/ldexpl.c.
48630         (Depends-on): Add ldexpl.
48631
48632 2007-03-29  Bruno Haible  <bruno@clisp.org>
48633
48634         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
48635
48636 2007-03-29  Bruno Haible  <bruno@clisp.org>
48637
48638         * tests/test-striconveh.c (main): Don't assume that a direct conversion
48639         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
48640         and possibly also HP-UX.
48641         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
48642         work on AIX, IRIX, HP-UX, OSF/1.
48643         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
48644         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
48645         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
48646         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
48647         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
48648         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
48649
48650 2007-03-29  Bruno Haible  <bruno@clisp.org>
48651
48652         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
48653
48654 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
48655
48656         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
48657         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
48658
48659 2007-03-29  Eric Blake  <ebb9@byu.net>
48660
48661         * lib/acl-internal.h: Remove redundant include.
48662         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
48663         Cygwin when a file is locked.
48664
48665 2007-03-29  Bruno Haible  <bruno@clisp.org>
48666
48667         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
48668         file.
48669         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
48670
48671 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
48672
48673         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
48674         try to remove a parent directory if the child couldn't be removed
48675         (except for the first rmdir, which could fail because the child
48676         doesn't exist).  Problem reported by Jeff Blaine in
48677         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
48678
48679 2007-03-28  Bruno Haible  <bruno@clisp.org>
48680
48681         * lib/striconveh.c (utf8conv_carefully): New function.
48682         (mem_cd_iconveh_internal): Invoke it.
48683
48684 2007-03-28  Bruno Haible  <bruno@clisp.org>
48685
48686         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
48687         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
48688         input.
48689         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
48690         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
48691         unistr/u8-uctomb.
48692
48693 2007-03-28  Bruno Haible  <bruno@clisp.org>
48694
48695         * modules/unistr/u8-mbtoucr: New file.
48696         * lib/unistr/u8-mbtoucr.c: New file.
48697         * modules/unistr/u16-mbtoucr: New file.
48698         * lib/unistr/u16-mbtoucr.c: New file.
48699         * modules/unistr/u16-mbtoucr: New file.
48700         * lib/unistr/u16-mbtoucr.c: New file.
48701         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
48702
48703 2007-03-27  Simon Josefsson  <simon@josefsson.org>
48704             Bruno Haible  <bruno@clisp.org>
48705
48706         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
48707         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
48708         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
48709
48710         * m4/stdio_h.m4: Add stubs for vasprintf too.
48711
48712         * modules/stdio: Support vasprintf in sed command.
48713
48714         * modules/vasprintf: Depend on stdio for prototypes.  Remove
48715         vasprintf.h.  Add stdio module indicator.
48716
48717         * lib/stdio_.h: Declare asprintf and vasprintf, based on
48718         vasprintf.h.
48719
48720         * lib/vasprintf.h: File removed.
48721
48722         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
48723         * lib/vasprintf.c: Ditto.
48724         * lib/xvasprintf.c: Ditto.
48725         * tests/test-vasprintf-posix.c: Ditto.
48726         * tests/test-vasprintf.c: Ditto.
48727
48728 2007-03-27  Bruno Haible  <bruno@clisp.org>
48729
48730         Make vasnprintf multithread-safe.
48731         * lib/vasnprintf.c (decimal_point_char): New function.
48732         (VASNPRINTF): Use it.
48733         Suggested by Simon Josefsson.
48734
48735 2007-03-27  Eric Blake  <ebb9@byu.net>
48736
48737         Support sub-second birthtime on cygwin.
48738         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
48739         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
48740         (get_stat_birthtime): Also work with st_birthtim.
48741
48742 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
48743
48744         * lib/stat-time.h (USE_BIRTHTIME): Remove.
48745         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
48746         (get_stat_birthtime_ns): Do not try to use "spare" fields.
48747         (get_stat_birthtime_ns): Simplify compile-time tests.
48748         (get_stat_birthtime): Change the API to look like
48749         get_stat_mtime etc., except return a negative tv_nsec on error.
48750         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
48751         Don't check for "spare" fields.
48752         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
48753         or for struct stat.st_birthtime, as these tests aren't used.
48754         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
48755
48756 2007-03-27  Bruno Haible  <bruno@clisp.org>
48757
48758         * lib/stat-time.h: Include <sys/stat.h>.
48759
48760 2007-03-27  James Youngman  <jay@gnu.org>
48761
48762         * lib/stat-time.h (get_stat_birthtime): New function for
48763           retrieving st_birthtime as provided by UFS2 (hence *BSD).
48764         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
48765           and its variants.
48766         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
48767         * modules/stat-time-test: New file.
48768         * tests/test-stat-time.c: New test, devised by Bruno Haible.
48769
48770 2007-03-26  Bruno Haible  <bruno@clisp.org>
48771
48772         Better support of signalling NaNs.
48773         * lib/atanl.c: Include isnanl.h.
48774         (atanl): Perform test for NaN at the beginning of the function and
48775         through a call to isnanl.
48776         * lib/cosl.c: Include isnanl.h.
48777         (cosl): Perform test for NaN at the beginning of the function and
48778         through a call to isnanl.
48779         * lib/ldexpl.c: Include isnanl.h.
48780         (ldexpl): Perform test for NaN through a call to isnanl.
48781         * lib/logl.c: Include isnanl.h.
48782         (logl): Perform test for NaN at the beginning of the function and
48783         through a call to isnanl.
48784         * lib/sinl.c: Include isnanl.h.
48785         (sinl): Perform test for NaN at the beginning of the function and
48786         through a call to isnanl.
48787         * lib/sqrtl.c: Include isnanl.h.
48788         (sqrtl): Perform test for NaN at the beginning of the function and
48789         through a call to isnanl.
48790         * lib/tanl.c: Include isnanl.h.
48791         (tanl): Perform test for NaN at the beginning of the function and
48792         through a call to isnanl.
48793         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
48794         * modules/mathl (Depends-on): Add isnanl.
48795
48796 2007-03-26  Eric Blake  <ebb9@byu.net>
48797
48798         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
48799         regression in logic sense of previous patch.
48800
48801 2007-03-26  Bruno Haible  <bruno@clisp.org>
48802
48803         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
48804         unportable shell command "if ! ...".
48805         Reported by Ralf Wildenhues.
48806
48807 2007-03-25  Bruno Haible  <bruno@clisp.org>
48808
48809         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
48810         <sysexits.h> file, and only add EX_CONFIG.
48811         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
48812         absolute file name and whether it is sufficient. Substitute also
48813         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
48814         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
48815         ABSOLUTE_SYSEXITS_H into sysexits.h.
48816
48817 2007-03-25  Bruno Haible  <bruno@clisp.org>
48818
48819         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
48820         hints is NULL.
48821
48822 2007-03-25  Bruno Haible  <bruno@clisp.org>
48823
48824         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
48825         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
48826
48827 2007-03-25  Bruno Haible  <bruno@clisp.org>
48828
48829         * lib/vasnprintf.c: Include langinfo.h.
48830         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
48831         multithread-safe.
48832         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
48833         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
48834         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48835         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48836         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48837         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48838         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48839         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
48840         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48841         Reported by Simon Josefsson.
48842
48843 2007-03-25  Bruno Haible  <bruno@clisp.org>
48844
48845         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
48846         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
48847         * modules/vasnprintf (Depends-on): Add stdint.
48848
48849 2007-03-25  Bruno Haible  <bruno@clisp.org>
48850
48851         * modules/fpieee: New file.
48852         * m4/fpieee.m4: New file.
48853         * modules/isnan-nolibm (Depends-on): Add fpieee.
48854         * modules/isnanl-nolibm (Depends-on): Add fpieee.
48855         * modules/isnanl (Depends-on): Add fpieee.
48856
48857 2007-03-25  Bruno Haible  <bruno@clisp.org>
48858
48859         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
48860
48861 2007-03-25  Bruno Haible  <bruno@clisp.org>
48862
48863         Avoid test failures on IRIX 6.5.
48864         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
48865         (main): Use it.
48866         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
48867         macros.
48868         (main): Use them.
48869
48870 2007-03-25  Bruno Haible  <bruno@clisp.org>
48871
48872         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
48873         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
48874         exists but doesn't work.
48875         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
48876         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
48877         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
48878         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
48879
48880 2007-03-25  Bruno Haible  <bruno@clisp.org>
48881
48882         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
48883         returns inf. Needed on IRIX 6.5.
48884
48885 2007-03-25  Bruno Haible  <bruno@clisp.org>
48886
48887         * tests/test-frexpl.c: Include isnanl-nolibm.h.
48888         (main): Use isnanl instead of x != x idiom.
48889         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
48890
48891         * tests/test-frexp.c: Include isnan.h.
48892         (main): Use isnan instead of x != x idiom.
48893         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
48894
48895 2007-03-25  Bruno Haible  <bruno@clisp.org>
48896
48897         * tests/test-frexp.c (NaN): New function/macro.
48898         (main): Use it instead of 0.0 / 0.0.
48899         * tests/test-isnan.c (NaN): New function/macro.
48900         (main): Use it instead of 0.0 / 0.0.
48901         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
48902         (test_function): Use it instead of 0.0 / 0.0.
48903         * tests/test-vasprintf-posix.c (NaN): New function/macro.
48904         (test_function): Use it instead of 0.0 / 0.0.
48905         * tests/test-snprintf-posix.h (NaN): New function/macro.
48906         (test_function): Use it instead of 0.0 / 0.0.
48907         * tests/test-sprintf-posix.h (NaN): New function/macro.
48908         (test_function): Use it instead of 0.0 / 0.0.
48909         * tests/test-fprintf-posix.h (NaN): New function/macro.
48910         (test_function): Use it instead of 0.0 / 0.0.
48911         * tests/test-printf-posix.h (NaN): New function/macro.
48912         (test_function): Use it instead of 0.0 / 0.0.
48913
48914         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
48915
48916 2007-03-25  Bruno Haible  <bruno@clisp.org>
48917
48918         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
48919
48920 2007-03-25  Bruno Haible  <bruno@clisp.org>
48921
48922         * lib/regexec.c (merge_state_with_log): Make static.
48923
48924 2007-03-25  Bruno Haible  <bruno@clisp.org>
48925
48926         * lib/trigl.c (kernel_rem_pio2): Make static.
48927
48928 2007-03-25  Bruno Haible  <bruno@clisp.org>
48929
48930         * lib/sincosl.c (sincosl_table): Make static.
48931
48932 2007-03-25  Bruno Haible  <bruno@clisp.org>
48933
48934         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
48935         if the compiler does not support C99.
48936
48937 2007-03-25  Bruno Haible  <bruno@clisp.org>
48938
48939         * modules/time (Makefile.am): Ensure all rule action lines start with a
48940         tab.
48941
48942 2007-03-24  Bruno Haible  <bruno@clisp.org>
48943
48944         * modules/tsearch-tests: New file.
48945         * tests/test-tsearch.sh: New file.
48946         * tests/test-tsearch.c: New file, mostly copied from glibc.
48947
48948         * modules/search-tests: New file.
48949         * tests/test-search.c: New file.
48950
48951         * modules/search: New file.
48952         * lib/search_.h: New file, incorporating lib/tsearch.h.
48953         * m4/search_h.m4: New file.
48954         * lib/tsearch.h: Remove file.
48955         * lib/tsearch.c: Include search.h instead of tsearch.h.
48956         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
48957         HAVE_TSEARCH.
48958         * modules/tsearch (Files): Remove lib/tsearch.h.
48959         (Depends-on): Add search.
48960         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
48961         (Include): Change tsearch.h into search.h.
48962
48963 2007-03-24  Bruno Haible  <bruno@clisp.org>
48964
48965         * modules/fpucw: New file.
48966         * lib/fpucw.h: New file.
48967         * lib/frexp.c: Include fpucw.h.
48968         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
48969         (FUNC): Use them.
48970         * lib/printf-frexp.c: Include fpucw.h.
48971         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
48972         (FUNC): Use them.
48973         * lib/vasnprintf.c: Include fpucw.h.
48974         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
48975         'long double' calculations.
48976         * tests/test-frexpl.c: Include fpucw.h.
48977         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
48978         * tests/test-printf-frexpl.c: Include fpucw.h.
48979         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
48980         * modules/frexpl (Depends-on): Add fpucw.
48981         * modules/printf-frexpl (Depends-on): Likewise.
48982         * modules/fprintf-posix (Depends-on): Likewise.
48983         * modules/snprintf-posix (Depends-on): Likewise.
48984         * modules/sprintf-posix (Depends-on): Likewise.
48985         * modules/vasnprintf-posix (Depends-on): Likewise.
48986         * modules/vasprintf-posix (Depends-on): Likewise.
48987         * modules/vfprintf-posix (Depends-on): Likewise.
48988         * modules/vsnprintf-posix (Depends-on): Likewise.
48989         * modules/vsprintf-posix (Depends-on): Likewise.
48990         * modules/frexpl-tests (Depends-on): Likewise.
48991         * modules/printf-frexpl-tests (Depends-on): Likewise.
48992
48993 2007-03-24  Bruno Haible  <bruno@clisp.org>
48994
48995         * lib/float+.h: New file.
48996         * lib/isnan.c: Include float+.h.
48997         (SIZE): New macro.
48998         (FUNC): Compare only SIZE bytes of the value.
48999         * lib/vasnprintf.c: Include float+.h.
49000         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
49001         SIZEOF_LDBL or SIZEOF_DBL bytes.
49002         * modules/isnan-nolibm (Files): Add lib/float+.h.
49003         * modules/isnanl-nolibm (Files): Add lib/float+.h.
49004         * modules/isnanl (Files): Add lib/float+.h.
49005         * modules/vasnprintf (Files): Add lib/float+.h.
49006
49007 2007-03-24  Bruno Haible  <bruno@clisp.org>
49008
49009         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
49010         include isnanl-nolibm.h.
49011
49012 2007-03-24  Bruno Haible  <bruno@clisp.org>
49013
49014         * tests/test-read-file.c (main): Don't produce spurious output for
49015         expected situations. Make the test fail if it encountered unexpected
49016         results.
49017
49018 2007-03-24  Bruno Haible  <bruno@clisp.org>
49019
49020         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
49021         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
49022
49023 2007-03-24  Bruno Haible  <bruno@clisp.org>
49024
49025         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
49026
49027 2007-03-24  Bruno Haible  <bruno@clisp.org>
49028
49029         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
49030         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
49031
49032         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
49033         * modules/utf8-ucs4: Turn into a symbolic link to module
49034         unistr/u8-mbtouc.
49035
49036         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
49037         utf8-ucs4-unsafe.
49038         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
49039         unistr/u8-mbtouc-unsafe.
49040
49041         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
49042         * modules/utf16-ucs4: Turn into a symbolic link to module
49043         unistr/u16-mbtouc.
49044
49045         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
49046         utf16-ucs4-unsafe.
49047         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
49048         unistr/u16-mbtouc-unsafe.
49049
49050         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
49051         * modules/ucs4-utf8: Turn into a symbolic link to module
49052         unistr/u8-ubtomb.
49053
49054         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
49055         * modules/ucs4-utf16: Turn into a symbolic link to module
49056         unistr/u16-ubtomb.
49057
49058 2007-03-24  Bruno Haible  <bruno@clisp.org>
49059
49060         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
49061         Enable the function only if HAVE_INLINE.
49062         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
49063         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
49064         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
49065         Enable the function only if HAVE_INLINE.
49066         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
49067         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
49068         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
49069         Enable the function only if HAVE_INLINE.
49070         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
49071         Enable the function only if HAVE_INLINE.
49072         * modules/utf8-ucs4: Update.
49073         * modules/utf8-ucs4-unsafe: Update.
49074         * modules/utf16-ucs4: Update.
49075         * modules/utf16-ucs4-unsafe: Update.
49076         * modules/ucs4-utf8: Update.
49077         * modules/ucs4-utf16: Update.
49078
49079 2007-03-24  Bruno Haible  <bruno@clisp.org>
49080
49081         * lib/utf8-ucs4.h: Remove file.
49082         * lib/utf8-ucs4-unsafe.h: Remove file.
49083         * lib/utf16-ucs4.h: Remove file.
49084         * lib/utf16-ucs4-unsafe.h: Remove file.
49085         * lib/ucs4-utf8.h: Remove file.
49086         * lib/ucs4-utf16.h: Remove file.
49087         * lib/unistr.h: Include their previous contents.
49088         * m4/utf-ucs4.m4: Remove file.
49089         * m4/ucs4-utf.m4: Remove file.
49090         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
49091         (Depends-on): Add unistr/base.
49092         (configure.ac): Remove gl_UTF_UCS4.
49093         (Makefile.am): Update.
49094         (Include): Change to unistr.h.
49095         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
49096         (Depends-on): Add unistr/base.
49097         (configure.ac): Remove gl_UTF_UCS4.
49098         (Makefile.am): Update.
49099         (Include): Change to unistr.h.
49100         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
49101         (Depends-on): Add unistr/base.
49102         (configure.ac): Remove gl_UTF_UCS4.
49103         (Makefile.am): Update.
49104         (Include): Change to unistr.h.
49105         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
49106         (Depends-on): Add unistr/base.
49107         (configure.ac): Remove gl_UTF_UCS4.
49108         (Makefile.am): Update.
49109         (Include): Change to unistr.h.
49110         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
49111         (Depends-on): Add unistr/base.
49112         (configure.ac): Remove gl_UCS4_UTF.
49113         (Makefile.am): Update.
49114         (Include): Change to unistr.h.
49115         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
49116         (Depends-on): Add unistr/base.
49117         (configure.ac): Remove gl_UCS4_UTF.
49118         (Makefile.am): Update.
49119         (Include): Change to unistr.h.
49120         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
49121         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
49122         utf8-ucs4-unsafe.h.
49123         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
49124         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
49125         utf16-ucs4-unsafe.h.
49126         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
49127         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
49128         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
49129         * lib/unistr/u8-strchr.c: Likewise.
49130         * lib/unistr/u8-strrchr.c: Likewise.
49131         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
49132         * lib/unistr/u16-strchr.c: Likewise.
49133         * lib/unistr/u16-strrchr.c: Likewise.
49134         * lib/striconveh.c: Update.
49135         * lib/linebreak.c: Update.
49136
49137 2007-03-24  Bruno Haible  <bruno@clisp.org>
49138
49139         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
49140         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
49141
49142 2007-03-22  Bruno Haible  <bruno@clisp.org>
49143
49144         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
49145
49146 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
49147
49148         * MODULES.html.sh (File system functions): New module write-any-file.
49149         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
49150         * m4/write-any-file.m4: New files.
49151
49152 2007-03-23  Eric Blake  <ebb9@byu.net>
49153
49154         * gnulib-tool: Rearrange space-tab sequences, since some editors
49155         like to eat them.
49156
49157 2007-03-23  Eric Blake  <ebb9@byu.net>
49158
49159         * lib/version-etc.c (version_etc_va): Update license wording to
49160         be more concise.  Recommended by Richard Stallman.
49161
49162 2007-03-22  Bruno Haible  <bruno@clisp.org>
49163
49164         * lib/poll.c (MSG_PEEK): New fallback definition.
49165
49166 2007-03-22  Bruno Haible  <bruno@clisp.org>
49167
49168         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
49169         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
49170         (main): Update.
49171         Fixes a compilation error on BeOS.
49172
49173 2007-03-22  Bruno Haible  <bruno@clisp.org>
49174
49175         * modules/frexpl-tests: New file.
49176         * tests/test-frexpl.c: New file.
49177
49178         * modules/frexpl: New file.
49179         * m4/frexpl.m4: New file.
49180         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
49181         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
49182         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
49183         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
49184         (Depends-on): Add frexpl. Remove isnanl-nolibm.
49185         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
49186
49187 2007-03-22  Bruno Haible  <bruno@clisp.org>
49188
49189         * lib/frexpl.c: Share code with lib/frexp.c.
49190         * modules/mathl (Files): Add lib/frexp.c.
49191         (Depends-on): Add isnanl-nolibm.
49192
49193 2007-03-22  Bruno Haible  <bruno@clisp.org>
49194
49195         * modules/printf-frexp (Files): Add m4/frexp.m4.
49196         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
49197         only if the found frexp function actually works.
49198
49199 2007-03-22  Bruno Haible  <bruno@clisp.org>
49200
49201         * lib/frexp.c: Remove older implementation that uses divisions.
49202
49203 2007-03-21  Bruno Haible  <bruno@clisp.org>
49204
49205         * modules/frexp-tests: New file.
49206         * tests/test-frexp.c: New file.
49207
49208         * modules/frexp: New file.
49209         * lib/frexp.c: New file.
49210         * m4/frexp.m4: New file.
49211         * lib/math_.h (frexp): New declaration.
49212         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
49213         REPLACE_FREXP.
49214         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
49215
49216 2007-03-21  Bruno Haible  <bruno@clisp.org>
49217
49218         * modules/isnanl-tests: New file.
49219         * tests/test-isnanl.c: New file.
49220
49221         * modules/isnanl: New file.
49222         * lib/isnanl.h: New file.
49223         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
49224         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
49225         gl_FUNC_ISNANL_WORKS.
49226         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
49227         New macros.
49228
49229 2007-03-21  Bruno Haible  <bruno@clisp.org>
49230
49231         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
49232         lib/isnanl.h.
49233         (Include): Update.
49234         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
49235         * lib/vasnprintf.c: Update.
49236         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
49237         tests/test-isnanl.h, remove tests/test-isnanl.c.
49238         (Makefile.am): Update.
49239         * tests/test-isnanl-nolibm.c: New file.
49240         * tests/test-isnanl.h: New file.
49241         * tests/test-isnanl.c: Remove file.
49242
49243 2007-03-21  Jim Meyering  <jim@meyering.net>
49244
49245         When trying to open ".", treat ESTALE like EACCES.
49246         * lib/savewd.c (savewd_save): Resort to forking not just upon
49247         failure with EACCES, but also when errno is ESTALE.
49248
49249 2007-03-20  Bruno Haible  <bruno@clisp.org>
49250
49251         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
49252         Needed on AIX 5.1. Reported by Matthew Woehlke.
49253
49254 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
49255
49256         Suggestions by Bruno Haible:
49257         * lib/acl-internal.h: Include "gettext.h" rather than rolling
49258         our own.
49259         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
49260         * modules/acl (Depends-on): Add gettext.
49261
49262 2007-03-19  Bruno Haible  <bruno@clisp.org>
49263
49264         * modules/iconvme: Remove file.
49265         * lib/iconvme.h: Remove file.
49266         * lib/iconvme.c: Remove file.
49267         * m4/iconvme.m4: Remove file.
49268
49269 2007-03-19  Bruno Haible  <bruno@clisp.org>
49270
49271         * doc/relocatable-maint.texi: Break long shell script line.
49272         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
49273
49274 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
49275
49276         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
49277         handle file_has_acl.
49278         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
49279         * lib/acl.c: Move header inclusions and related macro defns into
49280         lib/acl-internal.h.
49281         (S_ISLNK): Remove defn, since that's now done for us.
49282         (file_has_acl): Move to lib/file-has-acl.c.
49283         Call acl_trivial if available.  This is the crucial part of the fix.
49284         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
49285         shared within the library.  Rewrite a bit, partly to make it compatible
49286         with the GNU coding style.
49287         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
49288         Remove unnecessary double-quotes.
49289         Don't test for acl_to_text; the build will catch that.
49290         Replace acl_entries if it doesn't exist and it is needed.
49291         Check for -lsec and acl_trivial (as used on Solaris 10).
49292         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
49293         lib/file-has-acl.c.
49294         (Depends-on): Add sys_stat, for S_ISLNK.
49295
49296 2007-03-19  Ben Pfaff  <blp@gnu.org>
49297
49298         * doc/gnulib.texi: Fix typos.
49299         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
49300
49301 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
49302
49303         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
49304         If size is zero here, buf must be zero.
49305
49306 2007-03-19  Simon Josefsson  <simon@josefsson.org>
49307
49308         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
49309         <bruno@clisp.org>.
49310
49311 2007-03-18  Bruno Haible  <bruno@clisp.org>
49312
49313         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
49314         Suggested by Eric Blake.
49315
49316 2007-03-18  Ben Pfaff  <blp@gnu.org>
49317
49318         * doc/relocatable.texi: Recommend using as prefix a directory
49319         that does not exist and will never be created.  Based on
49320         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
49321         and others.
49322
49323 2007-03-17  Bruno Haible  <bruno@clisp.org>
49324
49325         * lib/fchownat.c: Include lchown.h.
49326
49327 2007-03-17  Bruno Haible  <bruno@clisp.org>
49328
49329         Fix endless loop when the given allocated size was > INT_MAX.
49330         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
49331         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
49332         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
49333         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
49334         * lib/sprintf.c (sprintf): Likewise.
49335
49336 2007-03-17  Bruno Haible  <bruno@clisp.org>
49337
49338         * tests/test-argp-2.sh (func_compare): Output a context diff.
49339
49340 2007-03-17  Bruno Haible  <bruno@clisp.org>
49341
49342         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
49343         locale's decimal-point character.
49344
49345 2007-03-17  Bruno Haible  <bruno@clisp.org>
49346
49347         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
49348         before comparing it. Needed because on some platforms (e.g. x86) a
49349         'long double' occupies less bytes than sizeof (long double).
49350
49351 2007-03-17  Bruno Haible  <bruno@clisp.org>
49352
49353         * tests/test-crc.c (main): Make printf statements 64-bit clean.
49354         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
49355         * tests/test-getaddrinfo.c (simple): Likewise.
49356         * tests/test-read-file.c (main): Likewise.
49357
49358 2007-03-17  Bruno Haible  <bruno@clisp.org>
49359
49360         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
49361
49362 2007-03-17  Bruno Haible  <bruno@clisp.org>
49363
49364         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
49365         unused variable.
49366
49367 2007-03-17  Bruno Haible  <bruno@clisp.org>
49368
49369         * tests/test-c-strcasecmp.c: Include c-strcase.h.
49370         * tests/test-c-strncasecmp.c: Likewise.
49371
49372 2007-03-17  Bruno Haible  <bruno@clisp.org>
49373
49374         * modules/stdlib (Depends-on): Add unistd.
49375         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
49376         Needed for MacOS X 10.3.
49377
49378 2007-03-17  Bruno Haible  <bruno@clisp.org>
49379
49380         * lib/unistr/u-strdup.h: Include <stdlib.h>.
49381
49382 2007-03-17  Bruno Haible  <bruno@clisp.org>
49383
49384         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
49385
49386 2007-03-17  Bruno Haible  <bruno@clisp.org>
49387
49388         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
49389         to reflect files copied from gnulib (with or without modifications).
49390         Suggested by Jim Meyering.
49391
49392 2007-03-17  Eric Blake  <ebb9@byu.net>
49393
49394         * NEWS: Document stdlib change from 2007-02-18.
49395
49396 2007-03-17  Jim Meyering  <jim@meyering.net>
49397
49398         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
49399         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
49400         someone uses a name containing shell meta-characters.
49401         Reported by Alfred M. Szmidt.
49402
49403         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
49404
49405 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
49406
49407         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
49408         and copy gettext configuration files only if configure.ac contains
49409         a use of AM_GNU_GETTEXT_VERSION.
49410
49411 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
49412
49413         * build-aux/bootstrap (gnulib_name): New variable.
49414         (gnulib_tool_options): Use it.
49415
49416 2007-03-13  Simon Josefsson  <simon@josefsson.org>
49417
49418         * tests/test-des.c: Use new namespace.
49419
49420 2007-03-15  Bruno Haible  <bruno@clisp.org>
49421
49422         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
49423         Reported by James Youngman <jay@gnu.org>.
49424
49425 2007-03-15  Bruno Haible  <bruno@clisp.org>
49426
49427         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
49428         declared prototype. Needed with cc on OSF/1 5.1.
49429
49430 2007-03-15  Bruno Haible  <bruno@clisp.org>
49431
49432         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
49433         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
49434         (struct gl_list_implementation): Add dispose_fn argument to the
49435         'create_empty', 'create' methods.
49436         (struct gl_list_impl_base): Add field 'dispose_fn'.
49437         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
49438         argument.
49439         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
49440         dispose_fn argument.
49441         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
49442         dispose_fn on the dropped values.
49443         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
49444         dispose_fn argument.
49445         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
49446         dropped values.
49447         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
49448         (gl_tree_remove_node): Call dispose_fn on the dropped value.
49449         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
49450         (gl_tree_remove_node): Call dispose_fn on the dropped value.
49451         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
49452         argument.
49453         (gl_tree_list_free): Call dispose_fn on the dropped values.
49454         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
49455         the dropped values.
49456         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
49457         Add dispose_fn argument.
49458         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
49459         Call dispose_fn on the dropped values.
49460         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
49461         Add dispose_fn argument.
49462         (gl_sublist_create): Initialize the 'dispose_fn' field.
49463         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
49464         * tests/test-array_list.c (main): Update.
49465         * tests/test-carray_list.c (main): Update.
49466         * tests/test-avltree_list.c (main): Update.
49467         * tests/test-rbtree_list.c (main): Update.
49468         * tests/test-avltreehash_list.c (main): Update.
49469         * tests/test-rbtreehash_list.c (main): Update.
49470         * tests/test-linked_list.c (main): Update.
49471         * tests/test-linkedhash_list.c (main): Update.
49472         * tests/test-array_oset.c (main): Update.
49473
49474 2007-03-15  Bruno Haible  <bruno@clisp.org>
49475
49476         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
49477         (gl_oset_create_empty): Add dispose_fn argument.
49478         (struct gl_oset_implementation): Add dispose_fn argument to
49479         'create_empty' method.
49480         (struct gl_oset_impl_base): Add dispose_fn field.
49481         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
49482         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
49483         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
49484         values.
49485         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
49486         (gl_tree_oset_free): Call dispose_fn on the dropped values.
49487         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
49488         dropped value.
49489         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
49490         dropped value.
49491         * tests/test-array_oset.c (main): Update.
49492         * tests/test-avltree_oset.c (main): Update.
49493         * tests/test-rbtree_oset.c (main): Update.
49494         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
49495
49496 2007-03-13  Bruno Haible  <bruno@clisp.org>
49497
49498         * tests/test-stdbool.c (i): Update after last patch.
49499
49500 2007-03-12  Bruno Haible  <bruno@clisp.org>
49501
49502         * lib/quotearg.c: Include <wctype.h> early, before the definition of
49503         the iswprint macro. Needed on Solaris 2.5.1.
49504
49505 2007-03-12  Bruno Haible  <bruno@clisp.org>
49506
49507         * tests/test-printf-frexp.c (main): Declare x as volatile.
49508
49509 2007-03-12  Simon Josefsson  <simon@josefsson.org>
49510
49511         * doc/gnulib.texi (Build robot for gnulib): New section.
49512
49513 2007-03-12  Jim Meyering  <jim@meyering.net>
49514
49515         * build-aux/bootstrap: New file.
49516         * build-aux/bootstrap.conf: New file, from coreutils.
49517
49518 2007-03-11  Bruno Haible  <bruno@clisp.org>
49519
49520         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
49521
49522 2007-03-12  Simon Josefsson  <simon@josefsson.org>
49523
49524         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
49525         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
49526         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
49527
49528 2007-03-11  Bruno Haible  <bruno@clisp.org>
49529
49530         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
49531         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
49532
49533 2007-03-11  Bruno Haible  <bruno@clisp.org>
49534
49535         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
49536         formula. Needed for SunPRO C 5.0.
49537
49538 2007-03-11  Bruno Haible  <bruno@clisp.org>
49539
49540         * modules/long-options (Depends-on): Add getopt.
49541
49542 2007-03-11  Bruno Haible  <bruno@clisp.org>
49543
49544         * modules/modechange (Depends-on): Add stdbool.
49545
49546 2007-03-11  Bruno Haible  <bruno@clisp.org>
49547
49548         * modules/i-ring (Depends-on): Add stdbool.
49549
49550 2007-03-11  Bruno Haible  <bruno@clisp.org>
49551
49552         * modules/gc-des (Depends-on): Add stdbool.
49553
49554 2007-03-11  Bruno Haible  <bruno@clisp.org>
49555
49556         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
49557
49558 2007-03-11  Bruno Haible  <bruno@clisp.org>
49559
49560         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
49561
49562 2007-03-11  Bruno Haible  <bruno@clisp.org>
49563
49564         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
49565
49566 2007-03-11  Bruno Haible  <bruno@clisp.org>
49567
49568         * lib/vasnprintf.c (sprintf): Undefine.
49569
49570 2007-03-11  Bruno Haible  <bruno@clisp.org>
49571
49572         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
49573         initializers in SunPRO C and Compaq C compilers.
49574
49575 2007-03-11  Bruno Haible  <bruno@clisp.org>
49576
49577         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
49578         decrementing code ANSI C compliant.
49579
49580 2007-03-11  Bruno Haible  <bruno@clisp.org>
49581
49582         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
49583         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
49584
49585 2007-03-11  Bruno Haible  <bruno@clisp.org>
49586
49587         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
49588         <stdbool.h> substitute doesn't pass.
49589
49590 2007-03-11  Bruno Haible  <bruno@clisp.org>
49591
49592         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
49593
49594 2007-03-11  Bruno Haible  <bruno@clisp.org>
49595
49596         * gnulib-tool (func_create_megatestdir): Create also an autobuild
49597         script, for submission to autobuild.josefsson.org.
49598
49599 2007-03-10  Bruno Haible  <bruno@clisp.org>
49600
49601         * modules/canonicalize-lgpl-tests: New file.
49602         * tests/test-canonicalize-lgpl.sh: New file.
49603         * tests/test-canonicalize-lgpl.c: New file.
49604
49605         * modules/c-strcase-tests: New file.
49606         * tests/test-c-strcase.sh: New file.
49607         * tests/test-c-strcasecmp.c: New file.
49608         * tests/test-c-strncasecmp.c: New file.
49609
49610         * modules/atexit-tests: New file.
49611         * tests/test-atexit.sh: New file.
49612         * tests/test-atexit.c: New file.
49613
49614 2007-03-10  Bruno Haible  <bruno@clisp.org>
49615
49616         * tests/test-binary-io.sh: Use temporary filenames that are not so
49617         likely to clash with those of other tests (in a parallel make).
49618         * tests/test-binary-io.c: Likewise.
49619
49620 2007-03-10  Bruno Haible  <bruno@clisp.org>
49621
49622         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
49623         fallback; use #error instead.
49624         Suggested by Simon Josefsson.
49625
49626 2007-03-10  Bruno Haible  <bruno@clisp.org>
49627
49628         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
49629         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
49630         first and the last.
49631
49632 2007-03-10  Bruno Haible  <bruno@clisp.org>
49633
49634         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
49635
49636 2007-03-10  Bruno Haible  <bruno@clisp.org>
49637
49638         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
49639         "make distcheck".
49640         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
49641         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
49642         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
49643
49644 2007-03-10  Bruno Haible  <bruno@clisp.org>
49645
49646         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
49647         variable.
49648         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
49649         variable.
49650
49651 2007-03-09  Eric Blake  <ebb9@byu.net>
49652         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
49653
49654         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
49655         types are not being provided by gnulib.
49656         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
49657         types are supported.
49658
49659 2007-03-10  Bruno Haible  <bruno@clisp.org>
49660
49661         * lib/stdio_.h (__attribute__): New macro.
49662         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
49663         vsprintf): Specify __attribute__ __format__ for GCC.
49664         Suggested by Eric Blake.
49665
49666 2007-03-09  Bruno Haible  <bruno@clisp.org>
49667
49668         * modules/printf-posix-tests: New file.
49669         * tests/test-printf-posix.sh: New file.
49670         * tests/test-printf-posix.c: New file.
49671
49672         * modules/printf-posix: New file.
49673         * lib/printf.c: New file.
49674         * m4/printf-posix-rpl.m4: New file.
49675         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
49676         REPLACE_PRINTF.
49677         * lib/stdio_.h (printf): New declaration.
49678         (format, __format__, ____printf____, ____scanf____, ____strftime____,
49679         ____strfmon____): New macros.
49680         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
49681         REPLACE_PRINTF.
49682
49683 2007-03-09  Bruno Haible  <bruno@clisp.org>
49684
49685         * tests/test-vasnprintf-posix2.sh: New file.
49686         * tests/test-vasnprintf-posix2.c: New file.
49687         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
49688         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
49689         (Makefile.am): Activate test-vasnprintf-posix2.sh.
49690
49691         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
49692         a locale dependent decimal point, rather than always '.'.
49693
49694 2007-03-09  Eric Blake  <ebb9@byu.net>
49695
49696         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
49697         spite of platforms like Tandem/NSK that define it to -1.
49698
49699 2007-03-08  Bruno Haible  <bruno@clisp.org>
49700
49701         * modules/vprintf-posix-tests: New file.
49702         * tests/test-vprintf-posix.sh: New file.
49703         * tests/test-vprintf-posix.c: New file.
49704         * tests/test-printf-posix.h: New file.
49705
49706         * modules/vprintf-posix: New file.
49707         * lib/vprintf.c: New file.
49708         * m4/vprintf-posix.m4: New file.
49709         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
49710         REPLACE_VPRINTF.
49711         * lib/stdio_.h (vprintf): New declaration.
49712         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
49713         REPLACE_VPRINTF.
49714
49715 2007-03-08  Bruno Haible  <bruno@clisp.org>
49716
49717         * modules/fprintf-posix-tests: New file.
49718         * tests/test-fprintf-posix.sh: New file.
49719         * tests/test-fprintf-posix.c: New file.
49720
49721         * modules/fprintf-posix: New file.
49722         * lib/fprintf.c: New file.
49723         * m4/fprintf-posix.m4: New file.
49724         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
49725         REPLACE_FPRINTF.
49726         * lib/stdio_.h (fprintf): New declaration.
49727         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
49728         REPLACE_FPRINTF.
49729
49730 2007-03-08  Bruno Haible  <bruno@clisp.org>
49731
49732         * modules/vfprintf-posix-tests: New file.
49733         * tests/test-vfprintf-posix.sh: New file.
49734         * tests/test-vfprintf-posix.c: New file.
49735         * tests/test-fprintf-posix.h: New file.
49736         * tests/test-fprintf-posix.out: New file.
49737
49738         * modules/vfprintf-posix: New file.
49739         * lib/vfprintf.c: New file.
49740         * m4/vfprintf-posix.m4: New file.
49741         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
49742         REPLACE_VFPRINTF.
49743         * lib/stdio_.h (vfprintf): New declaration.
49744         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
49745         REPLACE_VFPRINTF.
49746
49747 2007-03-08  Bruno Haible  <bruno@clisp.org>
49748
49749         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
49750
49751 2007-03-08  Bruno Haible  <bruno@clisp.org>
49752
49753         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
49754         instead of 'expr' invocations.
49755         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49756         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49757         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49758         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49759         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49760         Suggested by Paul Eggert.
49761
49762 2007-03-08  Bruno Haible  <bruno@clisp.org>
49763
49764         * modules/fseterr-tests: New file.
49765         * tests/test-fseterr.c: New file.
49766
49767         * modules/fseterr: New file.
49768         * lib/fseterr.h: New file.
49769         * lib/fseterr.c: New file.
49770
49771 2007-03-08  Bruno Haible  <bruno@clisp.org>
49772
49773         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
49774         * lib/getopt_.h: Likewise.
49775         * lib/mbswidth.h: Likewise.
49776         * lib/setenv.h: Likewise.
49777         * lib/vasnprintf.h: Likewise.
49778         * lib/vasprintf.h: Likewise.
49779         * lib/verror.h: Likewise.
49780         * lib/xsetenv.h: Likewise.
49781         * lib/xvasprintf.h: Likewise.
49782
49783 2007-03-08  Jim Meyering  <jim@meyering.net>
49784
49785         * users.txt: Add parted.
49786
49787         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
49788
49789 2007-03-07  Bruno Haible  <bruno@clisp.org>
49790
49791         * m4/printf.m4: Make the shell script snippets copy&pastable.
49792
49793 2007-03-02  Bruno Haible  <bruno@clisp.org>
49794
49795         * lib/netinet_in_.h: New file.
49796         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
49797         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
49798         * modules/netinet_in (Files): Add lib/netinet_in_.h.
49799         (Depends-on): Add absolute-header.
49800         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
49801         into netinet/in.h.
49802
49803 2007-03-03  Bruno Haible  <bruno@clisp.org>
49804
49805         * lib/sys_select_.h: New file.
49806         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
49807         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
49808         * modules/sys_select (Files): Add lib/sys_select_.h.
49809         (Depends-on): Add absolute-header.
49810         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
49811         into sys/select.h.
49812
49813 2007-03-02  Bruno Haible  <bruno@clisp.org>
49814
49815         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
49816         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
49817         values.
49818         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
49819         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
49820         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
49821         * modules/sys_socket (Depends-on): Add absolute-header.
49822         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
49823         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
49824         (Include): Remove requirement of inclusion of <sys/types.h>.
49825
49826 2007-03-02  Bruno Haible  <bruno@clisp.org>
49827
49828         * lib/byteswap_.h (bswap_32): Fix formula.
49829
49830 2007-03-06  Bruno Haible  <bruno@clisp.org>
49831
49832         * modules/sprintf-posix-tests: New file.
49833         * tests/test-sprintf-posix.c: New file.
49834
49835         * modules/sprintf-posix: New file.
49836         * lib/sprintf.c: New file.
49837         * m4/sprintf-posix.m4: New file.
49838         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
49839         REPLACE_SPRINTF.
49840         * lib/stdio_.h (sprintf): New declaration.
49841         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
49842         REPLACE_SPRINTF.
49843
49844 2007-03-06  Bruno Haible  <bruno@clisp.org>
49845
49846         * modules/vsprintf-posix-tests: New file.
49847         * tests/test-vsprintf-posix.c: New file.
49848         * tests/test-sprintf-posix.h: New file.
49849
49850         * modules/vsprintf-posix: New file.
49851         * lib/vsprintf.c: New file.
49852         * m4/vsprintf-posix.m4: New file.
49853         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
49854         REPLACE_VSPRINTF.
49855         * lib/stdio_.h (vsprintf): New declaration.
49856         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
49857         REPLACE_VSPRINTF.
49858
49859 2007-03-06  Bruno Haible  <bruno@clisp.org>
49860
49861         * modules/vsnprintf (Depend-on): Remove minmax.
49862
49863 2007-03-06  Bruno Haible  <bruno@clisp.org>
49864
49865         * modules/snprintf-posix-tests: New file.
49866         * tests/test-snprintf-posix.c: New file.
49867
49868         * modules/snprintf-posix: New file.
49869         * m4/snprintf-posix.m4: New file.
49870         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
49871         gl_FUNC_SNPRINTF.
49872         (gl_FUNC_SNPRINTF): Invoke it.
49873         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
49874         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
49875         is set.
49876         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
49877
49878 2007-03-06  Bruno Haible  <bruno@clisp.org>
49879
49880         * modules/vsnprintf-posix-tests: New file.
49881         * tests/test-vsnprintf-posix.c: New file.
49882         * tests/test-snprintf-posix.h: New file.
49883
49884         * modules/vsnprintf-posix: New file.
49885         * m4/vsnprintf-posix.m4: New file.
49886         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
49887         gl_FUNC_VSNPRINTF.
49888         (gl_FUNC_VSNPRINTF): Invoke it.
49889         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
49890         * lib/stdio_.h (vsnprintf): Define as a replacement if
49891         REPLACE_VSNPRINTF is set.
49892         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
49893
49894 2007-03-06  Bruno Haible  <bruno@clisp.org>
49895
49896         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
49897         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
49898
49899 2007-03-06  Bruno Haible  <bruno@clisp.org>
49900
49901         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
49902         (asinl): Declare also if HAVE_DECL_ASINL is set.
49903         (atanl): Declare also if HAVE_DECL_ATANL is set.
49904         (ceill): Declare also if HAVE_DECL_CEILL is set.
49905         (cosl): Declare also if HAVE_DECL_COSL is set.
49906         (expl): Declare also if HAVE_DECL_EXPL is set.
49907         (floorl): Declare also if HAVE_DECL_FLOORL is set.
49908         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
49909         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
49910         (logl): Declare also if HAVE_DECL_LOGL is set.
49911         (sinl): Declare also if HAVE_DECL_SINL is set.
49912         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
49913         (tanl): Declare also if HAVE_DECL_TANL is set.
49914         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
49915         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
49916         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
49917         declaration of frexpl, ldexpl.
49918         * modules/printf-frexpl (Depends-on): Add math.
49919         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
49920
49921 2007-03-05  Bruno Haible  <bruno@clisp.org>
49922
49923         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
49924         frexpl and ldexpl are declared.
49925         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
49926
49927 2007-03-05  Bruno Haible  <bruno@clisp.org>
49928
49929         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
49930         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
49931
49932 2007-03-05  Bruno Haible  <bruno@clisp.org>
49933
49934         * lib/stdio_.h: Include <stddef.h>.
49935
49936 2007-03-05  Bruno Haible  <bruno@clisp.org>
49937
49938         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
49939
49940 2007-03-05  Bruno Haible  <bruno@clisp.org>
49941
49942         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
49943         NetBSD 4, from Ralf Wildenhues.
49944
49945 2007-03-04  Bruno Haible  <bruno@clisp.org>
49946
49947         * lib/vasprintf.h: Update #if logic for the case when the functions
49948         exist but are overridden.
49949
49950 2007-03-04  Bruno Haible  <bruno@clisp.org>
49951
49952         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
49953         implementations: glibc-2.4 and MacOS X 10.3.
49954         * tests/test-vasnprintf-posix.c (test_function): Test also the case
49955         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
49956         * tests/test-vasprintf-posix.c (test_function): Likewise.
49957
49958 2007-03-04  Bruno Haible  <bruno@clisp.org>
49959
49960         * modules/vasprintf-posix-tests: New file.
49961         * tests/test-vasprintf-posix.c: New file.
49962
49963         * modules/vasprintf-posix: New file.
49964         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
49965         defined.
49966         * m4/vasprintf-posix.m4: New file.
49967         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
49968         gl_FUNC_VASPRINTF.
49969         (gl_FUNC_VASPRINTF): Invoke it.
49970         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
49971         here.
49972         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
49973
49974 2007-03-04  Bruno Haible  <bruno@clisp.org>
49975
49976         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
49977         REPLACE_GETTIMEOFDAY.
49978         * modules/sys_time (Makefile.am): Likewise.
49979         * m4/sys_time_h.m4: Likewise.
49980         * m4/gettimeofday.m4: Likewise.
49981
49982 2007-03-04  Bruno Haible  <bruno@clisp.org>
49983
49984         * modules/vasnprintf-posix-tests: New file.
49985         * tests/test-vasnprintf-posix.c: New file.
49986
49987         * modules/vasnprintf-posix: New file.
49988         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
49989         printf-frexpl.h.
49990         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
49991         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
49992         REPLACE_VASNPRINTF is defined.
49993         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
49994         gl_FUNC_VASNPRINTF.
49995         (gl_FUNC_VASNPRINTF): Invoke it.
49996         * m4/vasnprintf-posix.m4: New file.
49997         * m4/printf.m4: New file.
49998
49999 2007-03-04  Bruno Haible  <bruno@clisp.org>
50000
50001         Compile progreloc.c only if --enable-relocatable is specified.
50002         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
50003         if --enable-relocatable was specified.
50004         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
50005         lib_SOURCES.
50006
50007 2007-03-04  Jim Meyering  <jim@meyering.net>
50008
50009         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
50010         Use it consistently, rather than enumerating errno constants.
50011
50012 2007-03-04  Bruno Haible  <bruno@clisp.org>
50013
50014         * modules/xvasprintf-tests: New file.
50015         * tests/test-xvasprintf.c: New file.
50016
50017         * modules/vasprintf-tests: New file.
50018         * tests/test-vasprintf.c: New file.
50019
50020         * modules/vasnprintf-tests: New file.
50021         * tests/test-vasnprintf.c: New file.
50022
50023         * modules/vsnprintf-tests: New file.
50024         * tests/test-vsnprintf.c: New file.
50025
50026         * modules/snprintf-tests: New file.
50027         * tests/test-snprintf.c: New file.
50028
50029 2007-03-04  Bruno Haible  <bruno@clisp.org>
50030
50031         Compile relocatable.c only if --enable-relocatable is specified.
50032         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
50033         gl_RELOCATABLE_LIBRARY.
50034         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
50035         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
50036         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
50037         gl_RELOCATABLE_LIBRARY.
50038         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
50039         (Makefile.am): Remove lib_SOURCES.
50040         * modules/relocatable-lib-lgpl (configure.ac): Invoke
50041         gl_RELOCATABLE_LIBRARY.
50042         (Makefile.am): Remove lib_SOURCES.
50043         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
50044         always.
50045         * modules/relocatable-prog-wrapper (configure.ac): Invoke
50046         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
50047
50048 2007-03-04  Bruno Haible  <bruno@clisp.org>
50049
50050         * modules/argmatch-tests: New file.
50051         * tests/test-argmatch.c: New file.
50052
50053         * tests/test-allocsa.c (main): Halve the number of loop runs.
50054
50055         * modules/alloca-opt-tests: New file.
50056         * tests/test-alloca-opt.c: New file.
50057
50058 2007-03-04  Jim Meyering  <jim@meyering.net>
50059
50060         Work around difference between Linux ACLs and Solaris 10 ZFS.
50061         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
50062         for EINVAL.
50063
50064 2007-03-03  Bruno Haible  <bruno@clisp.org>
50065
50066         * modules/relocatable-prog (Depends-on): Add back progreloc's
50067         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
50068
50069 2007-03-03  Bruno Haible  <bruno@clisp.org>
50070
50071         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
50072         * modules/relocatable-lib: New file.
50073
50074 2007-03-03  Bruno Haible  <bruno@clisp.org>
50075
50076         * modules/relocatable-prog: Renamed from modules/relocatable.
50077         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
50078
50079 2007-03-03  Bruno Haible  <bruno@clisp.org>
50080
50081         * modules/relocatable-script (Files): Add doc/relocatable.texi,
50082         m4/relocatable-lib.m4.
50083         (Depends-on): Remove 'relocatable'.
50084         (configure.ac): Add gl_RELOCATABLE_NOP.
50085
50086 2007-03-03  Bruno Haible  <bruno@clisp.org>
50087
50088         * modules/relocatable-prog-wrapper: New file.
50089         * modules/relocatable (Depends-on): Add it. Remove all other
50090         dependencies except progname.
50091         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
50092
50093         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
50094         (gl_FUNC_STRERROR): Nop.
50095         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
50096
50097         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
50098         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
50099
50100         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
50101         (gl_FUNC_READLINK): Update.
50102
50103         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
50104
50105 2007-03-03  Bruno Haible  <bruno@clisp.org>
50106
50107         * lib/xreadlink.c: Include <unistd.h> unconditionally.
50108         * modules/xreadlink (Depends-on): Add unistd.
50109         * modules/xreadlink-with-size (Depends-on): Likewise.
50110
50111 2007-03-03  Bruno Haible  <bruno@clisp.org>
50112
50113         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
50114         extracted from gt_FUNC_SETENV.
50115         (gt_FUNC_SETENV): Remove macro.
50116         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
50117         remove gt_FUNC_SETENV.
50118
50119 2007-03-03  Bruno Haible  <bruno@clisp.org>
50120
50121         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
50122         ENABLE_RELOCATABLE here.
50123         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
50124
50125 2007-03-03  Bruno Haible  <bruno@clisp.org>
50126
50127         * modules/rbtreehash-list-tests (Depends-on): Add progname.
50128         * tests/test-rbtreehash_list.c: Include progname.h.
50129         (main): Call set_program_name.
50130
50131         * modules/rbtree-oset-tests (Depends-on): Add progname.
50132         * tests/test-rbtree_oset.c: Include progname.h.
50133         (main): Call set_program_name.
50134
50135         * modules/rbtree-list-tests (Depends-on): Add progname.
50136         * tests/test-rbtree_list.c: Include progname.h.
50137         (main): Call set_program_name.
50138
50139         * modules/linked-list-tests (Depends-on): Add progname.
50140         * tests/test-linked_list.c: Include progname.h.
50141         (main): Call set_program_name.
50142
50143 2007-03-03  Bruno Haible  <bruno@clisp.org>
50144
50145         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
50146         All uses of __restrict changed to _Restrict_.
50147         * lib/glob_.h (__restrict): Remove macro.
50148
50149 2007-03-02  Bruno Haible  <bruno@clisp.org>
50150
50151         * modules/gettext (configure.ac): Require gettext infrastructure
50152         from version 0.16.1.
50153
50154 2007-03-02  Bruno Haible  <bruno@clisp.org>
50155
50156         * modules/linkedhash-list-tests (Depends-on): Add progname.
50157         * tests/test-linkedhash_list.c: Include progname.h.
50158         (main): Call set_program_name.
50159
50160         * modules/carray-list-tests (Depends-on): Add progname.
50161         * tests/test-carray_list.c: Include progname.h.
50162         (main): Call set_program_name.
50163
50164         * modules/avltreehash-list-tests (Depends-on): Add progname.
50165         * tests/test-avltreehash_list.c: Include progname.h.
50166         (main): Call set_program_name.
50167
50168         * modules/avltree-oset-tests (Depends-on): Add progname.
50169         * tests/test-avltree_oset.c: Include progname.h.
50170         (main): Call set_program_name.
50171
50172         * modules/avltree-list-tests (Depends-on): Add progname.
50173         * tests/test-avltree_list.c: Include progname.h.
50174         (main): Call set_program_name.
50175
50176         * modules/array-oset-tests (Depends-on): Add progname.
50177         * tests/test-array_oset.c: Include progname.h.
50178         (main): Call set_program_name.
50179
50180         * modules/array-list-tests (Depends-on): Add progname.
50181         * tests/test-array_list.c: Include progname.h.
50182         (main): Call set_program_name.
50183
50184         * modules/argp-tests (Depends-on): Add progname.
50185         * tests/test-argp.c: Include argp.h first. Include progname.h.
50186         (main): Call set_program_name.
50187
50188 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
50189
50190         * doc/gnulib-tool.texi (Initial import): Reword description of
50191         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
50192         limited effect even if defined after the first system include.
50193
50194 2007-03-01  Bruno Haible  <bruno@clisp.org>
50195
50196         * build-aux/config.libpath: Update to libtool-1.5.22.
50197         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50198
50199 2007-03-01  Bruno Haible  <bruno@clisp.org>
50200
50201         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
50202         foo_CFLAGS.
50203         Reported by Ralf Wildenhues.
50204
50205 2007-03-01  Bruno Haible  <bruno@clisp.org>
50206
50207         * build-aux/install-reloc: Remove object files left over by some
50208         compilers.
50209         Reported by Ralf Wildenhues.
50210
50211 2007-03-01  Bruno Haible  <bruno@clisp.org>
50212
50213         * build-aux/install-reloc: Break long lines.
50214
50215 2007-03-01  Bruno Haible  <bruno@clisp.org>
50216
50217         * doc/relocatable.texi: Document that it may not work on OpenBSD.
50218         Reported by Ralf Wildenhues.
50219
50220 2007-03-01  Bruno Haible  <bruno@clisp.org>
50221
50222         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
50223         include ordering constraints.
50224
50225 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
50226
50227         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
50228         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
50229         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
50230         as another example.
50231         * lib/time_.h: Fix misspelling.
50232         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
50233         Require gl_HEADER_TIME_H_DEFAULTS.
50234         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
50235         * m4/time_r.m4 (gl_TIME_R): Likewise.
50236         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
50237
50238 2007-03-01  Bruno Haible  <bruno@clisp.org>
50239
50240         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
50241         * m4/utimens.m4 (gl_UTIMENS): Likewise.
50242
50243 2007-03-01  Jim Meyering  <jim@meyering.net>
50244
50245         * modules/xreadlink (Maintainer): Add my name.
50246         * modules/xreadlink-with-size (Depends-on): Alphabetize.
50247
50248 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
50249             Bruno Haible  <bruno@clisp.org>
50250
50251         * build-aux/install-reloc: Compile also c-ctype.c.
50252         * build-aux/relocatable.sh.in: New file.
50253         * doc/relocatable.texi: New file.
50254         * doc/relocatable-maint.texi: New file.
50255         * doc/gnulib.texi: Include relocatable-maint.texi.
50256         * lib/progreloc.c: Include unistd.h unconditionally.
50257         * lib/relocwrapper.c: Include unistd.h unconditionally.
50258         Include c-ctype.h.
50259         (add_dotbin): Use c_tolower.
50260         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
50261         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
50262         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
50263         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
50264         to m4/relocatable-lib.m4.
50265         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
50266         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
50267         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
50268         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
50269         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
50270         * modules/relocatable: New file.
50271         * modules/relocatable-lib: New file.
50272         * modules/relocatable-script: New file.
50273
50274 2007-02-28  Bruno Haible  <bruno@clisp.org>
50275
50276         Import --enable-relocatable infrastructure.
50277         * build-aux/config.libpath: New file, from GNU gettext.
50278         * build-aux/install-reloc: New file, from GNU gettext.
50279         * build-aux/reloc-ldflags: New file, from GNU gettext.
50280         * lib/relocatable.h: New file, from GNU gettext.
50281         * lib/relocatable.c: New file, from GNU gettext.
50282         * lib/relocwrapper.c: New file, from GNU gettext.
50283         * m4/relocatable.m4: New file, from GNU gettext.
50284
50285 2007-02-28  Bruno Haible  <bruno@clisp.org>
50286
50287         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
50288
50289         * modules/xreadlink: New file, from GNU gettext with modifications.
50290         * lib/xreadlink.c: New file, from GNU gettext.
50291         * lib/xreadlink.h: Add comments.
50292         (xreadlink): New declaration.
50293
50294         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
50295         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
50296         lib/xreadlink-with-size.c.
50297         (configure.ac): Remove gl_XREADLINK invocation.
50298         (Makefile.am): Augment lib_SOURCES.
50299         * m4/xreadlink.m4: Remove file.
50300         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
50301         (xreadlink_with_size): Renamed from xreadink.
50302         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
50303         * modules/canonicalize (Depends-on): Replace xreadlink with
50304         xreadlink-with-size.
50305         * lib/canonicalize.c (canonicalize_filename_mode): Update.
50306
50307 2007-02-25  Jim Meyering  <jim@meyering.net>
50308
50309         * build-aux/announce-gen: When complaining about excess arguments,
50310         list them.
50311
50312 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
50313
50314         * README: Document signed integer overflow situation more
50315         accurately.
50316
50317 2007-02-25  Bruno Haible  <bruno@clisp.org>
50318
50319         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
50320         'a' or 'A' conversion.
50321
50322 2007-02-25  Bruno Haible  <bruno@clisp.org>
50323
50324         * modules/filename: Renamed from modules/pathname.
50325         (Files): Replace lib/pathname.h with lib/filename.h. Replace
50326         lib/concatpath.c with lib/concat-filename.c.
50327         (Makefile.am): Update.
50328         (Include): Replace pathname.h with filename.h.
50329         * lib/filename.h: Renamed from lib/pathname.h.
50330         (concatenated_filename): Renamed from concatenated_pathname.
50331         * lib/concat-filename.c: Renamed from lib/concatpath.c.
50332         (concatenated_filename): Renamed from concatenated_pathname.
50333         * lib/findprog.c: Include filename.h instead of pathname.h.
50334         (find_in_path): Update.
50335         * lib/javacomp.c: Include filename.h instead of pathname.h.
50336         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
50337         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
50338         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
50339         is_oldgcj_14_13_usable, is_javac_usable): Update.
50340         * lib/javaexec.c: Include filename.h instead of pathname.h.
50341         (execute_java_class): Update.
50342         * modules/findprog: Update.
50343         * modules/javacomp: Update.
50344         * modules/javaexec: Update.
50345         * MODULES.html.sh (File system functions): Add 'filename', remove
50346         'pathname'.
50347
50348 2007-02-25  Bruno Haible  <bruno@clisp.org>
50349
50350         * modules/printf-frexpl-tests: New file.
50351         * tests/test-printf-frexpl.c: New file.
50352
50353         * modules/printf-frexpl: New file.
50354         * lib/printf-frexpl.h: New file.
50355         * lib/printf-frexpl.c: New file.
50356         * m4/printf-frexpl.m4: New file.
50357
50358 2007-02-25  Bruno Haible  <bruno@clisp.org>
50359
50360         * modules/printf-frexp-tests: New file.
50361         * tests/test-printf-frexp.c: New file.
50362
50363         * modules/printf-frexp: New file.
50364         * lib/printf-frexp.h: New file.
50365         * lib/printf-frexp.c: New file.
50366         * m4/printf-frexp.m4: New file.
50367
50368 2007-02-25  Bruno Haible  <bruno@clisp.org>
50369
50370         Assume automake >= 1.10 for the tests.
50371         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
50372         * modules/arctwo-tests: Likewise.
50373         * modules/argp-tests: Likewise.
50374         * modules/avltree-list-tests: Likewise.
50375         * modules/avltree-oset-tests: Likewise.
50376         * modules/avltreehash-list-tests: Likewise.
50377         * modules/carray-list-tests: Likewise.
50378         * modules/crc-tests: Likewise.
50379         * modules/des-tests: Likewise.
50380         * modules/gc-arcfour-tests: Likewise.
50381         * modules/gc-arctwo-tests: Likewise.
50382         * modules/gc-des-tests: Likewise.
50383         * modules/gc-hmac-md5-tests: Likewise.
50384         * modules/gc-hmac-sha1-tests: Likewise.
50385         * modules/gc-md2-tests: Likewise.
50386         * modules/gc-md4-tests: Likewise.
50387         * modules/gc-md5-tests: Likewise.
50388         * modules/gc-pbkdf2-sha1-tests: Likewise.
50389         * modules/gc-rijndael-tests: Likewise.
50390         * modules/gc-sha1-tests: Likewise.
50391         * modules/gc-tests: Likewise.
50392         * modules/getaddrinfo-tests: Likewise.
50393         * modules/hmac-md5-tests: Likewise.
50394         * modules/hmac-sha1-tests: Likewise.
50395         * modules/linked-list-tests: Likewise.
50396         * modules/linkedhash-list-tests: Likewise.
50397         * modules/lock-tests: Likewise.
50398         * modules/md2-tests: Likewise.
50399         * modules/md4-tests: Likewise.
50400         * modules/md5-tests: Likewise.
50401         * modules/rbtree-list-tests: Likewise.
50402         * modules/rbtree-oset-tests: Likewise.
50403         * modules/rbtreehash-list-tests: Likewise.
50404         * modules/read-file-tests: Likewise.
50405         * modules/rijndael-tests: Likewise.
50406         * modules/stdint-tests: Likewise.
50407         * modules/tls-tests: Likewise.
50408
50409 2007-02-24  Bruno Haible  <bruno@clisp.org>
50410
50411         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
50412         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
50413         function; instead check whether isnan with a double argument links.
50414         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
50415         function; instead check whether isnan with a 'long double' argument
50416         links.
50417         Reported by Eric Blake <ebb9@byu.net>.
50418
50419 2007-02-24  Bruno Haible  <bruno@clisp.org>
50420
50421         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
50422         defined.
50423         * lib/isnanl.c: Remove all code. Just include isnan.c.
50424         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
50425
50426 2007-02-25  Jim Meyering  <jim@meyering.net>
50427
50428         Avoid conflicting types for 'unsetenv' on FreeBSD.
50429         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
50430         conflicting with FreeBSD's (5.0 and 6.1) function declaration
50431         in stdlib.h.
50432
50433 2007-02-24  Bruno Haible  <bruno@clisp.org>
50434
50435         * modules/isnanl-nolibm-tests: New file.
50436         * tests/test-isnanl.c: New file.
50437
50438         * modules/isnanl-nolibm: New file.
50439         * lib/isnanl.h: New file.
50440         * lib/isnanl.c: New file.
50441         * m4/isnanl.m4: New file.
50442
50443 2007-02-24  Bruno Haible  <bruno@clisp.org>
50444
50445         * modules/isnan-nolibm-tests: New file.
50446         * tests/test-isnan.c: New file.
50447
50448         * modules/isnan-nolibm: New file.
50449         * lib/isnan.h: New file.
50450         * lib/isnan.c: New file.
50451         * m4/isnan.m4: New file.
50452
50453 2007-02-24  Bruno Haible  <bruno@clisp.org>
50454
50455         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
50456         assume that an exponent fits in 20 bits.
50457
50458 2007-02-24  Jim Meyering  <jim@meyering.net>
50459
50460         * m4/regex.m4: Update the description of the configure-time option,
50461         --without-included-regex, to state accurately what the defaults are,
50462         and perhaps to give people an idea why using this option is risky.
50463
50464 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
50465
50466         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
50467         loops on small arguments.  This attempts to avoid the problem
50468         Bruno Haible reported for AIX 4.3.2 in
50469         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
50470
50471 2007-02-23  Bruno Haible  <bruno@clisp.org>
50472
50473         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
50474         Needed for help2man.
50475
50476 2007-02-23  Karl Berry  <karl@gnu.org>
50477
50478         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
50479         exists, foo.h should be cvs-ignored, not committed.
50480
50481 2007-02-23  Eric Blake  <ebb9@byu.net>
50482
50483         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
50484         * lib/stat-time.h (includes): Likewise.
50485         * lib/utimecmp.c (includes): Likewise.
50486         * lib/utimens.h (includes): Likewise.
50487         * lib/getdate.y (includes): Also include "timespec.h" for use
50488         internal to the module.
50489         * modules/utimens (Depends-on): Revert yesterday's patch.
50490         * modules/nanosleep (Depends-on): Add missing dependency.
50491
50492 2007-02-22  Bruno Haible  <bruno@clisp.org>
50493
50494         * lib/glob.c: Don't include getlogin_r.h.
50495
50496 2007-02-22  Jim Meyering  <jim@meyering.net>
50497
50498         * modules/utimens (Depends-on): Add timespec, required for
50499         utimens.h's inclusion of timespec.h.
50500
50501 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
50502
50503         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
50504         long unreadable paths in GNU/Linux.  Problem reported by Andreas
50505         Schwab in
50506         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
50507         I'll try to think of a better way to fix the Solaris problem.
50508
50509         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
50510         like glibc; on Solaris 10, it fails with errno == EINVAL.
50511         POSIX says the behavior is unspecified if the first argument is NULL,
50512         so play it safe and never pass NULL to the system getcwd.
50513
50514 2007-02-21  Jim Meyering  <jim@meyering.net>
50515
50516         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
50517         of gettimeofday.  It would conflict with the one now always
50518         provided via sys_time_.h.  Reported by Matthew Woehlke, as
50519         an IRIX 6.5 build failure.
50520
50521 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
50522
50523         Minor fixups to port to Solaris 10 with Sun C 5.8.
50524         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
50525         * modules/getcwd (Depends-on): Add dirfd.
50526         * lib/putenv.c (putenv): #undef it.
50527         (rpl_putenv): New decl.
50528         (malloc, free): Include <stdlib.h> rather than prototyping separately.
50529
50530 2007-02-20  Bruno Haible  <bruno@clisp.org>
50531
50532         * modules/stdio-tests: New file.
50533         * tests/test-stdio.c: New file.
50534
50535         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
50536         (Depends-on): Add stdio.
50537         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
50538         (Include): Use <stdio.h> instead of vsnprintf.h.
50539         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
50540         HAVE_DECL_VSNPRINTF.
50541         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
50542
50543         * modules/snprintf (Files): Remove lib/snprintf.h.
50544         (Depends-on): Add stdio.
50545         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
50546         (Include): Use <stdio.h> instead of snprintf.h.
50547         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
50548         HAVE_DECL_SNPRINTF.
50549         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
50550         * lib/getaddrinfo.c: Likewise.
50551
50552         * modules/stdio: New file.
50553         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
50554         * lib/snprintf.h: Remove file.
50555         * lib/vsnprintf.h: Remove file.
50556         * lib/.cppi-disable: Remove snprintf.h.
50557         * m4/stdio_h.m4: New file.
50558         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
50559
50560 2007-02-20  Jim Meyering  <jim@meyering.net>
50561
50562         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
50563         used by e.g., mingw.  From Bruno Haible.
50564
50565 2007-02-19  Bruno Haible  <bruno@clisp.org>
50566
50567         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
50568         warnings.
50569         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50570
50571 2007-02-19  Bruno Haible  <bruno@clisp.org>
50572
50573         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
50574         from mingw users.
50575
50576 2007-02-19  Bruno Haible  <bruno@clisp.org>
50577
50578         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
50579         warnings.
50580         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
50581
50582 2007-02-19  Jim Meyering  <jim@meyering.net>
50583
50584         Don't use FD after a successful "fdopendir (fd)".
50585         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
50586         Reset it by calling dirfd on the just-obtained DIR*.
50587
50588         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
50589         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
50590
50591 2007-02-18  Bruno Haible  <bruno@clisp.org>
50592
50593         * lib/readlink.c: Include <unistd.h>.
50594         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
50595         HAVE_READLINK.
50596         * modules/readlink (Depends-on): Add unistd.
50597         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50598         (Include): Add <unistd.h>.
50599
50600         * lib/getlogin_r.h: Remove file.
50601         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
50602         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
50603         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
50604         HAVE_DECL_GETLOGIN_R.
50605         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
50606         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50607         (Include): Use <unistd.h> instead of getlogin_r.h.
50608
50609         * lib/getcwd.h: Remove file.
50610         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
50611         * lib/xgetcwd.c: Likewise.
50612         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
50613         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
50614         * modules/getcwd (Files): Remove lib/getcwd.h.
50615         (Depends-on): Add unistd.
50616         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50617         (Include): Use <unistd.h> instad of getcwd.h.
50618
50619         * lib/ftruncate.c: Include <unistd.h> first.
50620         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
50621         Set HAVE_FTRUNCATE.
50622         * modules/ftruncate (Depends-on): Add unistd.
50623         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50624
50625         * lib/fchdir.c: Include <unistd.h> first.
50626         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
50627         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
50628         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
50629         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50630         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
50631
50632         * lib/dup2.c: Include <unistd.h> first.
50633         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
50634         HAVE_DUP2.
50635         * modules/dup2 (Depends-on): Add unistd.
50636         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50637
50638         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
50639         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
50640         REPLACE_CHOWN. Don't define chown as a macro here.
50641         * modules/chown (Depends-on): Add unistd.
50642         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50643
50644         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
50645         Add definition for GL_LINK_WARNING.
50646         (chown, dup2): New declarations.
50647         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
50648         link warning.
50649         (ftruncate): New declaration.
50650         (getcwd): New declaration, taken from old getcwd.h.
50651         (getlogin_r): New declaration, taken from old getlogin_r.h.
50652         (readlink): New declaration.
50653         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
50654         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
50655         (gl_PREREQ_UNISTD): Remove macro.
50656         (gl_UNISTD_MODULE_INDICATOR): New macro.
50657         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
50658         many new variables. Don't set UNISTD_H.
50659         * modules/unistd (Description): Change.
50660         (Depends-on): Add link-warning.
50661         (configure.ac): Update.
50662         (Makefile.am): Create unistd.h always. Substitute many new variables
50663         into it.
50664
50665 2007-02-18  Bruno Haible  <bruno@clisp.org>
50666
50667         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
50668         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
50669         HAVE_GETSUBOPT.
50670         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
50671         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
50672         * lib/getsubopt.h: Remove file.
50673         * modules/getsubopt (Files): Remove lib/getsubopt.h.
50674         (Depends-on): Add stdlib.
50675         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50676         (Includes): Use <stdlib.h> instead of getsubopt.h.
50677         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
50678         Set HAVE_GETSUBOPT.
50679         * lib/getsubopt.c: Don't include getsubopt.h.
50680
50681 2007-02-18  Bruno Haible  <bruno@clisp.org>
50682
50683         * modules/fchdir (Depends-on): Add dup2.
50684
50685 2007-02-18  Bruno Haible  <bruno@clisp.org>
50686
50687         * lib/stdlib_.h: Handle glibc's special invocation convention
50688         specially.
50689
50690 2007-02-18  Bruno Haible  <bruno@clisp.org>
50691
50692         * modules/stdlib-tests: New file.
50693         * tests/test-stdlib.c: New file.
50694
50695         * modules/mkstemp (Files): Remove lib/mkstemp.h.
50696         (Depends-on): Add stdlib.
50697         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50698         (Includes): Use <stdlib.h> instead of mkstemp.h.
50699         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
50700         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
50701         * lib/mkstemp.c: Don't include mkstemp.h.
50702         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
50703         * lib/stdlib--.h: Don't include mkstemp.h.
50704
50705         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
50706         (Depends-on): Add stdlib.
50707         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50708         (Includes): Use <stdlib.h> instead of mkdtemp.h.
50709         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
50710         HAVE_MKDTEMP.
50711         * lib/mkdtemp.c: Don't include mkdtemp.h.
50712         * lib/clean-temp.c: Don't include mkdtemp.h.
50713
50714         * modules/exit (Files): Remove lib/exit.h.
50715         (Depends-on): Add stdlib.
50716         (Makefile.am): Remove lib_SOURCES.
50717         (Include): Use <stdlib.h> instead of exit.h.
50718         * lib/argmatch.c: Don't include exit.h.
50719         * lib/execute.c: Likewise.
50720         * lib/pagealign_alloc.c: Likewise.
50721         * lib/pipe.c: Likewise.
50722         * lib/wait-process.c: Likewise.
50723         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
50724         * lib/exitfail.c: Likewise.
50725         * lib/savewd.c: Likewise.
50726         * lib/xsetenv.c: Likewise.
50727
50728         * modules/stdlib: New file.
50729         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
50730         and extra comments about mkstemp().
50731         * lib/exit.h: Remove file.
50732         * lib/mkdtemp.h: Remove file.
50733         * lib/mkstemp.h: Remove file.
50734         * m4/stdlib_h.m4: New file.
50735         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
50736
50737 2007-02-18  Bruno Haible  <bruno@clisp.org>
50738
50739         * modules/math-tests: New file.
50740         * tests/test-math.c: New file.
50741
50742         * modules/math: New file.
50743         * modules/mathl (Files): Remove lib/mathl.h.
50744         (Depends-on): Add math.
50745         (Makefile.am): Don't mention mathl.h.
50746         (Include): Use <math.h> instead of mathl.h.
50747         * lib/math_.h: New file.
50748         * lib/mathl.h: Remove file.
50749         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
50750         mathl.h.
50751         * lib/asinl.c: Likewise.
50752         * lib/atanl.c: Likewise.
50753         * lib/ceill.c: Likewise.
50754         * lib/cosl.c: Likewise.
50755         * lib/expl.c: Likewise.
50756         * lib/floorl.c: Likewise.
50757         * lib/frexpl.c: Likewise.
50758         * lib/ldexpl.c: Likewise.
50759         * lib/logl.c: Likewise.
50760         * lib/sincosl.c: Likewise.
50761         * lib/sinl.c: Likewise.
50762         * lib/sqrtl.c: Likewise.
50763         * lib/tanl.c: Likewise.
50764         * lib/trigl.c: Likewise.
50765         * m4/math_h.m4: New file.
50766         * MODULES.html.sh (Mathematics): Add math.
50767
50768 2007-02-17  Bruno Haible  <bruno@clisp.org>
50769
50770         * modules/wctype-tests: New file.
50771         * tests/test-wctype.c: New file.
50772
50773         * modules/wchar-tests: New file.
50774         * tests/test-wchar.c: New file.
50775
50776         * modules/unistd-tests: New file.
50777         * tests/test-unistd.c: New file.
50778
50779         * modules/time-tests: New file.
50780         * tests/test-time.c: New file.
50781
50782         * modules/sysexits-tests: New file.
50783         * tests/test-sysexits.c: New file.
50784
50785         * modules/sys_time-tests: New file.
50786         * tests/test-sys_time.c: New file.
50787
50788         * modules/sys_stat-tests: New file.
50789         * tests/test-sys_stat.c: New file.
50790
50791         * modules/sys_socket-tests: New file.
50792         * tests/test-sys_socket.c: New file.
50793
50794         * modules/sys_select-tests: New file.
50795         * tests/test-sys_select.c: New file.
50796
50797         * modules/string-tests: New file.
50798         * tests/test-string.c: New file.
50799
50800         * modules/stdbool-tests: New file.
50801         * tests/test-stdbool.c: New file.
50802
50803         * modules/netinet_in-tests: New file.
50804         * tests/test-netinet_in.c: New file.
50805
50806         * modules/inttypes-tests: New file.
50807         * tests/test-inttypes.c: New file.
50808
50809         * modules/fcntl-tests: New file.
50810         * tests/test-fcntl.c: New file.
50811
50812         * modules/byteswap-tests: New file.
50813         * tests/test-byteswap.c: New file.
50814
50815         * modules/arpa_inet-tests: New file.
50816         * tests/test-arpa_inet.c: New file.
50817
50818 2007-02-17  Bruno Haible  <bruno@clisp.org>
50819
50820         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
50821         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
50822         if the corresponding module is not enabled. Emit link warnings if
50823         the function is used nevertheless.
50824         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
50825         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
50826         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
50827         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
50828         * modules/inttypes (Depends-on): Add link-warning.
50829         (Makefile.am): Copy the contents of build-aux/link-warning.h into
50830         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
50831         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
50832         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
50833         * modules/imaxdiv (configure.ac): Likewise.
50834         * modules/strtoimax (configure.ac): Likewise.
50835         * modules/strtoumax (configure.ac): Likewise.
50836
50837 2007-02-17  Bruno Haible  <bruno@clisp.org>
50838
50839         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
50840         gl_STRING_MODULE_INDICATOR_DEFAULTS.
50841         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
50842         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
50843
50844 2007-02-17  Bruno Haible  <bruno@clisp.org>
50845
50846         * modules/link-warning: New file.
50847         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
50848         * lib/string_.h (GL_LINK_WARNING): Remove definition.
50849         * modules/string (Depends-on): Add link-warning.
50850         (Makefile.am): Copy the contents of build-aux/link-warning.h into
50851         string.h.
50852         * MODULES.html.sh (Support for building libraries and executables): Add
50853         link-warning.
50854
50855 2007-02-17  Bruno Haible  <bruno@clisp.org>
50856
50857         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
50858         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
50859         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
50860         long lines.
50861
50862 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
50863             Bruno Haible  <bruno@clisp.org>
50864
50865         * modules/tmpfile: New file.
50866         * lib/tmpfile.c: New file.
50867         * m4/tmpfile.m4: New file.
50868         * MODULES.html.sh (func_all_modules): New section "Input/output".
50869
50870 2007-02-15  Bruno Haible  <bruno@clisp.org>
50871
50872         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
50873         (supports_delete_on_close): New function.
50874         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
50875
50876 2007-02-14  Bruno Haible  <bruno@clisp.org>
50877
50878         * modules/mbspcasecmp-tests: New file.
50879         * tests/test-mbspcasecmp.sh: New file.
50880         * tests/test-mbspcasecmp.c: New file.
50881
50882         New module mbspcasecmp.
50883         * modules/mbspcasecmp: New file.
50884         * lib/mbspcasecmp.c: New file.
50885         * lib/string_.h (strncasecmp): Change warning message.
50886         (mbspcasecmp): New declaration.
50887         * m4/mbspcasecmp.m4: New file.
50888         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50889         GNULIB_MBSPCASECMP.
50890         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
50891         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
50892
50893 2007-02-14  Bruno Haible  <bruno@clisp.org>
50894
50895         * modules/mbsncasecmp-tests: New file.
50896         * tests/test-mbsncasecmp.sh: New file.
50897         * tests/test-mbsncasecmp.c: New file.
50898
50899         New module mbsncasecmp.
50900         * modules/mbsncasecmp: New file.
50901         * lib/mbsncasecmp.c: New file.
50902         * lib/string_.h (mbsncasecmp): New declaration.
50903         * m4/mbsncasecmp.m4: New file.
50904         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50905         GNULIB_MBSNCASECMP.
50906         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
50907         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
50908
50909 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
50910
50911         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
50912         Verify that it doesn't overlap with our flags.
50913         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
50914         do not have the desired effect in multibyte locales; instead, use
50915         mbscasecmp.
50916         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
50917         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
50918         we don't require GNU fnmatch ourselves (if our users require it, they
50919         should do so explicitly).
50920
50921         Fix regex code so it doesn't rely on strcasecmp.
50922         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
50923         Otherwise, include gnulib's langinfo.h.
50924         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
50925         undesirable behavior in non-C locales.  Instead, rely on localecharset.
50926         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
50927         * modules/regex (FILES): Remove m4/codeset.m4.
50928         (Depends-on): Add localcharset.  Remove strcase.
50929
50930 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50931
50932         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
50933         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
50934
50935 2007-02-13  Bruno Haible  <bruno@clisp.org>
50936
50937         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
50938         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50939
50940 2007-02-12  Bruno Haible  <bruno@clisp.org>
50941
50942         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
50943         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
50944         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
50945         time warning rather than a link error.
50946
50947 2007-02-12  Bruno Haible  <bruno@clisp.org>
50948
50949         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
50950         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
50951         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50952
50953 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
50954
50955         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
50956         args, not 2.
50957
50958 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
50959
50960         New module 'time', so that apps can include <time.h> as per
50961         POSIX and GNU instead of separate include files like time_r.h
50962         and timegm.h.  This implementation tries out a simpler approach
50963         for replacing decls in standard include files (as compared to
50964         the string module), somewhat as an experiment.
50965
50966         * config/srclist.txt: Comment out mktime.c for now.
50967         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
50968         since it doesn't apply any more.  Use generic wording instead.
50969         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
50970         'time'.
50971         * lib/time_.h, m4/time_h.m4, modules/time: New files.
50972         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
50973         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
50974         Don't include <sys/types.h>; no longer needed since we assume C89.
50975         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
50976         * lib/strftime.c: Likewise.
50977         * lib/time_r.c: Likewise.
50978         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
50979         * lib/nanosleep.c: Include <time.h> first, to check interface.
50980         * lib/strptime.c: Likewise.
50981         * lib/time_r.c: Likewise.
50982         * lib/timegm.c: Likewise.
50983         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
50984         needed.
50985         * lib/timegm.c: Don't include timegm.h; no longer needed.
50986         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
50987         time.h now handles any problems in that area.
50988         (struct timespec, nanosleep): Remove; time.h now arranges for these.
50989         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
50990         that time.h defines struct timespec.
50991         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
50992         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
50993         handles that.
50994         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
50995         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
50996         needed.  Set REPLACE_LOCALTIME.
50997         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
50998         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
50999         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
51000         nanosleep; time_h.m4 now does that.  Don't require
51001         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
51002         module handles this now.
51003         * modules/getdate (Depends-on): Remove timespec.  Add time.
51004         * modules/nanosleep (Depends-on): Likewise.
51005         * modules/stat-time (Depends-on): Likewise.
51006         * modules/nanosleep (Include): Include time.h, not timespec.h.
51007         * modules/strptime (Files): Remove lib/strptime.h.
51008         (Depends-on): Add extensions, time.
51009         (Include): Include time.h, not strptime.h.
51010         * modules/time_r (Files): Remove lib/time_r.h.
51011         (Depends-on): Add time.
51012         (Include): Include time.h, not time_r.h.
51013         * modules/timegm: Likewise.
51014         * modules/timespec (Description): Now does timespec-related decls
51015         of our own, instead of struct timespec itself.
51016         (Depends-on): Add time; remove extensions.
51017         (Maintainer): Add self.
51018         * modules/utimecmp (Depends-on): Add time; remove timespec.
51019         * modules/utimens (Depends-on): Likewise.
51020         * modules/xnanosleep (Depends-on): Likewise.
51021
51022 2007-02-11  Bruno Haible  <bruno@clisp.org>
51023
51024         * lib/c-strstr.c: Include allocsa.h.
51025         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51026         * lib/c-strcasestr.c: Include allocsa.h.
51027         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51028         * lib/strcasestr.c: Include allocsa.h.
51029         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51030         * lib/mbsstr.c: Include allocsa.h.
51031         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
51032         allocsa/freesa instead of malloc/free.
51033         * lib/mbscasestr.c: Include allocsa.h.
51034         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
51035         allocsa/freesa instead of malloc/free.
51036         * modules/c-strstr (Depends-on): Add allocsa.
51037         * modules/c-strcasestr (Depends-on): Likewise.
51038         * modules/strcasestr (Depends-on): Likewise.
51039         * modules/mbsstr (Depends-on): Likewise.
51040         * modules/mbscasestr (Depends-on): Likewise.
51041
51042 2007-02-11  Bruno Haible  <bruno@clisp.org>
51043
51044         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
51045
51046         * modules/mbsspn-tests: New file.
51047         * tests/test-mbsspn.sh: New file.
51048         * tests/test-mbsspn.c: New file.
51049
51050 2007-02-11  Bruno Haible  <bruno@clisp.org>
51051
51052         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
51053
51054         * modules/mbspbrk-tests: New file.
51055         * tests/test-mbspbrk.sh: New file.
51056         * tests/test-mbspbrk.c: New file.
51057
51058 2007-02-11  Bruno Haible  <bruno@clisp.org>
51059
51060         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
51061         unneeded cast.
51062
51063         * modules/mbscspn-tests: New file.
51064         * tests/test-mbscspn.sh: New file.
51065         * tests/test-mbscspn.c: New file.
51066
51067 2007-02-11  Bruno Haible  <bruno@clisp.org>
51068
51069         * modules/mbscasecmp-tests: New file.
51070         * tests/test-mbscasecmp.sh: New file.
51071         * tests/test-mbscasecmp.c: New file.
51072
51073 2007-02-11  Bruno Haible  <bruno@clisp.org>
51074
51075         Ensure O(n) worst-case complexity of mbscasestr.
51076         * lib/mbscasestr.c: Include stdbool.h.
51077         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
51078         functions.
51079         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
51080         the bookkeeping indicates that it's worth it.
51081         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
51082
51083         * modules/mbscasestr-tests: New file.
51084         * tests/test-mbscasestr1.c: New file.
51085         * tests/test-mbscasestr2.sh: New file.
51086         * tests/test-mbscasestr2.c: New file.
51087         * tests/test-mbscasestr3.sh: New file.
51088         * tests/test-mbscasestr3.c: New file.
51089         * tests/test-mbscasestr4.sh: New file.
51090         * tests/test-mbscasestr4.c: New file.
51091         * m4/locale-tr.m4: New file.
51092
51093 2007-02-11  Bruno Haible  <bruno@clisp.org>
51094
51095         Ensure O(n) worst-case complexity of mbsstr.
51096         * lib/mbsstr.c: Include stdbool.h.
51097         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
51098         functions.
51099         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
51100         bookkeeping indicates that it's worth it.
51101         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
51102
51103         * modules/mbsstr-tests: New file.
51104         * tests/test-mbsstr1.c: New file.
51105         * tests/test-mbsstr2.sh: New file.
51106         * tests/test-mbsstr2.c: New file.
51107         * tests/test-mbsstr3.sh: New file.
51108         * tests/test-mbsstr3.c: New file.
51109         * m4/locale-fr.m4: New file.
51110
51111 2007-02-11  Bruno Haible  <bruno@clisp.org>
51112
51113         * lib/mbsrchr.c (mbsrchr): Fix bug.
51114
51115         * modules/mbsrchr-tests: New file.
51116         * tests/test-mbsrchr.sh: New file.
51117         * tests/test-mbsrchr.c: New file.
51118
51119 2007-02-11  Bruno Haible  <bruno@clisp.org>
51120
51121         * lib/mbschr.c (mbschr): Fix bug.
51122
51123         * modules/mbschr-tests: New file.
51124         * tests/test-mbschr.sh: New file.
51125         * tests/test-mbschr.c: New file.
51126         * m4/locale-zh.m4: New file.
51127
51128 2007-02-11  Bruno Haible  <bruno@clisp.org>
51129
51130         Support for copying multibyte string iterators.
51131         * lib/mbiter.h: Include <string.h>.
51132         (mbiter_multi_copy): New function.
51133         (mbi_copy): New macro.
51134         * lib/mbuiter.h: Include <string.h>.
51135         (mbuiter_multi_copy): New function.
51136         (mbui_copy): New macro.
51137
51138 2007-02-11  Bruno Haible  <bruno@clisp.org>
51139
51140         New module mbslen.
51141         * modules/mbslen: New file.
51142         * lib/mbslen.c: New file.
51143         * lib/string_.h (mbslen): New declaration.
51144         * m4/mbslen.m4: New file.
51145         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51146         GNULIB_MBSLEN.
51147         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
51148         * MODULES.html.sh (Internationalization functions): Add mbslen.
51149
51150 2007-02-11  Bruno Haible  <bruno@clisp.org>
51151
51152         Ensure O(n) worst-case complexity of strcasestr substitute.
51153         * lib/strcasestr.c: Include stdbool.h.
51154         (knuth_morris_pratt): New function.
51155         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
51156         bookkeeping indicates that it's worth it.
51157         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
51158
51159         * modules/strcasestr-tests: New file.
51160         * tests/test-strcasestr.c: New file.
51161
51162 2007-02-11  Bruno Haible  <bruno@clisp.org>
51163
51164         Ensure O(n) worst-case complexity of c_strcasestr.
51165         * lib/c-strcasestr.c: Include stdbool.h, string.h.
51166         (knuth_morris_pratt): New function.
51167         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
51168         the bookkeeping indicates that it's worth it.
51169         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
51170
51171         * modules/c-strcasestr-tests: New file.
51172         * tests/test-c-strcasestr.c: New file.
51173
51174 2007-02-11  Bruno Haible  <bruno@clisp.org>
51175
51176         Ensure O(n) worst-case complexity of c_strstr.
51177         * lib/c-strstr.c: Include stdbool.h, string.h.
51178         (knuth_morris_pratt): New function.
51179         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
51180         bookkeeping indicates that it's worth it.
51181         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
51182
51183         * lib/c-strstr.c: Complete rewrite for maintainability.
51184
51185         * modules/c-strstr-tests: New file.
51186         * tests/test-c-strstr.c: New file.
51187
51188 2007-02-11  Bruno Haible  <bruno@clisp.org>
51189
51190         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
51191         5.2.1 and earlier, whereby \055 was treated just like the range
51192         delimiter '-'.
51193         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
51194
51195 2007-02-08  Bruno Haible  <bruno@clisp.org>
51196
51197         * modules/regex (Depends-on): Add stdbool.
51198         Reported by Dalibor Topic <robilad@kaffe.org>.
51199
51200 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
51201
51202         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
51203         Prefer returning from main to exiting from it.
51204         Remove unnecessary parens after sizeof.
51205
51206 2007-02-05  Bruno Haible  <bruno@clisp.org>
51207
51208         New module mbssep.
51209         * modules/mbssep: New file.
51210         * lib/mbssep.c: New file.
51211         * lib/string_.h (strsep): Add a conditional link warning.
51212         (mbssep): New declaration.
51213         * m4/mbssep.m4: New file.
51214         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51215         GNULIB_MBSSEP.
51216         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
51217         * MODULES.html.sh (Internationalization functions): Add mbssep.
51218
51219 2007-02-05  Bruno Haible  <bruno@clisp.org>
51220
51221         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
51222         Optimize search in case of 1 delimiter.
51223
51224 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
51225
51226         * lib/acl.h: Include sys/types.h before sys/acl.h.
51227
51228 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
51229
51230         Merge upstream fix for glibc bugzilla #3957:
51231
51232         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
51233
51234         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
51235         bit for RE_HAT_LISTS_NOT_NEWLINE.
51236         (build_charclass_op): Remove bogus comment.
51237
51238 2007-02-05  Simon Josefsson  <simon@josefsson.org>
51239
51240         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
51241
51242 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
51243
51244         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
51245         * lib/memmem.c [!defined _LIBC]: Include config.h.
51246
51247 2007-02-04  Bruno Haible  <bruno@clisp.org>
51248
51249         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
51250         warning message.
51251
51252 2007-02-04  Bruno Haible  <bruno@clisp.org>
51253
51254         New module mbstok_r.
51255         * modules/mbstok_r: New file.
51256         * lib/mbstok_r.c: New file.
51257         * lib/string_.h (strtok_r): Change argument names to match the
51258         comments. Add a conditional link warning.
51259         (mbstok_r): New declaration.
51260         * m4/mbstok_r.m4: New file.
51261         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51262         GNULIB_MBSTOK_R.
51263         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
51264         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
51265
51266 2007-02-04  Bruno Haible  <bruno@clisp.org>
51267
51268         New module mbsspn.
51269         * modules/mbsspn: New file.
51270         * lib/mbsspn.c: New file.
51271         * lib/string_.h (strspn): Add a conditional link warning.
51272         (mbsspn): New declaration.
51273         * m4/mbsspn.m4: New file.
51274         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51275         GNULIB_MBSSPN.
51276         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
51277         * MODULES.html.sh (Internationalization functions): Add mbsspn.
51278
51279 2007-02-04  Bruno Haible  <bruno@clisp.org>
51280
51281         New module mbspbrk.
51282         * modules/mbspbrk: New file.
51283         * lib/mbspbrk.c: New file.
51284         * lib/string_.h (strpbrk): Add a conditional link warning.
51285         (mbspbrk): New declaration.
51286         * m4/mbspbrk.m4: New file.
51287         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51288         GNULIB_MBSPBRK.
51289         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
51290         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
51291
51292 2007-02-04  Bruno Haible  <bruno@clisp.org>
51293
51294         New module mbscspn.
51295         * modules/mbscspn: New file.
51296         * lib/mbscspn.c: New file.
51297         * lib/string_.h (strcspn): Add a conditional link warning.
51298         (mbscspn): New declaration.
51299         * m4/mbscspn.m4: New file.
51300         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51301         GNULIB_MBSCSPN.
51302         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
51303         * MODULES.html.sh (Internationalization functions): Add mbscspn.
51304
51305 2007-02-04  Bruno Haible  <bruno@clisp.org>
51306
51307         New module mbscasestr, reduced goal of strcasestr.
51308         * modules/mbscasestr: New file.
51309         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
51310         (mbscasestr): Renamed from strcasestr.
51311         * lib/strcasestr.c: Don't include mbuiter.h.
51312         (strcasestr): Remove support for multibyte locales.
51313         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
51314         Change the conditional link warning.
51315         (mbscasestr): New declaration.
51316         * m4/mbscasestr.m4: New file.
51317         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
51318         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
51319         REPLACE_STRCASESTR.
51320         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
51321         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51322         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
51323         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
51324         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
51325         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
51326         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
51327         (Depends-on): Remove mbuiter.
51328         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
51329
51330 2007-02-04  Bruno Haible  <bruno@clisp.org>
51331
51332         Simplify handling of strncasecmp.
51333         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
51334         the conditional link warning.
51335         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51336         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
51337         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
51338         * modules/strcase (configure.ac): Don't invoke
51339         gl_STRING_MODULE_INDICATOR.
51340         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
51341
51342 2007-02-04  Bruno Haible  <bruno@clisp.org>
51343
51344         New module mbscasecmp, reduced goal of strcasecmp.
51345         * modules/mbscasecmp: New file.
51346         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
51347         (mbscasecmp): Renamed from strcasecmp.
51348         * lib/strcasecmp.c: Don't include mbuiter.h.
51349         (strcasecmp): Remove support for multibyte locales.
51350         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
51351         Change the conditional link warning.
51352         (mbscasecmp): New declaration.
51353         * m4/mbscasecmp.m4: New file.
51354         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
51355         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
51356         REPLACE_STRCASECMP.
51357         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
51358         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51359         GNULIB_MBSCASECMP.
51360         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
51361         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
51362         * modules/strcase (Files): Remove m4/mbrtowc.m4.
51363         (Depends-on): Remove mbuiter.
51364         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
51365
51366 2007-02-04  Bruno Haible  <bruno@clisp.org>
51367
51368         New module mbsstr. Remove module strstr.
51369         * modules/mbsstr: New file.
51370         * modules/strstr: Remove file.
51371         * lib/mbsstr.c: Renamed from lib/strstr.c.
51372         (mbsstr): Renamed from strstr.
51373         * lib/string_.h (strstr): Remove declaration. Change the conditional
51374         link warning.
51375         (mbsstr): New declaration.
51376         * m4/mbsstr.m4: New file.
51377         * m4/strstr.m4: Remove file.
51378         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
51379         REPLACE_STRSTR.
51380         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
51381         Don't initialize GNULIB_STRSTR.
51382         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
51383         substitute GNULIB_STRSTR and REPLACE_STRSTR.
51384         * MODULES.html.sh (Internationalization functions): Add mbsstr.
51385         (Support for systems lacking ANSI C 89): Remove strstr.
51386
51387 2007-02-04  Bruno Haible  <bruno@clisp.org>
51388
51389         New module mbsrchr.
51390         * modules/mbsrchr: New file.
51391         * lib/mbsrchr.c: New file.
51392         * lib/string_.h (strrchr): Add a conditional link warning.
51393         (mbsrchr): New declaration.
51394         * m4/mbsrchr.m4: New file.
51395         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51396         GNULIB_MBSRCHR.
51397         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
51398         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
51399
51400 2007-02-04  Bruno Haible  <bruno@clisp.org>
51401
51402         New module mbschr.
51403         * modules/mbschr: New file.
51404         * lib/mbschr.c: New file.
51405         * lib/string_.h (strchr): Add a conditional link warning.
51406         (mbschr): New declaration.
51407         * m4/mbschr.m4: New file.
51408         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51409         GNULIB_MBSCHR.
51410         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
51411         * MODULES.html.sh (Internationalization functions): Add mbschr.
51412
51413 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
51414
51415         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
51416
51417         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
51418
51419 2007-02-04  Bruno Haible  <bruno@clisp.org>
51420
51421         New module description section 'configure.ac-early'.
51422         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
51423         (func_get_autoconf_early_snippet): New function.
51424         (func_import, func_create_testdir): Use it. Remove special cases for
51425         modules 'extensions' and 'lock'.
51426         * modules/extensions (configure.ac-early): Require
51427         gl_USE_SYSTEM_EXTENSIONS.
51428         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
51429
51430 2007-02-04  Bruno Haible  <bruno@clisp.org>
51431
51432         Make use of gcj-4.3's -fsource and -ftarget option.
51433         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
51434         and if so try the options -fsource and -ftarget.
51435         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
51436         source_version, ftarget_option, target_version arguments.
51437         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
51438         (is_envjavac_oldgcj_14_14_usable): Renamed from
51439         is_envjavac_gcj_14_14_usable.
51440         (is_envjavac_oldgcj_14_13_usable): Renamed from
51441         is_envjavac_gcj_14_13_usable.
51442         (is_gcj_present): Update.
51443         (is_gcj_43, is_gcj43_usable): New functions.
51444         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
51445         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
51446         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
51447         try the options -fsource and -ftarget.
51448
51449 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
51450
51451         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
51452         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
51453         larger value.
51454
51455 2007-02-03  Jim Meyering  <jim@meyering.net>
51456
51457         Give tools a better chance to allocate space for very large buffers.
51458         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
51459
51460         Make pwd and readlink work also when run with an unreadable parent dir
51461         on systems with openat support.
51462         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
51463         provided getcwd function, even when we have openat support.
51464         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
51465
51466 2007-02-02  Bruno Haible  <bruno@clisp.org>
51467
51468         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
51469         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
51470         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
51471         portability problems if one of these functions is only used on specific
51472         platforms.
51473         Reported by Paul Eggert.
51474
51475 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
51476
51477         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
51478         is causing more trouble than it's curing.
51479         * lib/regex_internal.h (__mempcpy): Remove.
51480         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
51481         (and make the code a tad smaller to boot).
51482         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
51483
51484 2007-02-02  Jim Meyering  <jim@meyering.net>
51485
51486         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
51487         section, not in the Makefile.am: one.
51488
51489 2007-02-02  Eric Blake  <ebb9@byu.net>
51490
51491         * lib/strchrnul.c: Always include config.h first.
51492
51493         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
51494         gnulib strstr is not necessary here.
51495
51496 2007-02-02  Simon Josefsson  <simon@josefsson.org>
51497
51498         * m4/socklen.m4: Fix typo.
51499
51500 2007-02-02  Eric Blake  <ebb9@byu.net>
51501
51502         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
51503         * modules/netinet_in (Makefile.am): Likewise.
51504
51505 2007-02-01  Bruno Haible  <bruno@clisp.org>
51506
51507         * lib/string_.h (GL_LINK_WARNING): New macro.
51508         (strcasecmp, strstr, strcasestr): If provided by the system,
51509         conditionally define as a macro that leads to a warning instead of to
51510         an error.
51511         (strncasecmp): Conditionally define as a macro that leads to a warning.
51512
51513 2007-02-01  Karl Berry  <karl@gnu.org>
51514
51515         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
51516
51517 2007-02-01  Bruno Haible  <bruno@clisp.org>
51518
51519         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
51520         renamings.
51521
51522 2007-02-01  Eric Blake  <ebb9@byu.net>
51523
51524         * modules/regex (Depends-on): Revert dependence on mempcpy.
51525         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
51526         module's definition of mempcpy.
51527         Reported by Paul Eggert.
51528
51529 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
51530
51531         * lib/string_.h: If the gnulib module XYZ is not present, undefine
51532         the symbol XYZ before redefining it.  This fixes a problem with
51533         programs that don't use XYZ, when compiled on systems that define
51534         XYZ to something else.
51535
51536 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
51537
51538         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
51539         occurs when "mkdir -m foo" creates a setgid directory that is (1)
51540         writeable to group or other and (2) is intended to have a special
51541         mode bit that is set or cleared.  In such a case, the directory
51542         should be neither group- nor other-writeable until the special
51543         mode bits are right.
51544
51545 2007-01-31  Eric Blake  <ebb9@byu.net>
51546
51547         * modules/mountlist (Depends-on): Add strstr.
51548
51549         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
51550         bug.
51551         * modules/string (Makefile.am): Remove redundant replacement.
51552         * modules/regex (Depends-on): Add mempcpy.
51553
51554 2007-01-31  Bruno Haible  <bruno@clisp.org>
51555
51556         New module description field 'Link'.
51557         * gnulib-tool (func_usage): Document --extract-link-directive.
51558         (sed_extract_prog): Recognize 'Link' directive.
51559         (func_get_link_directive): New function.
51560         (func_import): Show summary of link directives.
51561         Handle --extract-link-directive option.
51562         * modules/acl (Link): New section.
51563         * modules/clock-time (Link): New section.
51564         * modules/euidaccess (Link): New section.
51565         * modules/gettext (Link): New section.
51566         * modules/iconv (Link): New section.
51567         * modules/lock (Link): New section.
51568         * modules/nanosleep (Link): New section.
51569         * modules/readline (Link): New section.
51570
51571 2007-01-27  Bruno Haible  <bruno@clisp.org>
51572
51573         Enforce the use of gnulib modules for unportable <string.h> functions.
51574         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
51575         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
51576         (gl_HEADER_STRING_H_BODY): Require it.
51577         * lib/string_.h: If the gnulib module XYZ is not present, redefine
51578         the symbol XYZ to one that gives a link error.
51579         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
51580         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
51581         * modules/mempcpy (configure.ac): Likewise.
51582         * modules/memrchr (configure.ac): Likewise.
51583         * modules/stpcpy (configure.ac): Likewise.
51584         * modules/stpncpy (configure.ac): Likewise.
51585         * modules/strcase (configure.ac): Likewise.
51586         * modules/strcasestr (configure.ac): Likewise.
51587         * modules/strchrnul (configure.ac): Likewise.
51588         * modules/strdup (configure.ac): Likewise.
51589         * modules/strndup (configure.ac): Likewise.
51590         * modules/strnlen (configure.ac): Likewise.
51591         * modules/strpbrk (configure.ac): Likewise.
51592         * modules/strsep (configure.ac): Likewise.
51593         * modules/strstr (configure.ac): Likewise.
51594         * modules/strtok_r (configure.ac): Likewise.
51595
51596 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
51597
51598         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
51599
51600 2007-01-30  Jim Meyering  <jim@meyering.net>
51601
51602         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
51603
51604 2007-01-29  Bruno Haible  <bruno@clisp.org>
51605
51606         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
51607         * lib/execute.c: Likewise.
51608         * lib/pipe.c: Likewise.
51609         * lib/printf-args.h: Likewise.
51610         * lib/printf-args.c: Likewise.
51611         * lib/printf-parse.c: Likewise.
51612         * lib/vasnprintf.c: Likewise.
51613
51614 2007-01-29  Eric Blake  <ebb9@byu.net>
51615
51616         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
51617         declaration.
51618
51619 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
51620
51621         * lib/strptime.h (strptime): Use 'restrict' for args where
51622         POSIX requires this.
51623         * lib/strptime.c (strptime): Likewise.
51624         Change license notice from LGPL to GPL, since gnulib-tool will
51625         change this as needed.
51626         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
51627         defined.
51628         Include "strptime.h" first, to check interface.
51629         Do not #undef _LIBC and _NL_CURRENT.
51630         Do not include <stdlib.h>; no longer needed.
51631         Include "time_r.h" and declare ptime_locale_status
51632         only if _LIBC is not defined.
51633         (__P): Remove unused macro.
51634         (match_string): Bring back glibc version, but use it only if _LIBC
51635         is defined.
51636         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
51637         Remove unnecessary assertion and abort() call.
51638         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
51639         * m4/strptime.m4: Fix serial number comment.
51640         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
51641         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
51642         (Depends-on): Add time_r.
51643
51644 2007-01-29  Bruno Haible  <bruno@clisp.org>
51645
51646         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51647         strptime.
51648         * modules/strptime (Depends-on): Add stdbool.
51649         * lib/strptime.h: Include <time.h> always. Add comments.
51650
51651 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51652
51653         * modules/strptime: New file.
51654         * lib/strptime.h: New file.
51655         * lib/strptime.c: New file.
51656         * m4/strptime.m4: New file.
51657
51658 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
51659
51660         * MODULES.html.sh: New module mpsort.
51661         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
51662
51663         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
51664         a circularity problem with HP-UX ia64 reported by Bob Proulx in
51665         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
51666         All uses changed.
51667         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
51668         All uses changed.
51669         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
51670         to _Restrict_.
51671         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
51672         the parameter matches the prototype.
51673
51674 2007-01-28  Jim Meyering  <jim@meyering.net>
51675
51676         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
51677         sys/time.h here, reverting that part of the previous patch:
51678         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
51679
51680 2007-01-28  Bruno Haible  <bruno@clisp.org>
51681
51682         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
51683         value of $(SYS_TIME_H).
51684         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
51685         remove it conditionally, too. [added by Jim Meyering]
51686         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
51687         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
51688         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
51689         GETTIMEOFDAY_REPLACEMENT to 1.
51690
51691 2007-01-28  Bruno Haible  <bruno@clisp.org>
51692
51693         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
51694         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
51695         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
51696         Set UNISTD_H instead of UNISTD_H2.
51697         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
51698
51699 2007-01-28  Bruno Haible  <bruno@clisp.org>
51700
51701         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
51702         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
51703
51704 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51705
51706         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
51707         (func_create_testdir): Ensure C locale for `grep' and `tr'
51708         character ranges.
51709         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
51710         ACLOCAL_AMFLAGS parsing state machine.
51711
51712 2007-01-27  Bruno Haible  <bruno@clisp.org>
51713
51714         * modules/unistr/base: Update.
51715
51716 2007-01-27  Bruno Haible  <bruno@clisp.org>
51717
51718         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
51719         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
51720         * modules/unistr/u32-mbtouc-unsafe: Renamed from
51721         modules/unistr/u32-mbtouc.
51722         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
51723         * lib/unistr.h: Update.
51724         * lib/linebreak.c: Update.
51725         * modules/unistr/u32-mbtouc: Renamed from
51726         modules/unistr/u32-mbtouc-safe.
51727         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
51728         * lib/unistr.h: Update.
51729         * lib/unistr/u32-to-u8.c: Update.
51730         * lib/unistr/u32-to-u16.c: Update.
51731
51732 2007-01-27  Bruno Haible  <bruno@clisp.org>
51733
51734         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
51735         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
51736         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
51737         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
51738         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
51739         * modules/unistr/u16-mbtouc-unsafe: Renamed from
51740         modules/unistr/u16-mbtouc.
51741         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
51742         * lib/unistr.h: Update.
51743         * lib/linebreak.c: Update.
51744         * modules/linebreak: Update.
51745         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
51746         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
51747         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
51748         * modules/unistr/u16-mbtouc: Renamed from
51749         modules/unistr/u16-mbtouc-safe.
51750         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
51751         * lib/unistr.h: Update.
51752         * lib/unistr/u16-to-u8.c: Update.
51753         * modules/unistr/u16-to-u8: Update.
51754         * lib/unistr/u16-to-u32.c: Update.
51755         * modules/unistr/u16-to-u32: Update.
51756
51757 2007-01-27  Bruno Haible  <bruno@clisp.org>
51758
51759         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
51760         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
51761         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
51762         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
51763         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
51764         * modules/unistr/u8-mbtouc-unsafe: Renamed from
51765         modules/unistr/u8-mbtouc.
51766         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
51767         * lib/unistr.h: Update.
51768         * lib/striconveh.c: Update.
51769         * modules/striconveh: Update.
51770         * lib/linebreak.c: Update.
51771         * modules/linebreak: Update.
51772         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
51773         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
51774         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
51775         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
51776         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
51777         * lib/unistr.h: Update.
51778         * lib/striconveh.c: Update.
51779         * modules/striconveh: Update.
51780         * lib/unistr/u8-to-u16.c: Update.
51781         * modules/unistr/u8-to-u16: Update.
51782         * lib/unistr/u8-to-u32.c: Update.
51783         * modules/unistr/u8-to-u32: Update.
51784
51785 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51786
51787         Sync from Libtool.
51788         * lib/argz.c: Do not include strings.h nor memory.h, include
51789         string.h unconditionally.  Patch by Simon Josefsson.
51790
51791 2007-01-27  Bruno Haible  <bruno@clisp.org>
51792
51793         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
51794         from gl_HEADER_STRING_H_BODY.
51795         (gl_HEADER_STRING_H_BODY): Require it.
51796         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
51797         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
51798         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
51799         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
51800         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
51801         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
51802         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51803         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
51804         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
51805         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
51806         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
51807         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
51808         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
51809         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
51810         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
51811
51812 2007-01-27  Bruno Haible  <bruno@clisp.org>
51813
51814         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
51815         check_PROGRAMS into noinst_PROGRAMS.
51816         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
51817         check_PROGRAMS in this case.
51818         (func_import): Set for_test to false.
51819         (func_create_testdir): Set for_test to true.
51820
51821 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
51822             Bruno Haible  <bruno@clisp.org>
51823
51824         * modules/strcasestr (Files): Remove lib/strcasestr.h.
51825         (Depends-on): Add string.
51826         (Includes): Use <string.h> instead of strcasestr.h.
51827         * modules/string (Makefile.am): Also substitute the value of
51828         REPLACE_STRCASESTR.
51829         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
51830         assume strcasestr is declared in <string.h> not <strings.h>. Also
51831         set REPLACE_STRCASESTR.
51832         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
51833         REPLACE_STRCASESTR.
51834         * lib/strcasestr.h: Remove file.
51835         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
51836         * lib/string_.h (strcasestr): New declaration.
51837
51838 2007-01-27  Bruno Haible  <bruno@clisp.org>
51839
51840         * lib/string_.h: Use 'extern'.
51841
51842 2007-01-27  Jim Meyering  <jim@meyering.net>
51843
51844         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
51845         of set-but-not-used local, "q".
51846
51847         * lib/mempcpy.c: Include <config.h> before <string.h>.
51848         This fixes a compilation error on HP-UX, due to the system's
51849         "restrict"-using mempcpy prototype.
51850
51851 2007-01-26  Bruno Haible  <bruno@clisp.org>
51852
51853         Small optimization.
51854         * lib/javacomp.c: Include c-strstr.h.
51855          (is_envjavac_gcj): Use c_strstr instead of strstr.
51856         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
51857
51858 2007-01-26  Bruno Haible  <bruno@clisp.org>
51859
51860         * MODULES.html.sh (Unicode string functions): Add the new modules.
51861
51862         * modules/uniconv/u32-strconv-to-locale: New file.
51863         * lib/uniconv/u32-strconv-to-locale.c: New file.
51864
51865         * modules/uniconv/u16-strconv-to-locale: New file.
51866         * lib/uniconv/u16-strconv-to-locale.c: New file.
51867
51868         * modules/uniconv/u8-strconv-to-locale: New file.
51869         * lib/uniconv/u8-strconv-to-locale.c: New file.
51870
51871         * modules/uniconv/u32-strconv-from-locale: New file.
51872         * lib/uniconv/u32-strconv-from-locale.c: New file.
51873
51874         * modules/uniconv/u16-strconv-from-locale: New file.
51875         * lib/uniconv/u16-strconv-from-locale.c: New file.
51876
51877         * modules/uniconv/u8-strconv-from-locale: New file.
51878         * lib/uniconv/u8-strconv-from-locale.c: New file.
51879
51880         * modules/uniconv/u32-strconv-to-enc: New file.
51881         * lib/uniconv/u32-strconv-to-enc.c: New file.
51882         * modules/uniconv/u32-strconv-to-enc-tests: New file.
51883         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
51884
51885         * modules/uniconv/u16-strconv-to-enc: New file.
51886         * lib/uniconv/u16-strconv-to-enc.c: New file.
51887         * lib/uniconv/u-strconv-to-enc.h: New file.
51888         * modules/uniconv/u16-strconv-to-enc-tests: New file.
51889         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
51890
51891         * modules/uniconv/u8-strconv-to-enc: New file.
51892         * lib/uniconv/u8-strconv-to-enc.c: New file.
51893         * modules/uniconv/u8-strconv-to-enc-tests: New file.
51894         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
51895
51896         * modules/uniconv/u32-strconv-from-enc: New file.
51897         * lib/uniconv/u32-strconv-from-enc.c: New file.
51898         * modules/uniconv/u32-strconv-from-enc-tests: New file.
51899         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
51900
51901         * modules/uniconv/u16-strconv-from-enc: New file.
51902         * lib/uniconv/u16-strconv-from-enc.c: New file.
51903         * modules/uniconv/u16-strconv-from-enc-tests: New file.
51904         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
51905
51906         * modules/uniconv/u8-strconv-from-enc: New file.
51907         * lib/uniconv/u8-strconv-from-enc.c: New file.
51908         * lib/uniconv/u-strconv-from-enc.h: New file.
51909         * modules/uniconv/u8-strconv-from-enc-tests: New file.
51910         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
51911
51912         * modules/uniconv/u32-conv-from-enc: New file.
51913         * lib/uniconv/u32-conv-from-enc.c: New file.
51914         * modules/uniconv/u32-conv-from-enc-tests: New file.
51915         * tests/uniconv/test-u32-conv-from-enc.c: New file.
51916
51917         * modules/uniconv/u16-conv-from-enc: New file.
51918         * lib/uniconv/u16-conv-from-enc.c: New file.
51919         * lib/uniconv/u-conv-from-enc.h: New file.
51920         * modules/uniconv/u16-conv-from-enc-tests: New file.
51921         * tests/uniconv/test-u16-conv-from-enc.c: New file.
51922
51923         * modules/uniconv/u8-conv-from-enc: New file.
51924         * lib/uniconv/u8-conv-from-enc.c: New file.
51925         * modules/uniconv/u8-conv-from-enc-tests: New file.
51926         * tests/uniconv/test-u8-conv-from-enc.c: New file.
51927
51928         * modules/uniconv/base: New file.
51929         * lib/uniconv.h: New file.
51930
51931 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
51932
51933         * doc/gnulib-tool.texi (Initial import): Update to match current
51934         behavior with strdup module.
51935         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
51936         * lib/memmem.h: Remove; all uses removed.  This is now done
51937         by <string.h>.
51938         * lib/mempcpy.h: Likewise.
51939         * lib/memrchr.h: Likewise.
51940         * lib/stpcpy.h: Likewise.
51941         * lib/stpncpy.h: Likewise.
51942         * lib/strcase.h: Likewise.
51943         * lib/strchrnul.h: Likewise.
51944         * lib/strdup.h: Likewise.
51945         * lib/strndup.h: Likewise.
51946         * lib/strnlen.h: Likewise.
51947         * lib/strpbrk.h: Likewise.
51948         * lib/strsep.h: Likewise.
51949         * lib/strstr.h: Likewise.
51950         * lib/strtok_r.h: Likewise.
51951         * lib/string_.h: New file.
51952         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
51953         Rely on <string.h> instead.
51954         * lib/canon-host.c: Likewise.
51955         * lib/chdir-long.c: Likewise.
51956         * lib/concatpath.c: Likewise.
51957         * lib/exclude.c: Likewise.
51958         * lib/fchdir.c: Likewise.
51959         * lib/getaddrinfo.c: Likewise.
51960         * lib/getcwd.c: Likewise.
51961         * lib/getsubopt.c: Likewise.
51962         * lib/glob.c: Likewise.
51963         * lib/hard-locale.c: Likewise.
51964         * lib/iconvme.c: Likewise.
51965         * lib/javacomp.c: Likewise.
51966         * lib/mempcpy.c: Likewise.
51967         * lib/memrchr.c: Likewise.
51968         * lib/regex_internal.h: Likewise.
51969         * lib/stpncpy.c: Likewise.
51970         * lib/strcasecmp.c: Likewise.
51971         * lib/strchrnul.c: Likewise.
51972         * lib/strdup.c: Likewise.
51973         * lib/striconv.c: Likewise.
51974         * lib/striconveh.c: Likewise.
51975         * lib/striconveha.c: Likewise.
51976         * lib/strncasecmp.c: Likewise.
51977         * lib/strndup.c: Likewise.
51978         * lib/strnlen.c: Likewise.
51979         * lib/strsep.c: Likewise.
51980         * lib/strstr.c: Likewise.
51981         * lib/strtok_r.c: Likewise.
51982         * lib/userspec.c: Likewise.
51983         * lib/w32spawn.h: Likewise.
51984         * lib/xstrndup.c: Likewise.
51985         * lib/mountlist.c (strstr): Remove decl.
51986         * m4/string_h.m4: New file.
51987         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
51988         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
51989         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
51990         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
51991         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
51992         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
51993         Set REPLACE_STRCASECMP if necessary.
51994         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
51995         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
51996         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
51997         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
51998         HAVE_DECL_STRDUP if necessary.
51999         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
52000         since gl_FUNC_STRNDUP does that now.
52001         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
52002         Check for decl here...
52003         (gl_PREREQ_STRNLEN): ... not here.
52004         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
52005         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
52006         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
52007         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
52008         necessary.
52009         * modules/string: New file.
52010         * modules/memmem (Files): Remove special-purpose include file.
52011         (Depends-on): Add string.
52012         (Include): Include <string.h>, not the removed file.
52013         * modules/mempcpy: Likewise.
52014         * modules/memrchr: Likewise.
52015         * modules/stpcpy: Likewise.
52016         * modules/stpncpy: Likewise.
52017         * modules/strcase: Likewise.
52018         * modules/strchrnul: Likewise.
52019         * modules/strdup: Likewise.
52020         * modules/strndup: Likewise.
52021         * modules/strnlen: Likewise.
52022         * modules/strpbrk: Likewise.
52023         * modules/strsep: Likewise.
52024         * modules/strstr: Likewise.
52025         * modules/strtok_r: Likewise.
52026         * tests/test-dirname.c: Don't include "strdup.h", since
52027         <string.h> now suffices.
52028         * tests/test-memmem.c: Don't include "memmem.h", since
52029         <string.h> now suffices.
52030
52031 2007-01-25  Bruno Haible  <bruno@clisp.org>
52032
52033         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
52034         *resultp is 0.
52035
52036         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
52037         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
52038         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
52039         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
52040
52041         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
52042         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
52043         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
52044         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
52045         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
52046         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
52047
52048 2007-01-24  Bruno Haible  <bruno@clisp.org>
52049
52050         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
52051         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
52052         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
52053         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
52054         gl_FUNC_FTS_CORE.
52055         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
52056         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
52057         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52058         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
52059         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
52060         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
52061         gl_FUNC_FCHOWNAT.
52062         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
52063         gl_FUNC_STRFTIME.
52064         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
52065         Reported by Ralf Wildenhues.
52066
52067 2007-01-24  Bruno Haible  <bruno@clisp.org>
52068
52069         Drop AC_REQUIRE calls that are redundant with the module dependencies.
52070         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
52071         gl_GETADDRINFO.
52072         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
52073         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
52074         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
52075
52076 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
52077
52078         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
52079         Don't use 'exit'; just return from 'main'.
52080         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
52081
52082         * lib/fnmatch_.h: Readjust white space and comments to match
52083         glibc, to avoid spurious diffs.
52084
52085 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52086
52087         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
52088         2004-12-01 change by Jakub Jelinek, since this code won't compile
52089         if !LIBC.  Problem reported by Bob Proulx.
52090
52091 2007-01-23  Bruno Haible  <bruno@clisp.org>
52092
52093         * lib/striconveh.c: Include c-strcaseeq.h.
52094         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
52095         * modules/striconveh (Depends-on): Add c-strcaseeq.
52096
52097 2007-01-23  Bruno Haible  <bruno@clisp.org>
52098
52099         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
52100
52101         * modules/c-strcaseeq: New file.
52102         * lib/c-strcaseeq.h: New file.
52103
52104         * modules/streq: New file.
52105         * lib/streq.h: New file.
52106
52107 2007-01-23  Bruno Haible  <bruno@clisp.org>
52108
52109         * modules/striconveha-tests: New file.
52110         * tests/test-striconveha.c: New file.
52111
52112         * lib/striconveha.h: Include <stdbool.h>.
52113         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
52114         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
52115         (mem_iconveha_notranslit): Renamed from mem_iconveha.
52116         (mem_iconveha): New function.
52117         (str_iconveha_notranslit): Renamed from str_iconveha.
52118         (str_iconveha): New function.
52119         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
52120         c-strcase.
52121
52122 2007-01-23  Bruno Haible  <bruno@clisp.org>
52123
52124         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
52125         encodings without forgiving before trying any encoding with handler.
52126         (str_iconveha): Try all encodings without forgiving before trying any
52127         encoding with handler.
52128
52129 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52130
52131         Import the following changes from libc.
52132
52133         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
52134
52135         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
52136
52137         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
52138
52139         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
52140         normal_bracket label.
52141
52142         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
52143
52144         [BZ #361]
52145         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
52146         to normal_bracket after fetching the next character.
52147
52148 2007-01-22  Bruno Haible  <bruno@clisp.org>
52149
52150         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
52151         argument.
52152         * lib/striconveh.c (iconv_carefully_1): New function.
52153         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
52154         argument.
52155         (str_cd_iconveh): Update.
52156         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
52157         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
52158         * tests/test-striconveh.c (MAGIC): New macro.
52159         (new_offsets): New function.
52160         (main): Test call with and without offsets.
52161
52162 2007-01-22  Bruno Haible  <bruno@clisp.org>
52163
52164         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
52165         * modules/sys_select (Makefile.am): Likewise.
52166         * modules/sys_socket (Makefile.am): Likewise.
52167         * modules/sys_time (Makefile.am): Likewise.
52168
52169 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
52170
52171         * modules/gettimeofday (License): Change from GPL to LGPL, since
52172         gettimeofday is a library function.
52173
52174 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52175
52176         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
52177
52178 2007-01-21  Bruno Haible  <bruno@clisp.org>
52179
52180         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
52181
52182 2007-01-21  Bruno Haible  <bruno@clisp.org>
52183
52184         * modules/striconveha: New file.
52185         * lib/striconveha.h: New file.
52186         * lib/striconveha.c: New file.
52187         * MODULES.html.sh (Internationalization functions): Add striconveha.
52188         * lib/striconv.c (str_iconv): Optimize the case of an empty input
52189         string.
52190         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
52191
52192 2007-01-21  Bruno Haible  <bruno@clisp.org>
52193
52194         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
52195         * lib/striconveh.c (str_iconveh): Likewise.
52196
52197 2007-01-21  Bruno Haible  <bruno@clisp.org>
52198
52199         * lib/striconveh.h (mem_iconveh): New declaration.
52200         * lib/striconveh.c (mem_iconveh): New function.
52201         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
52202
52203 2007-01-21  Bruno Haible  <bruno@clisp.org>
52204
52205         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
52206
52207         * lib/striconveh.h (mem_cd_iconveh): Change specification.
52208         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
52209         original result buffer.
52210         (str_cd_iconveh): Update.
52211         * tests/test-striconveh.c (main): Update.
52212
52213         * lib/striconv.h (mem_cd_iconv): Change specification.
52214         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
52215         result buffer.
52216         (str_cd_iconv): Update.
52217         * tests/test-striconv.c (main): Update.
52218
52219 2007-01-21  Bruno Haible  <bruno@clisp.org>
52220
52221         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
52222
52223 2007-01-20  Jim Meyering  <jim@meyering.net>
52224
52225         * lib/userspec.c (parse_with_separator): If a user or group string
52226         starts with "+", skip the corresponding name-to-ID look-up, since
52227         such a look-up must fail: user and group names may not include "+".
52228
52229 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
52230
52231         * lib/poll.c: Include sys/time.h and time.h unconditionally,
52232         since we now assume the sys_time module.
52233         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
52234         check for sys/time.h; no longer needed.
52235         * modules/poll (Depends-on): Depend on sys_time.
52236
52237 2007-01-18  Bruno Haible  <bruno@clisp.org>
52238
52239         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
52240         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
52241
52242         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
52243         gettimeofday.
52244
52245         * tests/test-gettimeofday.c: Include <time.h>.
52246         (dummy): Remove variable.
52247
52248         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
52249         gl_HEADER_SYS_TIME_H.
52250         (gl_HEADER_SYS_TIME_H): New macro.
52251
52252         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
52253         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52254         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
52255         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
52256         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52257         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
52258         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
52259         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52260         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
52261         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
52262         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52263
52264         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
52265         last change; it caused a compilation error when cross-compiling to
52266         Cygwin.
52267
52268 2007-01-18  Jim Meyering  <jim@meyering.net>
52269
52270         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
52271         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
52272         than the race-prone "test -d sys || mkdir sys".
52273         (configure.ac): Use AC_PROG_MKDIR_P.
52274         * modules/sys_select: Likewise.
52275         * modules/sys_socket: Likewise.
52276         * modules/sys_time: Likewise.
52277
52278 2007-01-18  Eric Blake  <ebb9@byu.net>
52279
52280         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
52281         replace gettimeofday.
52282         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
52283         name, to avoid infinite recursion.
52284
52285 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
52286
52287         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
52288         module sys_time.
52289         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
52290         assume timespec.h defines struct timeval.
52291         * lib/settime.c: Likewise.
52292         * lib/utimens.c: Likewise.
52293         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
52294         since we now assume the gettimeofday module.
52295         * lib/tempname.c (__gen_tempname): Likewise.
52296         * lib/gettimeofday.h: Remove.
52297         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
52298         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
52299         Include <time.h>, for 'time()'.
52300         (localtime_buffer_addr): Also use this workaround if
52301         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
52302         to simplify the uses.  All uses changed.
52303         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
52304         that #undef is inside {}, and 'const' follows type name consistently.
52305         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
52306         (gettimeofday): Do not use the maximum possible value for
52307         tv->tv_usec, since that might break usages other than ls.c.
52308         Instead, we'll leave ls.c alone.  This undoes today's patch
52309         by Bruno.  Add a compile-time warning for 1s-clock resolution;
52310         we've never observed the problem but might as well keep the
52311         canary.
52312         * lib/nanosleep.c: Include timespec.h first, for interface check.
52313         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
52314         now assume the sys_time module.
52315         * lib/tempname.c: Likewise.
52316         * lib/timespec.h: Likewise.
52317         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
52318         needed.
52319         * lib/strftime.c: Likewise.
52320         * lib/timespec.h: Likewise.
52321         * lib/posixtm.c: Include posixtm.h first, for interface check.
52322         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
52323         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
52324         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
52325         * lib/sys_time_.h: New file.
52326         * lib/timespec.h (struct timespec): Use long int, not long.
52327         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
52328         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
52329         Remove obsolescent call to AC_HEADER_TIME.
52330         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
52331         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
52332         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
52333         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
52334         Likewise.
52335         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
52336         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
52337         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
52338         into the sys_time module.  Check for gettimeofday just once.
52339         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
52340         for gettimeofday signature to just check the signature.  Merely
52341         compile it, since linking doesn't test signature.  Improve test for
52342         whether gettimeofday.o is actually needed.
52343         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
52344         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
52345         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
52346         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52347         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
52348         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
52349         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
52350         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
52351         than worrying about sys/time.h.
52352         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
52353         Don't bother worrying about TIME_WITH_SYS_TIME.
52354         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
52355         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
52356         * m4/sys_time_h.m4: New file.
52357         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
52358         Don't include sys/time.h.  Return from main rather than exiting.
52359         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
52360         all uses changed.
52361         * modules/gethrxtime (Depends-on): Add sys_time.
52362         * modules/gettime (Depends-on): Likewise.
52363         * modules/gettimeofday (Depends-on): Likewise.
52364         * modules/nanosleep (Depends-on): Likewise.
52365         * modules/settime (Depends-on): Likewise.
52366         * modules/tempname (Depends-on): Likewise.
52367         * modules/utimens (Depends-on): Likewise.
52368         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
52369         (Include:) Change back to <sys/time.h>.
52370         (Maintainer:) Add self.
52371         * modules/sys_time: New file.
52372         * modules/tempname (Depends-on): Add gettimeofday.
52373         * tests/test-gettimeofday.c: Include <sys/time.h>
52374         rather than gettimeofday.h.
52375
52376 2007-01-17  Bruno Haible  <bruno@clisp.org>
52377
52378         * gnulib-tool (func_get_license): Revert last patch. Instead, let
52379         the license default to GPL.
52380         (func_create_testdir): Don't complain if a module is LGPL and its
52381         tests module depends on GPLed modules.
52382
52383 2007-01-17  Bruno Haible  <bruno@clisp.org>
52384
52385         * lib/gettimeofday.c (gettimeofday): Add code for the case
52386         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
52387         maximum possible value for tv->tv_usec, rather than the minimum one.
52388
52389 2005-10-08  Martin Lambers  <marlam@marlam.de>
52390 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
52391 2007-01-16  Bruno Haible  <bruno@clisp.org>
52392
52393         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
52394         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
52395         gl_FUNC_GETTIMEOFDAY.
52396         (Include): Add gettimeofday.h.
52397         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
52398         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
52399         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
52400         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
52401         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
52402         * lib/gettimeofday.h: New file.
52403         * lib/gettimeofday.c: Include <sys/timeb.h>.
52404         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
52405         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52406         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
52407         fall back on time().
52408
52409         * tests/test-gettimeofday.c: New file.
52410         * modules/gettimeofday-tests: New file.
52411
52412 2007-01-16  Eric Blake  <ebb9@byu.net>
52413
52414         * modules/fnmatch (Depends-on): Depend on wchar.
52415         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
52416         * m4/fnmatch.m4: Likewise.
52417         * modules/mbchar (Makefile.am): Assume <wchar.h>.
52418         * m4/mbchar.m4: Likewise.
52419         * modules/mbswidth (Depends-on): Depend on wchar.
52420         * lib/mbswidth.c: Assume <wchar.h>.
52421         * m4/mbswidth.m4: Likewise.
52422         * modules/quotearg (Depends-on): Depend on wchar.
52423         * lib/quotearg.c: Assume <wchar.h>.
52424         * m4/quotearg.m4: Likewise.
52425         * modules/regex (Depends-on): Depend on wchar.
52426         * lib/regex_internal.h: Assume <wchar.h>.
52427         * m4/regex.m4: Likewise.
52428         * modules/stdint (Depends-on): Depend on wchar.
52429         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
52430         * m4/stdint.m4: Likewise.
52431         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
52432         * modules/strftime (Depends-on): Depend on wchar.
52433         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
52434         * modules/strtol (Depends-on): Depend on wchar.
52435         * lib/strtol.c: Assume <wchar.h>.
52436         * modules/wcwidth (Depends-on): Depend on wchar.
52437         * lib/wcwidth.h: Assume <wchar.h>.
52438         * m4/wcwidth.m4: Likewise.
52439
52440 2007-01-16  Bruno Haible  <bruno@clisp.org>
52441
52442         * modules/csharpexec-script: New, created from...
52443         * modules/csharpexec: ... this.
52444
52445 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
52446
52447         * modules/javaexec-script: New, created from...
52448         * modules/javaexec: ... this.
52449
52450 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52451
52452         * modules/poll (Dependencies): Add sys_select.
52453
52454 2007-01-15  Jim Meyering  <jim@meyering.net>
52455
52456         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
52457         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
52458         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
52459         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
52460
52461 2007-01-15  Bruno Haible  <bruno@clisp.org>
52462
52463         * modules/striconveh: New file.
52464         * lib/striconveh.h: New file.
52465         * lib/striconveh.c: New file.
52466         * MODULES.html.sh (Internationalization functions): Add striconveh.
52467
52468         * modules/striconveh-tests: New file.
52469         * tests/test-striconveh.c: New file.
52470
52471 2007-01-15  Bruno Haible  <bruno@clisp.org>
52472
52473         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
52474         not from GNU libiconv or GNU libc.
52475
52476 2007-01-15  Bruno Haible  <bruno@clisp.org>
52477
52478         * doc/gnulib-intro.texi (Copyright): Explain the different license
52479         terms for module descriptions, autoconf macros, tests, documentation.
52480
52481 2007-01-14  Bruno Haible  <bruno@clisp.org>
52482
52483         * modules/striconv-tests: New file.
52484         * tests/test-striconv.c: New file.
52485
52486 2007-01-14  Bruno Haible  <bruno@clisp.org>
52487
52488         * modules/iconv-tests: New file.
52489         * tests/test-iconv.c: New file.
52490
52491 2007-01-14  Bruno Haible  <bruno@clisp.org>
52492
52493         * gnulib-tool (func_get_license): For test modules, use the license of
52494         the main module.
52495
52496 2007-01-14  Bruno Haible  <bruno@clisp.org>
52497
52498         * modules/iconv (Include): Clarify that <iconv.h> can only be included
52499         if iconv is found to exist.
52500
52501 2007-01-14  Bruno Haible  <bruno@clisp.org>
52502
52503         * modules/c-ctype-tests: New file.
52504         * tests/test-c-ctype.c: New file.
52505
52506 2007-01-14  Bruno Haible  <bruno@clisp.org>
52507
52508         * modules/binary-io-tests: New file.
52509         * tests/test-binary-io.sh: New file.
52510         * tests/test-binary-io.c: New file.
52511
52512 2007-01-14  Bruno Haible  <bruno@clisp.org>
52513
52514         * modules/array-oset-tests: New file.
52515         * tests/test-array_oset.c: New file.
52516
52517 2007-01-14  Bruno Haible  <bruno@clisp.org>
52518
52519         * modules/array-list-tests: New file.
52520         * tests/test-array_list.c: New file.
52521
52522 2007-01-14  Bruno Haible  <bruno@clisp.org>
52523
52524         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
52525         and make.
52526         Reported by Simon Josefsson in
52527         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
52528
52529 2007-01-14  Bruno Haible  <bruno@clisp.org>
52530
52531         * modules/allocsa-tests: New file.
52532         * tests/test-allocsa.c: New file.
52533
52534 2007-01-14  Bruno Haible  <bruno@clisp.org>
52535
52536         * modules/fchdir (Depends-on): Add absolute-header.
52537         * modules/unistd (Depends-on): Likewise.
52538
52539 2006-12-30  Bruno Haible  <bruno@clisp.org>
52540
52541         * modules/fchdir: New file.
52542         * modules/unistd (Files): Add lib/unistd_.h.
52543         (Makefile.am): Generate unistd.h from unistd_.h.
52544         * lib/fchdir.c: New file.
52545         * lib/dirent_.h: New file.
52546         * lib/unistd_.h: New file.
52547         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
52548         * m4/fchdir.m4: New file.
52549         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
52550         (gl_HEADER_UNISTD): Invoke it.
52551         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
52552         function.
52553         * lib/backupfile.c (opendir, closedir): Undefine.
52554         * lib/chown.c (open, close): Undefine.
52555         * lib/clean-temp.c (open, close): Undefine.
52556         * lib/copy-file.c (open, close): Undefine.
52557         * lib/execute.c (open, close): Undefine.
52558         * lib/fsusage.c (open, close): Undefine.
52559         * lib/gc-gnulib.c (open, close): Undefine.
52560         * lib/getcwd.c (opendir, closedir): Undefine.
52561         * lib/glob.c (opendir, closedir): Undefine.
52562         * lib/javacomp.c (open, close): Undefine.
52563         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
52564         * lib/openat-proc.c (open, close): Undefine.
52565         * lib/pagealign_alloc.c (open, close): Undefine.
52566         * lib/pipe.c (open, close): Undefine.
52567         * lib/progreloc.c (open, close): Undefine.
52568         * lib/savedir.c (opendir, closedir): Undefine.
52569         * lib/utime.c (open, close): Undefine.
52570         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
52571
52572 2007-01-10  Bruno Haible  <bruno@clisp.org>
52573
52574         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
52575
52576 2007-01-12  Eric Blake  <ebb9@byu.net>
52577
52578         Provide a robust <wchar.h>.  Further simplifications are now
52579         possible in other modules, but not included here.
52580         * modules/wchar: New module.
52581         * m4/wchar.m4: New file.
52582         * lib/wchar_.h: Likewise.
52583         * modules/mbchar (Depends-on): Depend on wchar, as the first use
52584         of the new module.
52585         * MODULES.html.sh (Extended multibyte and wide character utilities):
52586         New section.
52587
52588 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
52589
52590         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
52591         to a reasonable default for memory allocation.
52592         (xreadlink): Don't allocate a huge buffer, to work around a buggy
52593         file system that reports garbage st_size values for symlinks.
52594         Problem reported by Liyang Hu.
52595
52596 2007-01-11  Simon Josefsson  <simon@josefsson.org>
52597
52598         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
52599         Emacs .#* auto-save files).
52600
52601 2007-01-11  Bruno Haible  <bruno@clisp.org>
52602
52603         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
52604         directory.
52605
52606 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
52607
52608         Use @...@ consistently in lib/wctype_.h.
52609         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
52610         on it being set to 1 or 0.
52611         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
52612         go back to AC_SUBSTing it.
52613         * modules/wctype (Makefile.am): Undo previous change.
52614
52615 2007-01-10  Eric Blake  <ebb9@byu.net>
52616
52617         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
52618         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
52619         * modules/wctype (Makefile.am): Likewise.
52620         Reported by Chris McGuire.
52621
52622 2007-01-10  Jim Meyering  <jim@meyering.net>
52623
52624         fts.c: a small readability/maintainability improvement
52625         * lib/fts.c (fts_read): Make this code slightly more readable and
52626         maintainable by hoisting the "sp->fts_cur = p" assignments to
52627         immediately follow the statements that set P.  Derived from
52628         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
52629
52630 2007-01-10  Eric Blake  <ebb9@byu.net>
52631
52632         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
52633         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
52634         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
52635         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
52636         Reported by Chris McGuire.
52637
52638 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52639
52640         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
52641         in sed script.
52642
52643 2007-01-09  Bruno Haible  <bruno@clisp.org>
52644
52645         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
52646         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
52647         variables.
52648         (func_module): Use them.
52649
52650 2007-01-09  Bruno Haible  <bruno@clisp.org>
52651
52652         * modules/unistr/base: New file.
52653         * lib/unistr.h: New file.
52654
52655         * modules/unistr/u8-to-u16: New file.
52656         * lib/unistr/u8-to-u16.c: New file.
52657
52658         * modules/unistr/u8-to-u32: New file.
52659         * lib/unistr/u8-to-u32.c: New file.
52660
52661         * modules/unistr/u16-to-u8: New file.
52662         * lib/unistr/u16-to-u8.c: New file.
52663
52664         * modules/unistr/u16-to-u32: New file.
52665         * lib/unistr/u16-to-u32.c: New file.
52666
52667         * modules/unistr/u32-to-u8: New file.
52668         * lib/unistr/u32-to-u8.c: New file.
52669
52670         * modules/unistr/u32-to-u16: New file.
52671         * lib/unistr/u32-to-u16.c: New file.
52672
52673         * modules/unistr/u8-check: New file.
52674         * modules/unistr/u16-check: New file.
52675         * modules/unistr/u32-check: New file.
52676         * lib/unistr/u8-check.c: New file.
52677         * lib/unistr/u16-check.c: New file.
52678         * lib/unistr/u32-check.c: New file.
52679
52680         * modules/unistr/u8-chr: New file.
52681         * modules/unistr/u16-chr: New file.
52682         * modules/unistr/u32-chr: New file.
52683         * lib/unistr/u8-chr.c: New file.
52684         * lib/unistr/u16-chr.c: New file.
52685         * lib/unistr/u32-chr.c: New file.
52686
52687         * modules/unistr/u8-cmp: New file.
52688         * modules/unistr/u16-cmp: New file.
52689         * modules/unistr/u32-cmp: New file.
52690         * lib/unistr/u8-cmp.c: New file.
52691         * lib/unistr/u16-cmp.c: New file.
52692         * lib/unistr/u32-cmp.c: New file.
52693
52694         * modules/unistr/u8-cpy: New file.
52695         * modules/unistr/u16-cpy: New file.
52696         * modules/unistr/u32-cpy: New file.
52697         * lib/unistr/u8-cpy.c: New file.
52698         * lib/unistr/u16-cpy.c: New file.
52699         * lib/unistr/u32-cpy.c: New file.
52700         * lib/unistr/u-cpy.h: New file.
52701
52702         * modules/unistr/u8-cpy-alloc: New file.
52703         * modules/unistr/u16-cpy-alloc: New file.
52704         * modules/unistr/u32-cpy-alloc: New file.
52705         * lib/unistr/u8-cpy-alloc.c: New file.
52706         * lib/unistr/u16-cpy-alloc.c: New file.
52707         * lib/unistr/u32-cpy-alloc.c: New file.
52708         * lib/unistr/u-cpy-alloc.h: New file.
52709
52710         * modules/unistr/u8-endswith: New file.
52711         * modules/unistr/u16-endswith: New file.
52712         * modules/unistr/u32-endswith: New file.
52713         * lib/unistr/u8-endswith.c: New file.
52714         * lib/unistr/u16-endswith.c: New file.
52715         * lib/unistr/u32-endswith.c: New file.
52716         * lib/unistr/u-endswith.h: New file.
52717
52718         * modules/unistr/u8-mblen: New file.
52719         * modules/unistr/u16-mblen: New file.
52720         * modules/unistr/u32-mblen: New file.
52721         * lib/unistr/u8-mblen.c: New file.
52722         * lib/unistr/u16-mblen.c: New file.
52723         * lib/unistr/u32-mblen.c: New file.
52724
52725         * modules/unistr/u8-mbtouc: New file.
52726         * modules/unistr/u16-mbtouc: New file.
52727         * modules/unistr/u32-mbtouc: New file.
52728         * lib/unistr/u8-mbtouc.c: New file.
52729         * lib/unistr/u16-mbtouc.c: New file.
52730         * lib/unistr/u32-mbtouc.c: New file.
52731
52732         * modules/unistr/u8-mbtouc-safe: New file.
52733         * modules/unistr/u16-mbtouc-safe: New file.
52734         * modules/unistr/u32-mbtouc-safe: New file.
52735         * lib/unistr/u8-mbtouc-safe.c: New file.
52736         * lib/unistr/u16-mbtouc-safe.c: New file.
52737         * lib/unistr/u32-mbtouc-safe.c: New file.
52738
52739         * modules/unistr/u8-move: New file.
52740         * modules/unistr/u16-move: New file.
52741         * modules/unistr/u32-move: New file.
52742         * lib/unistr/u8-move.c: New file.
52743         * lib/unistr/u16-move.c: New file.
52744         * lib/unistr/u32-move.c: New file.
52745         * lib/unistr/u-move.h: New file.
52746
52747         * modules/unistr/u8-next: New file.
52748         * modules/unistr/u16-next: New file.
52749         * modules/unistr/u32-next: New file.
52750         * lib/unistr/u8-next.c: New file.
52751         * lib/unistr/u16-next.c: New file.
52752         * lib/unistr/u32-next.c: New file.
52753
52754         * modules/unistr/u8-prev: New file.
52755         * modules/unistr/u16-prev: New file.
52756         * modules/unistr/u32-prev: New file.
52757         * lib/unistr/u8-prev.c: New file.
52758         * lib/unistr/u16-prev.c: New file.
52759         * lib/unistr/u32-prev.c: New file.
52760
52761         * modules/unistr/u8-set: New file.
52762         * modules/unistr/u16-set: New file.
52763         * modules/unistr/u32-set: New file.
52764         * lib/unistr/u8-set.c: New file.
52765         * lib/unistr/u16-set.c: New file.
52766         * lib/unistr/u32-set.c: New file.
52767         * lib/unistr/u-set.h: New file.
52768
52769         * modules/unistr/u8-startswith: New file.
52770         * modules/unistr/u16-startswith: New file.
52771         * modules/unistr/u32-startswith: New file.
52772         * lib/unistr/u8-startswith.c: New file.
52773         * lib/unistr/u16-startswith.c: New file.
52774         * lib/unistr/u32-startswith.c: New file.
52775         * lib/unistr/u-startswith.h: New file.
52776
52777         * modules/unistr/u8-stpcpy: New file.
52778         * modules/unistr/u16-stpcpy: New file.
52779         * modules/unistr/u32-stpcpy: New file.
52780         * lib/unistr/u8-stpcpy.c: New file.
52781         * lib/unistr/u16-stpcpy.c: New file.
52782         * lib/unistr/u32-stpcpy.c: New file.
52783         * lib/unistr/u-stpcpy.h: New file.
52784
52785         * modules/unistr/u8-stpncpy: New file.
52786         * modules/unistr/u16-stpncpy: New file.
52787         * modules/unistr/u32-stpncpy: New file.
52788         * lib/unistr/u8-stpncpy.c: New file.
52789         * lib/unistr/u16-stpncpy.c: New file.
52790         * lib/unistr/u32-stpncpy.c: New file.
52791         * lib/unistr/u-stpncpy.h: New file.
52792
52793         * modules/unistr/u8-strcat: New file.
52794         * modules/unistr/u16-strcat: New file.
52795         * modules/unistr/u32-strcat: New file.
52796         * lib/unistr/u8-strcat.c: New file.
52797         * lib/unistr/u16-strcat.c: New file.
52798         * lib/unistr/u32-strcat.c: New file.
52799         * lib/unistr/u-strcat.h: New file.
52800
52801         * modules/unistr/u8-strchr: New file.
52802         * modules/unistr/u16-strchr: New file.
52803         * modules/unistr/u32-strchr: New file.
52804         * lib/unistr/u8-strchr.c: New file.
52805         * lib/unistr/u16-strchr.c: New file.
52806         * lib/unistr/u32-strchr.c: New file.
52807
52808         * modules/unistr/u8-strcmp: New file.
52809         * modules/unistr/u16-strcmp: New file.
52810         * modules/unistr/u32-strcmp: New file.
52811         * lib/unistr/u8-strcmp.c: New file.
52812         * lib/unistr/u16-strcmp.c: New file.
52813         * lib/unistr/u32-strcmp.c: New file.
52814
52815         * modules/unistr/u8-strcpy: New file.
52816         * modules/unistr/u16-strcpy: New file.
52817         * modules/unistr/u32-strcpy: New file.
52818         * lib/unistr/u8-strcpy.c: New file.
52819         * lib/unistr/u16-strcpy.c: New file.
52820         * lib/unistr/u32-strcpy.c: New file.
52821         * lib/unistr/u-strcpy.h: New file.
52822
52823         * modules/unistr/u8-strcspn: New file.
52824         * modules/unistr/u16-strcspn: New file.
52825         * modules/unistr/u32-strcspn: New file.
52826         * lib/unistr/u8-strcspn.c: New file.
52827         * lib/unistr/u16-strcspn.c: New file.
52828         * lib/unistr/u32-strcspn.c: New file.
52829         * lib/unistr/u-strcspn.h: New file.
52830
52831         * modules/unistr/u8-strdup: New file.
52832         * modules/unistr/u16-strdup: New file.
52833         * modules/unistr/u32-strdup: New file.
52834         * lib/unistr/u8-strdup.c: New file.
52835         * lib/unistr/u16-strdup.c: New file.
52836         * lib/unistr/u32-strdup.c: New file.
52837         * lib/unistr/u-strdup.h: New file.
52838
52839         * modules/unistr/u8-strlen: New file.
52840         * modules/unistr/u16-strlen: New file.
52841         * modules/unistr/u32-strlen: New file.
52842         * lib/unistr/u8-strlen.c: New file.
52843         * lib/unistr/u16-strlen.c: New file.
52844         * lib/unistr/u32-strlen.c: New file.
52845         * lib/unistr/u-strlen.h: New file.
52846
52847         * modules/unistr/u8-strmblen: New file.
52848         * modules/unistr/u16-strmblen: New file.
52849         * modules/unistr/u32-strmblen: New file.
52850         * lib/unistr/u8-strmblen.c: New file.
52851         * lib/unistr/u16-strmblen.c: New file.
52852         * lib/unistr/u32-strmblen.c: New file.
52853
52854         * modules/unistr/u8-strmbtouc: New file.
52855         * modules/unistr/u16-strmbtouc: New file.
52856         * modules/unistr/u32-strmbtouc: New file.
52857         * lib/unistr/u8-strmbtouc.c: New file.
52858         * lib/unistr/u16-strmbtouc.c: New file.
52859         * lib/unistr/u32-strmbtouc.c: New file.
52860
52861         * modules/unistr/u8-strncat: New file.
52862         * modules/unistr/u16-strncat: New file.
52863         * modules/unistr/u32-strncat: New file.
52864         * lib/unistr/u8-strncat.c: New file.
52865         * lib/unistr/u16-strncat.c: New file.
52866         * lib/unistr/u32-strncat.c: New file.
52867         * lib/unistr/u-strncat.h: New file.
52868
52869         * modules/unistr/u8-strncmp: New file.
52870         * modules/unistr/u16-strncmp: New file.
52871         * modules/unistr/u32-strncmp: New file.
52872         * lib/unistr/u8-strncmp.c: New file.
52873         * lib/unistr/u16-strncmp.c: New file.
52874         * lib/unistr/u32-strncmp.c: New file.
52875
52876         * modules/unistr/u8-strncpy: New file.
52877         * modules/unistr/u16-strncpy: New file.
52878         * modules/unistr/u32-strncpy: New file.
52879         * lib/unistr/u8-strncpy.c: New file.
52880         * lib/unistr/u16-strncpy.c: New file.
52881         * lib/unistr/u32-strncpy.c: New file.
52882         * lib/unistr/u-strncpy.h: New file.
52883
52884         * modules/unistr/u8-strnlen: New file.
52885         * modules/unistr/u16-strnlen: New file.
52886         * modules/unistr/u32-strnlen: New file.
52887         * lib/unistr/u8-strnlen.c: New file.
52888         * lib/unistr/u16-strnlen.c: New file.
52889         * lib/unistr/u32-strnlen.c: New file.
52890         * lib/unistr/u-strnlen.h: New file.
52891
52892         * modules/unistr/u8-strpbrk: New file.
52893         * modules/unistr/u16-strpbrk: New file.
52894         * modules/unistr/u32-strpbrk: New file.
52895         * lib/unistr/u8-strpbrk.c: New file.
52896         * lib/unistr/u16-strpbrk.c: New file.
52897         * lib/unistr/u32-strpbrk.c: New file.
52898         * lib/unistr/u-strpbrk.h: New file.
52899
52900         * modules/unistr/u8-strrchr: New file.
52901         * modules/unistr/u16-strrchr: New file.
52902         * modules/unistr/u32-strrchr: New file.
52903         * lib/unistr/u8-strrchr.c: New file.
52904         * lib/unistr/u16-strrchr.c: New file.
52905         * lib/unistr/u32-strrchr.c: New file.
52906
52907         * modules/unistr/u8-strspn: New file.
52908         * modules/unistr/u16-strspn: New file.
52909         * modules/unistr/u32-strspn: New file.
52910         * lib/unistr/u8-strspn.c: New file.
52911         * lib/unistr/u16-strspn.c: New file.
52912         * lib/unistr/u32-strspn.c: New file.
52913         * lib/unistr/u-strspn.h: New file.
52914
52915         * modules/unistr/u8-strstr: New file.
52916         * modules/unistr/u16-strstr: New file.
52917         * modules/unistr/u32-strstr: New file.
52918         * lib/unistr/u8-strstr.c: New file.
52919         * lib/unistr/u16-strstr.c: New file.
52920         * lib/unistr/u32-strstr.c: New file.
52921         * lib/unistr/u-strstr.h: New file.
52922
52923         * modules/unistr/u8-strtok: New file.
52924         * modules/unistr/u16-strtok: New file.
52925         * modules/unistr/u32-strtok: New file.
52926         * lib/unistr/u8-strtok.c: New file.
52927         * lib/unistr/u16-strtok.c: New file.
52928         * lib/unistr/u32-strtok.c: New file.
52929         * lib/unistr/u-strtok.h: New file.
52930
52931         * modules/unistr/u8-uctomb: New file.
52932         * modules/unistr/u16-uctomb: New file.
52933         * modules/unistr/u32-uctomb: New file.
52934         * lib/unistr/u8-uctomb.c: New file.
52935         * lib/unistr/u16-uctomb.c: New file.
52936         * lib/unistr/u32-uctomb.c: New file.
52937
52938         * MODULES.html.sh (Unicode string functions): Add the new modules.
52939
52940 2007-01-08  Bruno Haible  <bruno@clisp.org>
52941
52942         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
52943         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
52944         subdirectories.
52945
52946 2007-01-08  Karl Berry  <karl@gnu.org>
52947
52948         * doc/error.texi: mention that main() fns must set program_name
52949         when progname is used.
52950
52951 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
52952
52953         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
52954         WCTYPE_H is empty, for the benefit of builds from non-distclean
52955         directories.  Problem reported by Eric Blake in
52956         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
52957
52958 2007-01-08  Bruno Haible  <bruno@clisp.org>
52959
52960         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
52961         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
52962         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
52963         PROVIDE_CANONICALIZE_FILENAME_MODE.
52964         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
52965
52966 2007-01-08  Bruno Haible  <bruno@clisp.org>
52967
52968         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
52969         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
52970         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
52971         * lib/fts.c: Likewise.
52972         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
52973
52974 2006-12-25  Bruno Haible  <bruno@clisp.org>
52975
52976         * modules/utf8-ucs4-safe: New file.
52977         * lib/utf8-ucs4-safe.h: New file.
52978         * lib/unistr/utf8-ucs4-safe.c: New file.
52979
52980         * modules/utf16-ucs4-safe: New file.
52981         * lib/utf16-ucs4-safe.h: New file.
52982         * lib/unistr/utf16-ucs4-safe.c: New file.
52983
52984         * MODULES.html.sh (Unicode string functions): Add the new modules.
52985
52986 2007-01-08  Bruno Haible  <bruno@clisp.org>
52987
52988         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
52989         (Depends-on): Add unitypes.
52990         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
52991         (u8_mbtouc_aux): Move out to separate file.
52992         (u8_mbtouc): Use ucs4_t, uint8_t types.
52993         * lib/unistr/utf8-ucs4.c: New file.
52994
52995         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
52996         (Depends-on): Add unitypes.
52997         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
52998         (u16_mbtouc_aux): Move out to separate file.
52999         (u16_mbtouc): Use ucs4_t, uint16_t types.
53000         * lib/unistr/utf16-ucs4.c: New file.
53001
53002         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
53003         (Depends-on): Add unitypes.
53004         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
53005         (u8_uctomb_aux): Move out to separate file.
53006         (u8_uctomb): Use ucs4_t, uint8_t types.
53007         * lib/unistr/ucs4-utf8.c: New file.
53008
53009         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
53010         (Depends-on): Add unitypes.
53011         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
53012         (u16_uctomb_aux): Move out to separate file.
53013         (u16_uctomb): Use ucs4_t, uint16_t types.
53014         * lib/unistr/ucs4-utf16.c: New file.
53015
53016 2006-12-25  Bruno Haible  <bruno@clisp.org>
53017
53018         * modules/unitypes: New file.
53019         * lib/unitypes.h: New file.
53020         * MODULES.html.sh (func_all_modules): New section "Unicode string
53021         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
53022         this section. Add unitypes.
53023
53024 2007-01-08  Bruno Haible  <bruno@clisp.org>
53025
53026         Avoid variable names that conflict with those from libtool.
53027         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
53028         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
53029         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
53030         library_names_spec to acl_library_names_spec, hardcode_* to
53031         acl_hardcode_*.
53032         Reported by Ralf Wildenhues.
53033
53034 2007-01-08  Bruno Haible  <bruno@clisp.org>
53035
53036         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
53037         definition.
53038         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
53039         definition.
53040         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
53041         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
53042         definition.
53043         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
53044         definition.
53045         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
53046         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
53047         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
53048         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
53049         definition.
53050         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
53051         definition.
53052         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
53053         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
53054         GC_USE_<algorithm>.
53055         * lib/gc-libgcrypt.c: Likewise.
53056         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
53057         * modules/gc-arctwo (configure.ac): Likewise.
53058         * modules/gc-des (configure.ac): Likewise.
53059         * modules/gc-hmac-md5 (configure.ac): Likewise.
53060         * modules/gc-hmac-sha1 (configure.ac): Likewise.
53061         * modules/gc-md2 (configure.ac): Likewise.
53062         * modules/gc-md4 (configure.ac): Likewise.
53063         * modules/gc-md5 (configure.ac): Likewise.
53064         * modules/gc-random (configure.ac): Likewise.
53065         * modules/gc-rijndael (configure.ac): Likewise.
53066         * modules/gc-sha1 (configure.ac): Likewise.
53067
53068 2007-01-08  Bruno Haible  <bruno@clisp.org>
53069
53070         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
53071         macro definition.
53072         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
53073         definition.
53074         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
53075         definition.
53076         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
53077         * modules/fcntl-safer (configure.ac): Likewise.
53078         * modules/fopen-safer (configure.ac): Likewise.
53079         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
53080         GNULIB_FWRITEERROR macro definition.
53081
53082 2007-01-08  Bruno Haible  <bruno@clisp.org>
53083
53084         * m4/gnulib-common.m4: New file.
53085         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
53086         (func_get_filelist): Add m4/gnulib-common.m4.
53087
53088 2007-01-08  Bruno Haible  <bruno@clisp.org>
53089
53090         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
53091         command.
53092
53093 2007-01-08  Jim Meyering  <jim@meyering.net>
53094
53095         Use a more robust test for a "can't happen" condition.
53096         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
53097         narrowed the st_size value.  Presuming the "can't happen" condition
53098         is true, that narrowing could conceivably convert an invalid st_size
53099         value into a valid one.  Instead, use a change based on Matthew
53100         Woehlke's original patch.
53101
53102         Slight readability improvement: use an assert-like macro
53103         in place of literal "abort ()" uses.
53104         * lib/fts.c (fts_assert): Define.
53105         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
53106         Use this macro instead of a bare 'abort'.
53107
53108 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
53109
53110         Don't worry about using IRIX 5.3's wctype.h broken definitions;
53111         simply work around them.
53112         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
53113         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
53114         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
53115         declaring.
53116         Don't bother to define as macros, since the standard doesn't require it.
53117         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
53118         longer worry about IRIX 5.3.
53119         (HAVE_WCTYPE_CTMP_BUG): Remove.
53120
53121 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
53122
53123         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
53124         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
53125         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
53126         Problems reported by Georg Schwarz for IRIX 5.3.
53127
53128         * gnulib-tool (autoconf_minversion): Take the maximum version number
53129         found, not the minimum.  Problem reported by James Youngman.
53130
53131 2007-01-03  Karl Berry  <karl@gnu.org>
53132
53133         * doc/error.texi: new file, explaining interaction with progname.
53134         * doc/gnulib.texi: include it.  Update copyright.
53135
53136 2007-01-03  Simon Josefsson  <simon@josefsson.org>
53137
53138         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
53139         AC_CANONICAL_HOST, to improve autobuild outputs.
53140
53141 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
53142             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
53143
53144         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
53145         sockets, server sockets, and other file descriptors.  Count errors
53146         to compute the return value.  Reorder the code a bit to be easier
53147         to follow.  Don't set event bits that were not requested (except
53148         POLLERR and POLLHUP).
53149
53150 2007-01-01  Bruno Haible  <bruno@clisp.org>
53151
53152         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
53153
53154 2007-01-03  Jim Meyering  <jim@meyering.net>
53155
53156         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
53157
53158 2007-01-02  Bruno Haible  <bruno@clisp.org>
53159
53160         * modules/settime (Include): Require timespec.h.
53161         * modules/nanosleep (Include): Likewise.
53162
53163 2007-01-01  Bruno Haible  <bruno@clisp.org>
53164
53165         * gnulib-tool (func_emit_copyright_notice): Bump year.
53166         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
53167
53168 2007-01-01  Bruno Haible  <bruno@clisp.org>
53169
53170         Improve support for OpenBSD.
53171         * build-aux/config.rpath (libname_spec): Export.
53172         (library_names_spec): New variable. Export.
53173         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
53174         library_names_spec from the config.rpath output. Locate shared library
53175         through the name pattern in library_names_spec.
53176
53177 2007-01-01  Eric Blake  <ebb9@byu.net>
53178
53179         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
53180
53181 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
53182
53183         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
53184         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
53185         assume the C locale, and avoid an "eval" that could cause trouble.
53186         Problem with SORT reported by Bob Proulx.
53187
53188         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
53189         Define.  Trivial patch from Henning Nielsen Lund, originally
53190         sent to bug-grep@gnu.org today.
53191
53192 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
53193
53194         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
53195         struct stat.  Problem reported by Henning Nielsen Lund.
53196         * lib/acl.c: Include acl.h first, to check interface.  Don't
53197         bother to include sys/types.h and sys/stat.h again.
53198
53199 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
53200
53201         Import the following change from libc; problem reported by
53202         Sven Verdoolaege.
53203
53204         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
53205
53206         [BZ #1373]
53207         * lib/argp.h: Remove __NTH for __argp_usage inline function.
53208
53209 2006-12-28  Jim Meyering  <jim@meyering.net>
53210
53211         * build-aux/announce-gen: Do not assume that the package
53212         builds any of tar.gz, tar.bz2, and .xdelta files.
53213         Suggestion from Simon Josefsson.
53214
53215 2006-12-28  Simon Josefsson  <simon@josefsson.org>
53216
53217         * modules/announce-gen: New file.
53218
53219 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
53220
53221         * lib/mbchar.h: Just include <wctype.h>; the wctype module
53222         handles its gotchas now.
53223         * lib/mbswidth.c: Likewise.
53224         * lib/wcwidth.h: Likewise.
53225         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
53226         and iswcntrl; the wctype module does this stuff now.
53227         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53228         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
53229         * modules/mbchar (Depends-on): Add wctype.
53230         * modules/mbswidth (Depends-on): Likewise.
53231         * modules/wcwidth (Depends-on): Likewise.
53232
53233 2006-12-27  Eric Blake  <ebb9@byu.net>
53234
53235         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
53236         module uses more than what <wctype.h> is required to provide.
53237
53238 2006-12-26  Eric Blake  <ebb9@byu.net>
53239
53240         * gnulib-tool (sed_extract_prog): Avoid space-tab.
53241
53242 2006-12-26  Eric Blake  <ebb9@byu.net>
53243
53244         * modules/absolute-header: New module.
53245         * modules/fcntl (Depends-on): Depend on it.
53246         * modules/inttypes (Depends-on): Likewise.
53247         * modules/stdint (Depends-on): Likewise.
53248         * modules/sys_stat (Depends-on): Likewise.
53249         * modules/wctype (Depends-on): Likewise.
53250         * MODULES.html.sh (Support for building libraries and
53251         executables): Document it.
53252
53253 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
53254
53255         * gnulib-tool (SED): Remove, undoing previous change.
53256         The problem was that it broke coreutils on Solaris, because
53257         "sed --posix" leaked into a makefile.
53258         (sed): New alias, if 'alias' and GNU sed.
53259
53260 2006-12-24  Jim Meyering  <jim@meyering.net>
53261
53262         Work around an fchownat bug in glibc-2.4:
53263         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
53264         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
53265         in spite of the -P option.
53266         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
53267         New macros.
53268         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
53269         * modules/openat (Files): Add lib/fchownat.c.
53270         * lib/openat.c (fchownat): Don't define here.  Move to...
53271         * lib/fchownat.c: ...this new file.
53272
53273 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
53274
53275         Fix bug reported by Bruno Haible in
53276         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
53277         where quotearg.c didn't compile on Mac OS X 10.2 because it
53278         lacks <wchar.h> and wint_t.
53279         * lib/wctype_.h (__wctype_wint_t): New type.
53280         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
53281         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
53282         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
53283         Arg is now of type __wctype_wint_t, not wint_t.
53284         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
53285         substitute HAVE_WINT_T.
53286         * modules/wctype (Files): Add m4/wint_t.m4.
53287         (wctype.h): Substitute HAVE_WINT_T.
53288
53289 2006-12-23  Bruno Haible  <bruno@clisp.org>
53290
53291         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
53292
53293 2006-12-23  Bruno Haible  <bruno@clisp.org>
53294
53295         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
53296         S_ISLNK.
53297         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
53298         mingw.
53299
53300 2006-12-22  Bruno Haible  <bruno@clisp.org>
53301
53302         * lib/copy-file.c: Include acl.h.
53303         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
53304         Close the file descriptors only after being done with copy_acl.
53305         * modules/copy-file (Depends-on): Add acl.
53306
53307 2006-12-22  Bruno Haible  <bruno@clisp.org>
53308
53309         * gnulib-tool (SED): New variable.
53310         Use $SED instead of sed everywhere.
53311
53312 2006-12-22  Bruno Haible  <bruno@clisp.org>
53313
53314         * modules/no-c++: New file.
53315         * m4/no-c++.m4: New file.
53316         * MODULES.html.sh (Support for building libraries and executables):
53317         Add no-c++.
53318
53319 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
53320
53321         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
53322         Include <limits.h>, and use its INT_MAX to rewrite the
53323         j loop so that it does not overflow 'int'.  Problem reported by
53324         Ralf Wildenhues in
53325         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
53326         Play it safe by shifting left by 1 rather than multiplying by 2,
53327         as GCC is less likely to optimize this away when the value
53328         is signed (when it assumes overflow leads to undefined behavior).
53329         Also, don't assume time_t uses two's complement.
53330
53331 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
53332
53333         * MODULES.html.sh: New module wctype.
53334         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
53335         * lib/fnmatch.c: Don't bother to include <wchar.h> before
53336         <wctype.h>, since the new wctype module should fix this.
53337         * lib/quotearg.c: Include <wctype.h> unconditionally, since
53338         the wctype module should arrange for it.
53339         * lib/regex_internal.h: Likewise.
53340         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
53341         since the wctype module should handle this now.
53342         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
53343         * modules/fnmatch (Depends-on): Add wctype.
53344         * modules/quotearg (Depends-on): Likewise.
53345         * modules/regex (Depends-on): Likewise.
53346
53347 2006-12-19  Bruno Haible  <bruno@clisp.org>
53348
53349         * lib/strdup.h [C++]: Wrap definitions in extern "C".
53350         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
53351
53352 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53353
53354         * modules/savewd (Depends-on): Fix dependency on fcntl.
53355
53356 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
53357
53358         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
53359         conforms to C99, rather than relying on the user's environment
53360         setting of STDINT_H.
53361
53362 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
53363         and Eric Blake  <ebb9@byu.net>
53364
53365         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
53366         This is more consistent with the other defines here.
53367         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
53368         Port to z/OS.  Problem reported by Paul Gilmartin.
53369         Change local vars to use gl_ prefix rather than ac_.
53370         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
53371         with other defines.
53372         * modules/double-slash-root: New module.
53373         * modules/dirname (Files): Remove m4/double-slash-root.m4.
53374         (Depends-on): Add double-slash-root.
53375         * MODULES.html.sh (File system functions): Mention new module.
53376
53377 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
53378
53379         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
53380         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
53381         This is for the benefit of gzip, which doesn't do i18n.
53382
53383 2006-12-12  Jim Meyering  <jim@meyering.net>
53384
53385         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
53386         Reported by Andreas Schwab <schwab@suse.de>.
53387
53388 2006-12-12  Bruno Haible  <bruno@clisp.org>
53389
53390         Merge these changes.
53391         2006-09-05  Bruno Haible  <bruno@clisp.org>
53392         * lib/iconvme.c (iconv_string): No need to save and restore errno when
53393         iconv_alloc succeeded.
53394         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
53395         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
53396         test for " && dest " at the end - dest is always != NULL there. Call
53397         iconv with 4xNULL arguments initially, to reset the state. Call iconv
53398         with 2xNULL arguments, also to flush the state storage. Handle the
53399         IRIX iconv behaviour. Realloc the final result, to throw away unused
53400         memory.
53401
53402 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
53403
53404         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
53405         and fchmodat unconditionally, since glibc 2.4 has them.
53406         Problem reported by Arkadiusz Miskiewicz.
53407
53408 2006-12-10  Bruno Haible  <bruno@clisp.org>
53409
53410         * gnulib-tool (func_import): Show the include files only for those
53411         modules that are copied and specified.
53412         Reported by Karl Berry.
53413
53414 2006-12-08  Jim Meyering  <jim@meyering.net>
53415
53416         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
53417         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
53418
53419         * build-aux/announce-gen: Add two new options, both optional:
53420         --bootstrap-tools=TOOL_LIST
53421               a comma-separated list of tools, e.g.,
53422               autoconf,automake,bison,gnulib
53423         --gnulib-snapshot-date=DATE
53424               if gnulib is in the bootstrap tool list,
53425               then report this as the snapshot date.
53426               If not specified, use the current date/time.
53427               If you specify a date here, be sure it's UTC.
53428
53429 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53430
53431         * tests/test-argp-2.sh: Fix test to match actual output.
53432         (func_compare): Fix sed script to be portable.
53433
53434 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
53435
53436         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
53437         workaround for this case.  It is not autoconfigured now; offhand
53438         it's hard to see how to autoconfigure it.
53439
53440 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
53441
53442         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
53443         a directory that is about to be chowned.  Such a directory's
53444         initial file permissions should permit the owner only and this
53445         should not be changed until after the chown, since the group and
53446         other bits would be incorrect if they granted permission before
53447         the chown.
53448
53449         Fix porting problem for iswctype reported by Georg Schwarz in:
53450         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
53451         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
53452         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
53453         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
53454         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
53455
53456 2006-12-03  Jim Meyering  <jim@meyering.net>
53457
53458         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
53459         p->fts_statp may not yet be defined.
53460         (fts_read): Instead, set it in the caller, once p->fts_statp is
53461         sure to be defined, and corresponds to a top-level directory.
53462         This bug made du -x fail.  Here's the coreutils test case:
53463         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
53464         Reported by Mike Frysinger.
53465
53466 2006-12-01  Jim Meyering  <jim@meyering.net>
53467
53468         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
53469         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
53470         Reported by Simon Josefsson.
53471
53472 2006-11-30  Jim Meyering  <jim@meyering.net>
53473
53474         * m4/warning.m4: Use the all-permissive copyright notice
53475         recommended by RMS (rather than LGPL).
53476         * m4/vararrays.m4: Likewise.
53477         * m4/flexmember.m4: Likewise.
53478
53479 2006-11-29  Bruno Haible  <bruno@clisp.org>
53480
53481         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
53482         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
53483         using +=.
53484         Reported by Simon Josefsson <simon@josefsson.org>.
53485
53486 2006-11-28  James Youngman <jay@gnu.org>
53487
53488         * README: Advise users that they might find the bug-gnulib@gnu.org
53489         and autotools-announce@gnu.org mailing lists useful.
53490
53491 2006-11-28  Bruno Haible  <bruno@clisp.org>
53492
53493         * m4/ptrdiff_max.m4: Remove file.
53494
53495 2006-11-21  Bruno Haible  <bruno@clisp.org>
53496
53497         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
53498         _AC_COMPUTE_INT.
53499         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
53500         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
53501         _AC_COMPUTE_INT.
53502         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
53503         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
53504         _AC_COMPUTE_INT.
53505         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
53506
53507 2006-11-28  Jim Meyering  <jim@meyering.net>
53508
53509         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
53510         warning from "gcc -Wshadow" about shadowing the builtin.
53511
53512 2006-11-27  Bruno Haible  <bruno@clisp.org>
53513
53514         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
53515         _AC_COMPUTE_INT.
53516         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
53517
53518 2006-11-27  Bruno Haible  <bruno@clisp.org>
53519             Paul Eggert  <eggert@cs.ucla.edu>
53520
53521         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
53522
53523 2006-11-26  Bruno Haible  <bruno@clisp.org>
53524
53525         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
53526         noinst_LTLIBRARIES.
53527
53528 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
53529             Bruno Haible  <bruno@clisp.org>
53530
53531         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
53532         if compiling with "gcc -ansi".
53533
53534 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
53535
53536         Fix some incompatibilities with gcc -ansi -pedantic.
53537         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
53538         if compiling pedantically with GCC, unless it's C99 or later.
53539         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
53540         it mishandles gcc -ansi -pedantic as well.
53541         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
53542         if gcc -pedantic.
53543         * lib/regexec.c (check_node_accept_bytes): Don't use auto
53544         initializers for struct if -pedantic, unless it's C99 or later.
53545
53546 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
53547
53548         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
53549         Don't close an fd more than once. Identical atimes indicate
53550         success, not failure.
53551
53552 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
53553
53554         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
53555
53556 2006-11-23  Jim Meyering  <jim@meyering.net>
53557
53558         * build-aux/announce-gen: New file.  From coreutils.
53559
53560 2006-11-22  Jim Meyering  <jim@meyering.net>
53561
53562         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
53563         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
53564         (fts_read): Use a temporary to narrow the overused st_size member
53565         before using it in a switch statement.  Reported by Matthew Woehlke.
53566
53567         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
53568         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
53569
53570 2006-11-20  Bruno Haible  <bruno@clisp.org>
53571
53572         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
53573         changequote instead of pairs of brackets.
53574         Reported by Andreas Schwab <schwab@suse.de>.
53575
53576 2006-11-21  Jim Meyering  <jim@meyering.net>
53577
53578         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
53579         so as to remain compatible with older compilers.
53580         Patch from Michael Deutschmann.
53581
53582 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
53583
53584         * MODULES.html.sh (File system functions): Add openat.
53585
53586         * lib/openat.h (rpl_fstatat): New macro, if
53587         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
53588         (fstatat): Define to rpl_fstatat under the same conditions,
53589         unless COMPILING_FSTATAT.
53590         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
53591         seems to have the bug.
53592         * lib/fstatat.c: New file.
53593         * modules/openat (Files): Add it.
53594
53595 2006-11-20  Bruno Haible  <bruno@clisp.org>
53596
53597         * Makefile: New file.
53598
53599 2006-11-20  Jim Meyering  <jim@meyering.net>
53600
53601         The beginnings of syntax-related checks for gnulib.
53602         * lib/Makefile: New file.
53603         * lib/t-idcache: New script.  Ensure that the two halves of
53604         idcache.c stay in sync.
53605
53606         * lib/idcache.c: Adjust comments in user- and group- portions to
53607         be more accurate, and to be consistent with one another.
53608
53609 2006-11-20  Jim Meyering  <jim@meyering.net>
53610
53611         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
53612         continue using the flexible array member (thus, this module performs
53613         half as many malloc calls), with the addition that...
53614         (getgroup, getuser): Consistently record a non-match via an empty
53615         "name" string, and map an empty string match to a NULL return value.
53616         * modules/idcache (Depends-on): Re-add flexmember.
53617
53618         * lib/idcache.c (getuser): Remove all uses of the register keyword.
53619         (getuidbyname, getgroup, getgidbyname): Likewise.
53620
53621         Use cleaner syntax: NULL rather than 0.
53622         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
53623
53624 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
53625
53626         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
53627         It mishandled the case where the group was missing.
53628         Problem reported by Greg Schafer.
53629         * modules/idcache: Likewise.
53630
53631 2006-11-18  Jim Meyering  <jim@meyering.net>
53632
53633         * check-module (%exempt_header): Add exception for some
53634         conditionally-included headers.
53635
53636         * modules/i-ring (Depends-on): Add verify.
53637         (License): Change to LGPL.
53638
53639 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
53640
53641         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
53642         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
53643         and inttostr.h.  Use snprintf rather than uinttostr, so that
53644         LGPLed code doesn't depend on GPLed.
53645
53646 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
53647
53648         * modules/inline (License): Change from GPL to LGPL.
53649
53650 2006-11-17  Jim Meyering  <jim@meyering.net>
53651
53652         * modules/d-type (License): Switch to LGPL.
53653
53654 2006-11-15  Bruno Haible  <bruno@clisp.org>
53655
53656         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
53657
53658 2006-11-15  Eric Blake  <ebb9@byu.net>
53659
53660         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
53661         the module dependency.
53662
53663 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53664             Bruno Haible  <bruno@clisp.org>
53665
53666         * gnulib-tool (func_create_testdir): Add license consistency check.
53667
53668 2006-11-15  Eric Blake  <ebb9@byu.net>
53669
53670         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
53671         random "(cached)" in configure output.
53672
53673 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53674
53675         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
53676         test for conforming inttypes.h is both announced and cached.
53677
53678         * MODULES.html.sh (seen_modules, seen_files): New variables.
53679         (func_module): Rewrite to use a few less gnulib-tool and sed
53680         invocations.  Avoid a couple of quadratic algorithms for ...
53681         (missed_modules, missed_files): ... these, with ...
53682         (func_append, func_tmpdir): ... these new functions, from
53683         gnulib-tool.  Analogously, install traps for cleanup.
53684
53685         * tests/test-gc.c (main): Remove unused variables.
53686         * tests/test-read-file.c: Include stdlib.h, for 'free'.
53687
53688 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
53689
53690         * modules/inttostr (License): Change to LGPL.
53691
53692 2006-11-14  Eric Blake  <ebb9@byu.net>
53693
53694         * modules/tempname (License): Change to LGPL.
53695
53696 2006-11-14  Eric Blake  <ebb9@byu.net>
53697
53698         * doc/functions.texi (Function Portability): *printf functions on
53699         Cygwin now understand all POSIX size specifiers.
53700
53701 2006-11-14  Bruno Haible  <bruno@clisp.org>
53702
53703         * modules/c-ctype (License): Change to LGPL.
53704
53705 2006-11-12  Bruno Haible  <bruno@clisp.org>
53706
53707         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
53708         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
53709         for GNOME libraries, for which the include files are installed in
53710         subdirectories of $prefix/include.
53711
53712 2006-11-12  Bruno Haible  <bruno@clisp.org>
53713
53714         * m4/lib-link.m4: Require at least autoconf-2.54.
53715         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
53716         name to underscores for the --with option.
53717
53718 2006-11-13  Bruno Haible  <bruno@clisp.org>
53719
53720         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
53721         the tests directory.
53722         Reported by Ralf Wildenhues.
53723
53724 2006-11-13  Bruno Haible  <bruno@clisp.org>
53725
53726         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
53727         (func_emit_initmacro_end): Undo the override here.
53728         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
53729         Works around the famous automake error in coreutils.
53730
53731 2006-11-13  Eric Blake  <ebb9@byu.net>
53732
53733         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
53734         element, not its node.
53735
53736 2006-11-12  Bruno Haible  <bruno@clisp.org>
53737
53738         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
53739         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
53740
53741 2006-11-12  Bruno Haible  <bruno@clisp.org>
53742
53743         * gnulib-tool: New option --local-symlink.
53744         (func_usage): Document it.
53745         (lsymbolic): New variable.
53746         (func_import, func_create_testdir): If --symlink was not specified,
53747         test whether --local-symlink was specified and the file comes from
53748         the local_gnulib_dir.
53749
53750 2006-11-12  Bruno Haible  <bruno@clisp.org>
53751
53752         * gnulib-tool (func_ln): New function.
53753         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
53754
53755 2006-11-12  Bruno Haible  <bruno@clisp.org>
53756
53757         Finish support for source files in subdirectories.
53758         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
53759         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
53760         AUTOMAKE_OPTIONS.
53761         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
53762
53763 2006-11-12  Bruno Haible  <bruno@clisp.org>
53764
53765         * gnulib-tool (func_get_automake_snippet): Synthesize also an
53766         EXTRA_lib_SOURCES augmentation.
53767         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
53768
53769 2006-11-12  Jim Meyering  <jim@meyering.net>
53770
53771         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
53772         file descriptors.  This also averts a failure on systems with
53773         native openat support when a traversed directory lacks "x" access.
53774         * lib/fts_.h: Include "i-ring.h"
53775         (struct FTS) [fts_fd_ring]: New member.
53776         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
53777         (FCHDIR): Add parentheses.
53778         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
53779         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
53780         When descending, rather than simply closing the previous
53781         fts_cwd_fd value, push that file descriptor onto the ring.
53782         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
53783         (fts_open): Initialize the new fd_ring member.
53784         (fts_close): Clear the ring.
53785         (fts_safe_changedir): When possible, use our new fd_ring to skip
53786         the diropen and fstat and dev/ino comparison that would normally
53787         accompany a virtual `chdir ("..")'.
53788
53789         * modules/fts (Depends-on): Add i-ring.
53790         * modules/i-ring: New module.
53791         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
53792         * m4/i-ring.m4: New file.
53793
53794 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53795
53796         * gnulib-tool (func_create_testdir): Fix replacement of
53797         `build-aux' in configure.ac.  Run autotools in gltests
53798         subdirectory.
53799         (func_create_testdir, func_create_megatestdir, test): There is
53800         no need for '--force' in most autotool invocations in a new
53801         tree.  Actually fail the whole test if any of the tools, or the
53802         configure or make stages fail.
53803
53804         Sync from Automake.
53805         * build-aux/gnupload: Revert last change.  Add pointer to upload
53806         instructions of the GNU Maintenance Instructions.
53807         Suggestion by Karl Berry.
53808
53809 2006-11-10  Jim Meyering  <jim@meyering.net>
53810
53811         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
53812
53813 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
53814
53815         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
53816         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
53817         (bind_textdomain_codeset) [! ENABLE_NLS]:
53818         Evaluate all the arguments.  That way, callers get compatible behavior
53819         if the arguments have side effects.  Also, it avoids some GCC
53820         diagnostics in some cases; Joel E. Denny reported problems when Bison
53821         was configured with --enable-gcc-warnigs.
53822
53823 2006-11-10  Jim Meyering  <jim@meyering.net>
53824
53825         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
53826         relevant options in CFLAGS (like -O, -fno-inline) are taken into
53827         account.
53828
53829 2006-11-10  Jim Meyering  <jim@meyering.net>
53830
53831         * modules/inline: New file/module.
53832         * modules/xalloc (Files): Remove m4/inline.m4.
53833         (Depends-on): Add inline, instead.
53834         * modules/oset: Likewise.
53835         * modules/list: Likewise.
53836
53837 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
53838
53839         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
53840         Problem reported by Matthew Woehlke.
53841
53842 2006-11-09  Bruno Haible  <bruno@clisp.org>
53843
53844         * lib/tempname.c (gen_tempname): Remove variant that invokes
53845         __gen_tempname.
53846         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
53847         __gen_tempname.
53848
53849 2006-11-08  Bruno Haible  <bruno@clisp.org>
53850
53851         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
53852         to 'yes' instead of 'cross-compiling'.
53853
53854 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
53855
53856         * lib/quotearg.h (quotearg_free): New decl.
53857         * lib/quotearg.c (quotearg_free): New function.
53858         (slot0, nslots, slotvec0, slotvec):
53859         Now file-scope so that quotearg_free can get at them.
53860
53861 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53862
53863         Sync from Automake.
53864         * build-aux/gnupload: Add missing 'gnu' to example URL.
53865         Report by Karl Berry.
53866
53867 2006-11-08  Bruno Haible  <bruno@clisp.org>
53868
53869         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
53870         Suggested by Paul Eggert.
53871
53872 2006-11-08  Jim Meyering  <jim@meyering.net>
53873
53874         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
53875         It's already included if !_LIBC.
53876         (fts_safe_changedir): Add a comment.
53877
53878 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
53879
53880         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
53881         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
53882         Matthew Woehlke.
53883
53884         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
53885         definitions up, to avoid colliding with change below.
53886         (static_inline) [HAVE_INLINE]: New macro.
53887         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
53888         Provide extern decls when !HAVE_INLINE.  Do not define unless
53889         static_inline is defined, either by us or by xmalloc.c.  Use
53890         static_inline rather than static inline.
53891         (XCALLOC): Optimize sizeof(T) = 1 case.
53892         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
53893
53894 2006-11-07  Bruno Haible  <bruno@clisp.org>
53895
53896         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
53897         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
53898         AC_C_INLINE.
53899         * modules/xalloc (Files): Add m4/inline.m4.
53900
53901 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53902
53903         * README: Fix typo.
53904         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
53905         (Miscellanous Notes): ...from this.
53906
53907 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
53908
53909         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
53910         Mention that offsetof should be used instead of sizeof.
53911         From Bruno Haible.
53912
53913 2006-11-07  Bruno Haible  <bruno@clisp.org>
53914
53915         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
53916
53917 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
53918
53919         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
53920         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
53921         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
53922         (gl_tree_add_before, gl_tree_add_after):
53923         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
53924         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
53925         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
53926         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
53927         (gl_linked_add_after, gl_linked_add_at): Likewise.
53928         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
53929         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
53930         (gl_tree_add_before, gl_tree_add_after): Likewise.
53931         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
53932         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
53933         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
53934
53935 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53936
53937         * lib/gl_oset.h: Use C comment style, not C++ comment style.
53938
53939 2006-11-06  Bruno Haible  <bruno@clisp.org>
53940
53941         * m4/inline.m4: New file.
53942         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
53943         * modules/list (Files): Add m4/inline.m4.
53944         * modules/oset (Files): Likewise.
53945
53946 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
53947
53948         * lib/idcache.c: Include <stddef.h>, for offsetof.
53949         (struct userid.name): Change from char * to a flexible array member.
53950         All uses changed.
53951         * modules/idcache (Depends-on): Add flexmember.
53952
53953         * MODULES.html.sh (Core language properties): New module flexmember.
53954         * modules/flexmember, m4/flexmember.m4: New files.
53955
53956         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
53957         inline functions that are identical with the old xnmalloc_inline,
53958         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
53959         that we can avoid some unnecessary integer multiplications and
53960         divisions in the common case where the element size is known at
53961         compile time.
53962         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
53963         needed.
53964         (xnboundedmalloc): Remove.
53965         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
53966         arguments, for consistency with rest of this header.
53967         (xcharalloc): Rewrite using XNMALLOC.
53968         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
53969         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
53970         versions have been moved to lib/xalloc.h and renamed to be the
53971         non-*_inline versions.
53972         (xmalloc, xrealloc): Implement without reference to the xnmalloc
53973         and xnrealloc functions, since those functions are now inline and
53974         now call us.
53975         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
53976         renaming described above.
53977         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
53978         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
53979         captures the dependency in AC_C_INLINE.
53980
53981         New module canonicalize-lgpl, proposed by Charles Wilson in
53982         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
53983         with a few small changes afterwards.
53984         * MODULES.html.sh (File system functions): New module
53985         canonicalize-lgpl.
53986         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
53987         and canonicalize_file_name.
53988         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
53989         * modules/canonicalize-lgpl: New files.
53990
53991 2006-11-05  Bruno Haible  <bruno@clisp.org>
53992
53993         * gnulib-tool (func_import, func_create_testdir): Create directories
53994         also for files in subdirectories of lib/.
53995
53996 2006-11-05  Bruno Haible  <bruno@clisp.org>
53997
53998         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
53999         ANSI C compliant.
54000
54001 2006-11-03  Bruno Haible  <bruno@clisp.org>
54002
54003         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
54004         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
54005         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
54006         (xnboundedmalloc): New inline function.
54007         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
54008         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
54009         xmalloc.
54010         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
54011         xmalloc.
54012         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
54013         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
54014         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
54015         xmalloc.
54016         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
54017         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
54018         xmalloc.
54019         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
54020         gl_tree_add_after): Use XMALLOC instead of xmalloc.
54021         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
54022         xmalloc.
54023         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
54024         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
54025         gl_tree_add_after): Use XMALLOC instead of xmalloc.
54026         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
54027         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
54028         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
54029         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
54030
54031 2006-11-03  Bruno Haible  <bruno@clisp.org>
54032
54033         * lib/c-ctype.h [C++]: Define functions without name mangling.
54034         * lib/fwriteerror.h [C++]: Likewise.
54035         * lib/gcd.h [C++]: Likewise.
54036         * lib/linebreak.h [C++]: Likewise.
54037
54038 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
54039
54040         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
54041         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
54042         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
54043         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
54044         Check for functions and headers just once.
54045         Check for declaration of canonicalize_file_name.
54046         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
54047
54048 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
54049
54050         * gnulib-tool (func_import): Fix typo in actioncmd.
54051
54052 2006-11-02  Bruno Haible  <bruno@clisp.org>
54053
54054         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
54055         newline sequence in the Makefile.am snippet as a space, like "make"
54056         does.
54057         Reported by Roger Persson <perrog@gmail.com>.
54058
54059 2006-11-01  Bruno Haible  <bruno@clisp.org>
54060
54061         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
54062         already declared in <string.h>.
54063         * lib/strcase.h (strncasecmp): Don't declare it if yes.
54064
54065 2006-11-01  Bruno Haible  <bruno@clisp.org>
54066
54067         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
54068         * lib/strcase.h: Include <string.h>.
54069         (strcasecmp): Define to rpl_strcasecmp here.
54070
54071 2006-11-01  Bruno Haible  <bruno@clisp.org>
54072
54073         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
54074
54075 2006-11-01  Eric Blake  <ebb9@byu.net>
54076
54077         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
54078
54079         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
54080
54081 2006-10-29  Bruno Haible  <bruno@clisp.org>
54082
54083         Make it compile in C++ mode.
54084         * lib/full-write.c (full_rw): Add a cast.
54085
54086 2006-11-01  Bruno Haible  <bruno@clisp.org>
54087
54088         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
54089         be POSIX compliant.
54090         Reported by Roger Persson <perrog@gmail.com>.
54091
54092 2006-11-01  Eric Blake  <ebb9@byu.net>
54093
54094         * lib/getopt_.h: Fix comments.
54095
54096 2006-10-31  Eric Blake  <ebb9@byu.net>
54097
54098         * modules/tmpdir (Depends-on): Add sys_stat.
54099         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
54100         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
54101         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
54102         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
54103         tempname.
54104
54105 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
54106
54107         Avoid some C++ diagnostics reported by Bruno Haible.
54108         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
54109         xmalloc.
54110         (quotearg_alloc): Use xcharalloc rather than xmalloc.
54111         (struct slotvec): Move to top level.
54112         (quotearg_n_options): Rewrite to avoid xmalloc.
54113         * lib/xalloc.h (xcharalloc): New function.
54114         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
54115         [defined __cplusplus]: Add function template that provides result
54116         type propagation.  This part of the change is from Bruno Haible.
54117
54118 2006-10-29  Bruno Haible  <bruno@clisp.org>
54119
54120         Make it compile in C++ mode.
54121         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
54122         * lib/strnlen1.c (strnlen1): Cast memchr result.
54123         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
54124         * lib/clean-temp.c (string_equals, string_hash): Add casts.
54125         (create_temp_dir): Rename local variable 'template'.
54126         (compile_csharp_using_sscli): Add cast.
54127         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
54128         * lib/findprog.c (find_in_path): Likewise.
54129         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
54130         * lib/wait-process.c (register_slave_subprocess): Likewise.
54131
54132 2006-10-22  Bruno Haible  <bruno@clisp.org>
54133
54134         * modules/tsearch: New file.
54135         * lib/tsearch.h: New file.
54136         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
54137         * m4/tsearch.m4: New file.
54138         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
54139
54140 2006-10-29  Eric Blake  <ebb9@byu.net>
54141
54142         * lib/arcfour.c: Assume config.h.
54143         * lib/arctwo.c: Likewise.
54144         * lib/base64.c: Likewise.
54145         * lib/check-version.c: Likewise.
54146         * lib/crc.c: Likewise.
54147         * lib/des.c: Likewise.
54148         * lib/gc-gnulib.c: Likewise.
54149         * lib/gc-libgcrypt.c: Likewise.
54150         * lib/gc-pbkdf2-sha1.c: Likewise.
54151         * lib/getaddrinfo.c: Likewise.
54152         * lib/getdelim.c: Likewise.
54153         * lib/getline.c: Likewise.
54154         * lib/hmac-md5.c: Likewise.
54155         * lib/hmac-sha1.c: Likewise.
54156         * lib/iconvme.c: Likewise.
54157         * lib/md2.c: Likewise.
54158         * lib/md4.c: Likewise.
54159         * lib/memxor.c: Likewise.
54160         * lib/read-file.c: Likewise.
54161         * lib/readline.c: Likewise.
54162         * lib/rijndael-alg-fst.c: Likewise.
54163         * lib/rijndael-api-fst.c: Likewise.
54164         * lib/xgetdomainname.c: Likewise.
54165
54166 2006-10-28  Eric Blake  <ebb9@byu.net>
54167
54168         * lib/xstrndup.c: Assume config.h.
54169
54170 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
54171
54172         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
54173         stat-macros.h is now for our own macros, whereas stat_h is for
54174         macros in the <sys/stat.h> name space.
54175         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
54176         (STAT_MACROS_H): Remove.
54177         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
54178         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
54179         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
54180         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
54181         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
54182         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
54183         Move these macros to ...
54184         * lib/stat_.h: here.  Don't include stat-macros.h.
54185         * lib/canonicalize.c: Don't include stat-macros.h.
54186         * lib/chown.c: Likewise.
54187         * lib/euidaccess.c: Likewise.
54188         * lib/file-type.c: Likewise.
54189         * lib/filemode.c: Likewise.
54190         * lib/glob.c: Likewise.
54191         * lib/isapipe.c: Likewise.
54192         * lib/lchown.c: Likewise.
54193         * lib/lstat.c: Likewise.
54194         * lib/mkdir-p.c: Likewise.
54195         * lib/rmdir.c: Likewise.
54196         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
54197         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
54198         unless mkdir isn't declared, to speed up 'configure'.
54199         Always create sys/stat.h, since it's unlikely any real sys/stat.h
54200         would define all the S_* symbols.
54201         * modules/canonicalize (Depends-on):
54202         Depend on sys_stat, not stat-macros.
54203         * modules/chown: Likewise.
54204         * modules/euidaccess: Likewise.
54205         * modules/filemode: Likewise.
54206         * modules/file-type: Likewise.
54207         * modules/glob: Likewise.
54208         * modules/isapipe: Likewise.
54209         * modules/lchown: Likewise.
54210         * modules/lstat: Likewise.
54211         * modules/mkancesdirs: Likewise.
54212         * modules/rmdir: Likewise.
54213         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
54214         * modules/modechange: Likewise.
54215         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
54216         (configure.ac): Remove gl_STAT_MACROS.
54217         * modules/sys_stat (Depends-on): Remove stat-macros.
54218
54219 2006-10-27  Bruno Haible  <bruno@clisp.org>
54220
54221         * m4/signed.m4: Remove file.
54222         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
54223         invocation.
54224         * modules/vasnprintf (Files): Remove m4/signed.m4.
54225
54226 2006-10-27  Bruno Haible  <bruno@clisp.org>
54227
54228         Update to GNU gettext 0.16.
54229         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
54230         m4/inttypes-h.m4, m4/signed.m4.
54231         * m4/gettext.m4: Update to GNU gettext 0.16.
54232         * m4/intl.m4: New file, from GNU gettext.
54233         * m4/intldir.m4: New file, from GNU gettext.
54234         * config/srclist.txt: Update
54235
54236 2006-10-27  Eric Blake  <ebb9@byu.net>
54237
54238         * MODULES.html.sh: Document tempname.
54239         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
54240         dependencies.
54241         (Files): Move lib/tempname.c...
54242         * modules/tempname: ...to this new module.
54243         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
54244         (gl_PREREQ_TEMPNAME): Move...
54245         * m4/tempname.m4: ...to this new file.
54246         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
54247         * modules/sys_stat (Depends-on): Add stat-macros.
54248         * lib/stat_.h (includes): Pick up stat macros.
54249         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
54250         if stat macros are broken.
54251         * lib/tempname.c (includes): No need to include "stat-macros.h".
54252         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
54253         (direxists, __path_search) [!_LIBC]: Don't compile these in
54254         gnulib; the tmpdir module covers that.
54255         * lib/tempname.h: New file.
54256
54257 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
54258
54259         * COPYING: Explain how gnulib-tool converts licence headers.
54260         Almost all wording by Eric Blake.
54261
54262 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
54263
54264         * lib/mbchar.h (is_basic_table): Make read-only.
54265         * lib/mbchar.c (is_basic_table): Likewise.
54266         Reported by John Darrington.
54267
54268 2006-10-25  Bruno Haible  <bruno@clisp.org>
54269
54270         * lib/progname.h (set_program_name): Undefine before defining.
54271
54272 2006-10-25  Bruno Haible  <bruno@clisp.org>
54273
54274         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
54275         false for non-gcc C++ compilers.
54276         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
54277
54278 2006-10-24  Bruno Haible  <bruno@clisp.org>
54279
54280         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
54281         iconv implementations like Irix iconv.
54282
54283 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54284
54285         * modules/vararrays: New file.
54286         * m4/vararrays.m4: New file, taken from diffutils.
54287         * MODULES.html.sh: New module vararrays.
54288
54289 2006-10-24  Karl Berry  <karl@gnu.org>
54290
54291         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
54292         Don't call GNU Unix.
54293
54294 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54295
54296         * users.txt: Add Libtool.
54297
54298         Sync from Libtool:
54299
54300         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54301
54302         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
54303         to gnulib's policy of including config.h unconditionally.
54304
54305 2006-10-24  Bruno Haible  <bruno@clisp.org>
54306
54307         * modules/wcwidth (Files): Add m4/wint_t.m4.
54308         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
54309         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
54310
54311 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54312
54313         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
54314         to pacify GCC with some -W flags enabled.  Problem reported by
54315         Bruno Haible.
54316
54317 2006-10-24  Jim Meyering  <jim@meyering.net>
54318
54319         * MODULES.html.sh: Remove uinttostr.  It's not a module.
54320         Reported by Karl Berry.
54321
54322 2006-10-23  Bruno Haible  <bruno@clisp.org>
54323
54324         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
54325
54326 2006-10-24  Bruno Haible  <bruno@clisp.org>
54327
54328         * lib/gl_list.h: Use C comment style, not C++ comment style.
54329
54330 2006-10-23  Eric Blake  <ebb9@byu.net>
54331
54332         * lib/getaddrinfo.c (includes): Add missing include.
54333
54334 2006-10-23  Bruno Haible  <bruno@clisp.org>
54335             Paul Eggert  <eggert@cs.ucla.edu>
54336
54337         Ability to rename obstack_free.
54338         * lib/obstack.h (__obstack_free): New macro. Declare instead of
54339         obstack_free.
54340         (obstack_free): Invoke the __obstack_free macro.
54341         * lib/obstack.c (obstack_free): Use __obstack_free macro.
54342
54343 2006-10-23  Bruno Haible  <bruno@clisp.org>
54344             Paul Eggert  <eggert@cs.ucla.edu>
54345
54346         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
54347         __argc, __argv from the declaration. (They are defined as macros on
54348         mingw.)
54349
54350 2006-10-22  Bruno Haible  <bruno@clisp.org>
54351
54352         * doc/gnulib-intro.texi: New file.
54353         * doc/gnulib.texi: Include it.
54354
54355 2006-10-21  Bruno Haible  <bruno@clisp.org>
54356
54357         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
54358         "Introduction", "Miscellanous Notes", "Particular Modules".
54359
54360 2006-10-21  Bruno Haible  <bruno@clisp.org>
54361
54362         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54363         Change mostlyclean-local rule to avoid sh syntax error from bash
54364         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
54365
54366 2006-10-23  Jim Meyering  <jim@meyering.net>
54367
54368         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
54369         in place of snprintf.
54370
54371         * modules/inttostr (Files): Add lib/uinttostr.c.
54372         * lib/uinttostr.c (inttostr): New file/function.
54373         * lib/inttostr.h (uinttostr): Declare.
54374         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
54375         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
54376         Add uinttostr.
54377         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
54378
54379 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
54380
54381         * lib/canonicalize.c (ELOOP): Define if not already defined.
54382         Problem reported by Bruno Haible in
54383         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
54384
54385 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
54386
54387         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
54388         Problem reported by Perry Smith and Ville Laurikari.
54389
54390         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
54391         uses.
54392
54393 2006-10-19  Bruno Haible  <bruno@clisp.org>
54394
54395         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
54396         for mingw.
54397
54398 2006-10-19  Bruno Haible  <bruno@clisp.org>
54399
54400         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
54401         Needed for mingw.
54402
54403 2006-10-19  Bruno Haible  <bruno@clisp.org>
54404
54405         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
54406
54407 2006-10-19  Bruno Haible  <bruno@clisp.org>
54408
54409         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
54410         it.
54411
54412 2006-10-19  Bruno Haible  <bruno@clisp.org>
54413
54414         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
54415         invocation.
54416
54417 2006-10-19  Bruno Haible  <bruno@clisp.org>
54418
54419         * gnulib-tool (func_create_testdir): Don't include ftruncate and
54420         mountlist by default.
54421
54422 2006-10-16  Bruno Haible  <bruno@clisp.org>
54423
54424         * lib/c-strstr.c: Include c-strstr.h.
54425
54426 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
54427
54428         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
54429         in a slash.
54430
54431 2006-10-18  Bruno Haible  <bruno@clisp.org>
54432
54433         * lib/lock.h [C++]: Wrap definitions in extern "C".
54434
54435 2006-10-18  Bruno Haible  <bruno@clisp.org>
54436
54437         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
54438         gl_LIBOBJS list.
54439
54440 2006-10-18  Bruno Haible  <bruno@clisp.org>
54441
54442         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
54443
54444 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
54445
54446         * lib/xstrtol.h: Include gettext.h.
54447         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
54448         Problem reported by Eric Blake.
54449         * modules/xstrtol (Depends-on): Add gettext-h.
54450
54451 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
54452
54453         * lib/strftime.c (advance): New macro.
54454         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
54455         incomplete type, so you can't add 0 to it.  Problem and patch
54456         reported by Eelco Dolstra for dietlibc.
54457
54458 2006-10-18  Jim Meyering  <jim@meyering.net>
54459
54460         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
54461         type for a local, and rename it: s/up/user_proc/.
54462
54463 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
54464
54465         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
54466         READ_UTMP_USER_PROCESS.
54467         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
54468
54469 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
54470
54471         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
54472         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
54473
54474 2006-10-17  Eric Blake  <ebb9@byu.net>
54475
54476         * lib/sigprocmask.c (sigprocmask): Fix typo.
54477
54478         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
54479
54480         * modules/clean-temp (Makefile.am): Don't add to make output...
54481         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
54482         config.h.
54483
54484 2006-10-17  Bruno Haible  <bruno@clisp.org>
54485
54486         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
54487         differently if DEFAULT_TEXT_DOMAIN is set.
54488
54489 2006-10-16  Bruno Haible  <bruno@clisp.org>
54490
54491         * lib/clean-temp.c: Include fwriteerror.h.
54492
54493 2006-10-16  Bruno Haible  <bruno@clisp.org>
54494
54495         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
54496
54497 2006-10-16  Bruno Haible  <bruno@clisp.org>
54498
54499         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
54500         * lib/sigprocmask.h: Include <sys/types.h>.
54501         (sigset_t): Use the system's definition if present.
54502
54503 2006-10-17  Eric Blake  <ebb9@byu.net>
54504
54505         * lib/xvasprintf.c (includes): Assume config.h.
54506         * lib/xasprintf.c (includes): Likewise.
54507
54508 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54509
54510         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
54511         at least as wide as intmax_t.
54512
54513 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
54514
54515         (Imported from Automake.)
54516         * build-aux/gnupload: Update to version 1.1 of directive file.
54517
54518 2006-10-16  Eric Blake  <ebb9@byu.net>
54519
54520         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
54521         match Automake 1.10a.
54522
54523 2006-10-14  Bruno Haible  <bruno@clisp.org>
54524
54525         * modules/sigprocmask: New file.
54526         * lib/sigprocmask.h: New file.
54527         * lib/sigprocmask.c: New file.
54528         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
54529         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
54530         request sigprocmask.o.
54531         (gl_PREREQ_SIGPROCMASK): New macro.
54532         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
54533         (Depends-on): Add sigprocmask.
54534         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
54535         gt_SIGNALBLOCKING. Test for 'raise' only once.
54536         * lib/fatal-signal.c: Include sigprocmask.h.
54537         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
54538         unblock_fatal_signals): Define always.
54539         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54540         sigprocmask.
54541
54542 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
54543
54544         Sync from Automake.
54545         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
54546         which incorrectly sets the mode of an existing destination
54547         directory.  In some cases the unpatched install-sh could do the
54548         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
54549         system.  We hope this is rare in practice, but it's clearly worth
54550         fixing.  Problem reported by Alex Unleashed in
54551         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
54552         Also, don't bother to check for -m bugs unless we're using -m;
54553         suggested by Stepan Kasal.
54554
54555 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54556
54557         Sync from Automake.
54558         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
54559         `-c' flag, so they appear at the same position as in %FASTDEP%
54560         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
54561         which ignores unknown options only after the first non-option.
54562         Bug report against M4 by Nelson H. F. Beebe.
54563
54564 2006-10-13  Jim Meyering  <jim@meyering.net>
54565
54566         Fix a bug in yesterday's change.
54567         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
54568         p->fts_statp->st_dev would be used uninitialized.
54569         Ensures that we always call fts_stat on the very first entry.
54570         Miklos Szeredi reported that find -xdev stopped working.
54571
54572 2006-10-12  Bruno Haible  <bruno@clisp.org>
54573
54574         * gnulib-tool (func_get_automake_snippet): Append an automatically
54575         computed EXTRA_DIST augmentation.
54576         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
54577         * modules/alloca-opt (Makefile.am): Likewise.
54578         * modules/allocsa (Makefile.am): Likewise.
54579         * modules/arcfour (Makefile.am): Likewise.
54580         * modules/arctwo (Makefile.am): Likewise.
54581         * modules/argmatch (Makefile.am): Likewise.
54582         * modules/argz (Makefile.am): Likewise.
54583         * modules/atexit (Makefile.am): Likewise.
54584         * modules/backupfile (Makefile.am): Likewise.
54585         * modules/byteswap (Makefile.am): Likewise.
54586         * modules/c-strtod (Makefile.am): Likewise.
54587         * modules/c-strtold (Makefile.am): Likewise.
54588         * modules/calloc (Makefile.am): Likewise.
54589         * modules/canon-host (Makefile.am): Likewise.
54590         * modules/canonicalize (Makefile.am): Likewise.
54591         * modules/chdir-long (Makefile.am): Likewise.
54592         * modules/chdir-safer (Makefile.am): Likewise.
54593         * modules/check-version (Makefile.am): Likewise.
54594         * modules/chown (Makefile.am): Likewise.
54595         * modules/cloexec (Makefile.am): Likewise.
54596         * modules/close-stream (Makefile.am): Likewise.
54597         * modules/closeout (Makefile.am): Likewise.
54598         * modules/crc (Makefile.am): Likewise.
54599         * modules/csharpexec (Makefile.am): Likewise.
54600         * modules/cycle-check (Makefile.am): Likewise.
54601         * modules/des (Makefile.am): Likewise.
54602         * modules/dev-ino (Makefile.am): Likewise.
54603         * modules/dirfd (Makefile.am): Likewise.
54604         * modules/dirname (Makefile.am): Likewise.
54605         * modules/dup2 (Makefile.am): Likewise.
54606         * modules/eealloc (Makefile.am): Likewise.
54607         * modules/error (Makefile.am): Likewise.
54608         * modules/euidaccess (Makefile.am): Likewise.
54609         * modules/exclude (Makefile.am): Likewise.
54610         * modules/exitfail (Makefile.am): Likewise.
54611         * modules/fcntl-safer (Makefile.am): Likewise.
54612         * modules/fcntl (Makefile.am): Likewise.
54613         * modules/file-type (Makefile.am): Likewise.
54614         * modules/fileblocks (Makefile.am): Likewise.
54615         * modules/filemode (Makefile.am): Likewise.
54616         * modules/filenamecat (Makefile.am): Likewise.
54617         * modules/fnmatch (Makefile.am): Likewise.
54618         * modules/fopen-safer (Makefile.am): Likewise.
54619         * modules/fpending (Makefile.am): Likewise.
54620         * modules/fprintftime (Makefile.am): Likewise.
54621         * modules/free (Makefile.am): Likewise.
54622         * modules/fsusage (Makefile.am): Likewise.
54623         * modules/ftruncate (Makefile.am): Likewise.
54624         * modules/fts (Makefile.am): Likewise.
54625         * modules/gc-arcfour (Makefile.am): Likewise.
54626         * modules/gc-des (Makefile.am): Likewise.
54627         * modules/gc-hmac-md5 (Makefile.am): Likewise.
54628         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
54629         * modules/gc-md4 (Makefile.am): Likewise.
54630         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
54631         * modules/gc-sha1 (Makefile.am): Likewise.
54632         * modules/gc (Makefile.am): Likewise.
54633         * modules/getaddrinfo (Makefile.am): Likewise.
54634         * modules/getcwd (Makefile.am): Likewise.
54635         * modules/getdelim (Makefile.am): Likewise.
54636         * modules/getdomainname (Makefile.am): Likewise.
54637         * modules/getgroups (Makefile.am): Likewise.
54638         * modules/gethostname (Makefile.am): Likewise.
54639         * modules/gethrxtime (Makefile.am): Likewise.
54640         * modules/getline (Makefile.am): Likewise.
54641         * modules/getloadavg (Makefile.am): Likewise.
54642         * modules/getlogin_r (Makefile.am): Likewise.
54643         * modules/getndelim2 (Makefile.am): Likewise.
54644         * modules/getopt (Makefile.am): Likewise.
54645         * modules/getpagesize (Makefile.am): Likewise.
54646         * modules/getpass-gnu (Makefile.am): Likewise.
54647         * modules/getpass (Makefile.am): Likewise.
54648         * modules/getsubopt (Makefile.am): Likewise.
54649         * modules/gettime (Makefile.am): Likewise.
54650         * modules/gettimeofday (Makefile.am): Likewise.
54651         * modules/getugroups (Makefile.am): Likewise.
54652         * modules/getusershell (Makefile.am): Likewise.
54653         * modules/glob (Makefile.am): Likewise.
54654         * modules/group-member (Makefile.am): Likewise.
54655         * modules/hard-locale (Makefile.am): Likewise.
54656         * modules/hash (Makefile.am): Likewise.
54657         * modules/hmac-md5 (Makefile.am): Likewise.
54658         * modules/hmac-sha1 (Makefile.am): Likewise.
54659         * modules/human (Makefile.am): Likewise.
54660         * modules/idcache (Makefile.am): Likewise.
54661         * modules/imaxabs (Makefile.am): Likewise.
54662         * modules/imaxdiv (Makefile.am): Likewise.
54663         * modules/inet_ntop (Makefile.am): Likewise.
54664         * modules/inet_pton (Makefile.am): Likewise.
54665         * modules/intprops (Makefile.am): Likewise.
54666         * modules/inttostr (Makefile.am): Likewise.
54667         * modules/inttypes (Makefile.am): Likewise.
54668         * modules/isapipe (Makefile.am): Likewise.
54669         * modules/javaversion (Makefile.am): Likewise.
54670         * modules/lchmod (Makefile.am): Likewise.
54671         * modules/lchown (Makefile.am): Likewise.
54672         * modules/localcharset (Makefile.am): Likewise.
54673         * modules/long-options (Makefile.am): Likewise.
54674         * modules/lstat (Makefile.am): Likewise.
54675         * modules/malloc (Makefile.am): Likewise.
54676         * modules/mathl (Makefile.am): Likewise.
54677         * modules/mbchar (Makefile.am): Likewise.
54678         * modules/md2 (Makefile.am): Likewise.
54679         * modules/md4 (Makefile.am): Likewise.
54680         * modules/md5 (Makefile.am): Likewise.
54681         * modules/memcasecmp (Makefile.am): Likewise.
54682         * modules/memchr (Makefile.am): Likewise.
54683         * modules/memcmp (Makefile.am): Likewise.
54684         * modules/memcoll (Makefile.am): Likewise.
54685         * modules/memcpy (Makefile.am): Likewise.
54686         * modules/memmem (Makefile.am): Likewise.
54687         * modules/memmove (Makefile.am): Likewise.
54688         * modules/mempcpy (Makefile.am): Likewise.
54689         * modules/memrchr (Makefile.am): Likewise.
54690         * modules/memset (Makefile.am): Likewise.
54691         * modules/memxor (Makefile.am): Likewise.
54692         * modules/mkancesdirs (Makefile.am): Likewise.
54693         * modules/mkdir-p (Makefile.am): Likewise.
54694         * modules/mkdir (Makefile.am): Likewise.
54695         * modules/mkdtemp (Makefile.am): Likewise.
54696         * modules/mkstemp (Makefile.am): Likewise.
54697         * modules/mktime (Makefile.am): Likewise.
54698         * modules/modechange (Makefile.am): Likewise.
54699         * modules/mountlist (Makefile.am): Likewise.
54700         * modules/nanosleep (Makefile.am): Likewise.
54701         * modules/obstack (Makefile.am): Likewise.
54702         * modules/openat (Makefile.am): Likewise.
54703         * modules/pagealign_alloc (Makefile.am): Likewise.
54704         * modules/pathmax (Makefile.am): Likewise.
54705         * modules/physmem (Makefile.am): Likewise.
54706         * modules/poll (Makefile.am): Likewise.
54707         * modules/posixtm (Makefile.am): Likewise.
54708         * modules/posixver (Makefile.am): Likewise.
54709         * modules/putenv (Makefile.am): Likewise.
54710         * modules/quote (Makefile.am): Likewise.
54711         * modules/quotearg (Makefile.am): Likewise.
54712         * modules/raise (Makefile.am): Likewise.
54713         * modules/read-file (Makefile.am): Likewise.
54714         * modules/readline (Makefile.am): Likewise.
54715         * modules/readlink (Makefile.am): Likewise.
54716         * modules/readtokens (Makefile.am): Likewise.
54717         * modules/readutmp (Makefile.am): Likewise.
54718         * modules/realloc (Makefile.am): Likewise.
54719         * modules/regex (Makefile.am): Likewise.
54720         * modules/rename-dest-slash (Makefile.am): Likewise.
54721         * modules/rename (Makefile.am): Likewise.
54722         * modules/rijndael (Makefile.am): Likewise.
54723         * modules/rmdir (Makefile.am): Likewise.
54724         * modules/rpmatch (Makefile.am): Likewise.
54725         * modules/safe-read (Makefile.am): Likewise.
54726         * modules/safe-write (Makefile.am): Likewise.
54727         * modules/same-inode (Makefile.am): Likewise.
54728         * modules/same (Makefile.am): Likewise.
54729         * modules/save-cwd (Makefile.am): Likewise.
54730         * modules/savedir (Makefile.am): Likewise.
54731         * modules/setenv (Makefile.am): Likewise.
54732         * modules/settime (Makefile.am): Likewise.
54733         * modules/sha1 (Makefile.am): Likewise.
54734         * modules/sig2str (Makefile.am): Likewise.
54735         * modules/snprintf (Makefile.am): Likewise.
54736         * modules/stat-macros (Makefile.am): Likewise.
54737         * modules/stat-time (Makefile.am): Likewise.
54738         * modules/stdbool (Makefile.am): Likewise.
54739         * modules/stdint (Makefile.am): Likewise.
54740         * modules/stdlib-safer (Makefile.am): Likewise.
54741         * modules/stpcpy (Makefile.am): Likewise.
54742         * modules/stpncpy (Makefile.am): Likewise.
54743         * modules/strcase (Makefile.am): Likewise.
54744         * modules/strcasestr (Makefile.am): Likewise.
54745         * modules/strchrnul (Makefile.am): Likewise.
54746         * modules/strcspn (Makefile.am): Likewise.
54747         * modules/strdup (Makefile.am): Likewise.
54748         * modules/strerror (Makefile.am): Likewise.
54749         * modules/strftime (Makefile.am): Likewise.
54750         * modules/strndup (Makefile.am): Likewise.
54751         * modules/strnlen (Makefile.am): Likewise.
54752         * modules/strpbrk (Makefile.am): Likewise.
54753         * modules/strsep (Makefile.am): Likewise.
54754         * modules/strstr (Makefile.am): Likewise.
54755         * modules/strtod (Makefile.am): Likewise.
54756         * modules/strtoimax (Makefile.am): Likewise.
54757         * modules/strtok_r (Makefile.am): Likewise.
54758         * modules/strtol (Makefile.am): Likewise.
54759         * modules/strtoll (Makefile.am): Likewise.
54760         * modules/strtoul (Makefile.am): Likewise.
54761         * modules/strtoull (Makefile.am): Likewise.
54762         * modules/strtoumax (Makefile.am): Likewise.
54763         * modules/strverscmp (Makefile.am): Likewise.
54764         * modules/sys_socket (Makefile.am): Likewise.
54765         * modules/sys_stat (Makefile.am): Likewise.
54766         * modules/sysexits (Makefile.am): Likewise.
54767         * modules/time_r (Makefile.am): Likewise.
54768         * modules/timegm (Makefile.am): Likewise.
54769         * modules/timespec (Makefile.am): Likewise.
54770         * modules/tmpfile-safer (Makefile.am): Likewise.
54771         * modules/trim (Makefile.am): Likewise.
54772         * modules/unistd-safer (Makefile.am): Likewise.
54773         * modules/unlinkdir (Makefile.am): Likewise.
54774         * modules/unlocked-io (Makefile.am): Likewise.
54775         * modules/userspec (Makefile.am): Likewise.
54776         * modules/utime (Makefile.am): Likewise.
54777         * modules/utimecmp (Makefile.am): Likewise.
54778         * modules/utimens (Makefile.am): Likewise.
54779         * modules/vasnprintf (Makefile.am): Likewise.
54780         * modules/vasprintf (Makefile.am): Likewise.
54781         * modules/vsnprintf (Makefile.am): Likewise.
54782         * modules/xalloc (Makefile.am): Likewise.
54783         * modules/xgetcwd (Makefile.am): Likewise.
54784         * modules/xnanosleep (Makefile.am): Likewise.
54785         * modules/xreadlink (Makefile.am): Likewise.
54786         * modules/xstrtod (Makefile.am): Likewise.
54787         * modules/xstrtol (Makefile.am): Likewise.
54788         * modules/xstrtold (Makefile.am): Likewise.
54789         * modules/yesno (Makefile.am): Likewise.
54790         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
54791
54792 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
54793
54794         * modules/error (Makefile.am): Distribute files through
54795         EXTRA_DIST, not lib_SOURCES.
54796
54797 2006-10-12  Eric Blake  <ebb9@byu.net>
54798
54799         * modules/error (Makefile.am): Distribute files in /lib.
54800         * modules/obstack (Makefile.am): Likewise.
54801
54802 2006-10-12  Bruno Haible  <bruno@clisp.org>
54803
54804         * modules/acl (Makefile.am): Distribute all files in lib/ through
54805         EXTRA_DIST.
54806         * modules/arcfour (Makefile.am): Likewise.
54807         * modules/arctwo (Makefile.am): Likewise.
54808         * modules/argmatch (Makefile.am): Likewise.
54809         * modules/argz (Makefile.am): Likewise.
54810         * modules/atexit (Makefile.am): Likewise.
54811         * modules/backupfile (Makefile.am): Likewise.
54812         * modules/c-strtod (Makefile.am): Likewise.
54813         * modules/c-strtold (Makefile.am): Likewise.
54814         * modules/calloc (Makefile.am): Likewise.
54815         * modules/canon-host (Makefile.am): Likewise.
54816         * modules/canonicalize (Makefile.am): Likewise.
54817         * modules/chdir-long (Makefile.am): Likewise.
54818         * modules/chdir-safer (Makefile.am): Likewise.
54819         * modules/check-version (Makefile.am): Likewise.
54820         * modules/chown (Makefile.am): Likewise.
54821         * modules/cloexec (Makefile.am): Likewise.
54822         * modules/close-stream (Makefile.am): Likewise.
54823         * modules/closeout (Makefile.am): Likewise.
54824         * modules/crc (Makefile.am): Likewise.
54825         * modules/cycle-check (Makefile.am): Likewise.
54826         * modules/des (Makefile.am): Likewise.
54827         * modules/dirfd (Makefile.am): Likewise.
54828         * modules/dirname (Makefile.am): Likewise.
54829         * modules/dup2 (Makefile.am): Likewise.
54830         * modules/euidaccess (Makefile.am): Likewise.
54831         * modules/exclude (Makefile.am): Likewise.
54832         * modules/exitfail (Makefile.am): Likewise.
54833         * modules/fcntl-safer (Makefile.am): Likewise.
54834         * modules/file-type (Makefile.am): Likewise.
54835         * modules/fileblocks (Makefile.am): Likewise.
54836         * modules/filemode (Makefile.am): Likewise.
54837         * modules/filenamecat (Makefile.am): Likewise.
54838         * modules/fnmatch (Makefile.am): Likewise.
54839         * modules/fopen-safer (Makefile.am): Likewise.
54840         * modules/fpending (Makefile.am): Likewise.
54841         * modules/fprintftime (Makefile.am): Likewise.
54842         * modules/free (Makefile.am): Likewise.
54843         * modules/fsusage (Makefile.am): Likewise.
54844         * modules/ftruncate (Makefile.am): Likewise.
54845         * modules/fts (Makefile.am): Likewise.
54846         * modules/gc (Makefile.am): Likewise.
54847         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
54848         * modules/getaddrinfo (Makefile.am): Likewise.
54849         * modules/getcwd (Makefile.am): Likewise.
54850         * modules/getdelim (Makefile.am): Likewise.
54851         * modules/getdomainname (Makefile.am): Likewise.
54852         * modules/getgroups (Makefile.am): Likewise.
54853         * modules/gethostname (Makefile.am): Likewise.
54854         * modules/gethrxtime (Makefile.am): Likewise.
54855         * modules/getline (Makefile.am): Likewise.
54856         * modules/getloadavg (Makefile.am): Likewise.
54857         * modules/getlogin_r (Makefile.am): Likewise.
54858         * modules/getopt (Makefile.am): Likewise.
54859         * modules/getpass (Makefile.am): Likewise.
54860         * modules/getpass-gnu (Makefile.am): Likewise.
54861         * modules/getsubopt (Makefile.am): Likewise.
54862         * modules/gettime (Makefile.am): Likewise.
54863         * modules/gettimeofday (Makefile.am): Likewise.
54864         * modules/getugroups (Makefile.am): Likewise.
54865         * modules/getusershell (Makefile.am): Likewise.
54866         * modules/glob (Makefile.am): Likewise.
54867         * modules/group-member (Makefile.am): Likewise.
54868         * modules/hard-locale (Makefile.am): Likewise.
54869         * modules/hash (Makefile.am): Likewise.
54870         * modules/hmac-md5 (Makefile.am): Likewise.
54871         * modules/hmac-sha1 (Makefile.am): Likewise.
54872         * modules/human (Makefile.am): Likewise.
54873         * modules/idcache (Makefile.am): Likewise.
54874         * modules/imaxabs (Makefile.am): Likewise.
54875         * modules/imaxdiv (Makefile.am): Likewise.
54876         * modules/inet_ntop (Makefile.am): Likewise.
54877         * modules/inet_pton (Makefile.am): Likewise.
54878         * modules/inttostr (Makefile.am): Likewise.
54879         * modules/isapipe (Makefile.am): Likewise.
54880         * modules/lchown (Makefile.am): Likewise.
54881         * modules/long-options (Makefile.am): Likewise.
54882         * modules/lstat (Makefile.am): Likewise.
54883         * modules/malloc (Makefile.am): Likewise.
54884         * modules/mathl (Makefile.am): Likewise.
54885         * modules/mbchar (Makefile.am): Likewise.
54886         * modules/md2 (Makefile.am): Likewise.
54887         * modules/md4 (Makefile.am): Likewise.
54888         * modules/md5 (Makefile.am): Likewise.
54889         * modules/memcasecmp (Makefile.am): Likewise.
54890         * modules/memchr (Makefile.am): Likewise.
54891         * modules/memcmp (Makefile.am): Likewise.
54892         * modules/memcoll (Makefile.am): Likewise.
54893         * modules/memcpy (Makefile.am): Likewise.
54894         * modules/memmem (Makefile.am): Likewise.
54895         * modules/memmove (Makefile.am): Likewise.
54896         * modules/mempcpy (Makefile.am): Likewise.
54897         * modules/memrchr (Makefile.am): Likewise.
54898         * modules/memset (Makefile.am): Likewise.
54899         * modules/memxor (Makefile.am): Likewise.
54900         * modules/mkancesdirs (Makefile.am): Likewise.
54901         * modules/mkdir (Makefile.am): Likewise.
54902         * modules/mkdir-p (Makefile.am): Likewise.
54903         * modules/mkdtemp (Makefile.am): Likewise.
54904         * modules/mkstemp (Makefile.am): Likewise.
54905         * modules/mktime (Makefile.am): Likewise.
54906         * modules/modechange (Makefile.am): Likewise.
54907         * modules/mountlist (Makefile.am): Likewise.
54908         * modules/nanosleep (Makefile.am): Likewise.
54909         * modules/openat (Makefile.am): Likewise.
54910         * modules/pagealign_alloc (Makefile.am): Likewise.
54911         * modules/physmem (Makefile.am): Likewise.
54912         * modules/poll (Makefile.am): Likewise.
54913         * modules/posixtm (Makefile.am): Likewise.
54914         * modules/posixver (Makefile.am): Likewise.
54915         * modules/putenv (Makefile.am): Likewise.
54916         * modules/quote (Makefile.am): Likewise.
54917         * modules/quotearg (Makefile.am): Likewise.
54918         * modules/raise (Makefile.am): Likewise.
54919         * modules/read-file (Makefile.am): Likewise.
54920         * modules/readline (Makefile.am): Likewise.
54921         * modules/readlink (Makefile.am): Likewise.
54922         * modules/readtokens (Makefile.am): Likewise.
54923         * modules/readutmp (Makefile.am): Likewise.
54924         * modules/realloc (Makefile.am): Likewise.
54925         * modules/regex (Makefile.am): Likewise.
54926         * modules/rename (Makefile.am): Likewise.
54927         * modules/rename-dest-slash (Makefile.am): Likewise.
54928         * modules/rijndael (Makefile.am): Likewise.
54929         * modules/rmdir (Makefile.am): Likewise.
54930         * modules/rpmatch (Makefile.am): Likewise.
54931         * modules/safe-read (Makefile.am): Likewise.
54932         * modules/safe-write (Makefile.am): Likewise.
54933         * modules/same (Makefile.am): Likewise.
54934         * modules/save-cwd (Makefile.am): Likewise.
54935         * modules/savedir (Makefile.am): Likewise.
54936         * modules/setenv (Makefile.am): Likewise.
54937         * modules/settime (Makefile.am): Likewise.
54938         * modules/sha1 (Makefile.am): Likewise.
54939         * modules/sig2str (Makefile.am): Likewise.
54940         * modules/snprintf (Makefile.am): Likewise.
54941         * modules/stdlib-safer (Makefile.am): Likewise.
54942         * modules/stpcpy (Makefile.am): Likewise.
54943         * modules/stpncpy (Makefile.am): Likewise.
54944         * modules/strcase (Makefile.am): Likewise.
54945         * modules/strcasestr (Makefile.am): Likewise.
54946         * modules/strchrnul (Makefile.am): Likewise.
54947         * modules/strcspn (Makefile.am): Likewise.
54948         * modules/strdup (Makefile.am): Likewise.
54949         * modules/strerror (Makefile.am): Likewise.
54950         * modules/strftime (Makefile.am): Likewise.
54951         * modules/strndup (Makefile.am): Likewise.
54952         * modules/strnlen (Makefile.am): Likewise.
54953         * modules/strpbrk (Makefile.am): Likewise.
54954         * modules/strsep (Makefile.am): Likewise.
54955         * modules/strstr (Makefile.am): Likewise.
54956         * modules/strtod (Makefile.am): Likewise.
54957         * modules/strtoimax (Makefile.am): Likewise.
54958         * modules/strtok_r (Makefile.am): Likewise.
54959         * modules/strtol (Makefile.am): Likewise.
54960         * modules/strtoll (Makefile.am): Likewise.
54961         * modules/strtoul (Makefile.am): Likewise.
54962         * modules/strtoull (Makefile.am): Likewise.
54963         * modules/strtoumax (Makefile.am): Likewise.
54964         * modules/strverscmp (Makefile.am): Likewise.
54965         * modules/time_r (Makefile.am): Likewise.
54966         * modules/timegm (Makefile.am): Likewise.
54967         * modules/tmpfile-safer (Makefile.am): Likewise.
54968         * modules/unistd-safer (Makefile.am): Likewise.
54969         * modules/unlinkdir (Makefile.am): Likewise.
54970         * modules/userspec (Makefile.am): Likewise.
54971         * modules/utime (Makefile.am): Likewise.
54972         * modules/utimecmp (Makefile.am): Likewise.
54973         * modules/utimens (Makefile.am): Likewise.
54974         * modules/vasnprintf (Makefile.am): Likewise.
54975         * modules/vasprintf (Makefile.am): Likewise.
54976         * modules/vsnprintf (Makefile.am): Likewise.
54977         * modules/xalloc (Makefile.am): Likewise.
54978         * modules/xgetcwd (Makefile.am): Likewise.
54979         * modules/xnanosleep (Makefile.am): Likewise.
54980         * modules/xreadlink (Makefile.am): Likewise.
54981         * modules/xstrtod (Makefile.am): Likewise.
54982         * modules/xstrtol (Makefile.am): Likewise.
54983         * modules/xstrtold (Makefile.am): Likewise.
54984         * modules/yesno (Makefile.am): Likewise.
54985
54986 2006-10-12  Jim Meyering  <jim@meyering.net>
54987
54988         * m4/getloadavg.m4: Revert the change below.
54989
54990         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
54991         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
54992         fail with a symlink, which is what coreutils' ./bootstrap now
54993         creates by default.
54994
54995 2006-10-12  Bruno Haible  <bruno@clisp.org>
54996
54997         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
54998         mingw.
54999         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
55000         MSVC and mingw explicitly.
55001
55002 2006-10-11  Simon Josefsson  <jas@extundo.com>
55003             Bruno Haible  <bruno@clisp.org>
55004
55005         Add support for multiple gnulib-tool invocations in the scope of a
55006         single configure.ac file.
55007         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
55008         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
55009         with the same contents as the _LIBADD variable.
55010         (func_emit_initmacro_start, func_emit_initmacro_end,
55011         func_emit_initmacro_done): New functions.
55012         (func_import, func_create_testdir): Invoke them. Allow the identifiers
55013         gl_LIBOBJS and gl_LTLIBOBJS.
55014
55015 2006-10-11  Bruno Haible  <bruno@clisp.org>
55016
55017         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
55018         (func_create_testdir): Don't create po/Makefile.am, don't invoke
55019         autoreconf. Instead, invoke autopoint explicitly but move back the
55020         *.m4 files from gnulib.
55021
55022 2006-10-11  Bruno Haible  <bruno@clisp.org>
55023
55024         * gnulib-tool (func_usage): Make module names after --create-testdir
55025         optional.
55026         (func_create_testdir): If no module was specified, use nearly all
55027         modules.
55028
55029 2006-10-12  Jim Meyering  <jim@meyering.net>
55030
55031         Big performance improvement for fts-based tools that use FTS_NOSTAT.
55032         Avoid spurious inode-mismatch problems on non-POSIX file systems.
55033         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
55034         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
55035         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
55036         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
55037         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
55038         (fts_set_stat_required): New function.
55039         (fts_open): Defer the calls to fts_stat, if possible or requested.
55040         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
55041         into fts_stat itself.
55042         (fts_read): Perform any required (deferred) fts_stat call.
55043         (fts_build): Likewise, for the directory we're about to open and read.
55044         In the readdir loop, carefully decide whether each entry will require
55045         an eventual call to fts_stat, using dirent.d_type info if available.
55046         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
55047         a command line argument into this function.  Update all callers.
55048         Map a return value of FTS_DOT to FTS_D for a command line argument.
55049         * modules/fts (Depends-on): Add d-type.  Alphabetize.
55050         Thanks to Miklos Szeredi for his tenacity and for the initial
55051         bug report about "find" failing on a FUSE-based file system.
55052
55053         * lib/fts.c (fts_open): Use consistent indentation.
55054
55055 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
55056
55057         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
55058         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
55059         reported by Jim Meyering.  All uses of cache variables renamed
55060         to match Autoconf's.
55061         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
55062         the other one.
55063
55064         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
55065         Fix misspelling in diagnostic.
55066
55067 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55068
55069         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
55070         defined.  Problem reported by Matthew Woehlke.
55071
55072         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
55073         Add support for Tandem NonStop R series.
55074         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
55075         Use new macro.
55076
55077         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
55078         (has_trailing_slash): Omit size arg; all callers changed.
55079         Omit 'inline', since it doesn't help performance and we'd
55080         need to configure it.
55081         Don't count //, ///, etc. as having a trailing slash.
55082         As a side effect, this removes a C99ism reported by Matthew Woehlke.
55083         (rpl_rename_dest_slash): On failure, use rename's errno rather
55084         than (in some cases) an incorrect or junk errno.
55085         Simplify code by removing need to compute length; this does
55086         cause it to make two passes instead of one over the file name,
55087         but it's worth it.
55088
55089         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
55090         change, since Autoconf's version may no longer be appropriate now
55091         that we are using CVS Autoconf's version.  Add support for Tandem.
55092
55093 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55094             Bruno Haible  <bruno@clisp.org>
55095
55096         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
55097         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
55098         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
55099         gl_AC_TYPE_LONG_LONG.
55100
55101         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
55102         instead of HAVE_LONG_LONG.
55103         * lib/printf-args.c (printf_fetchargs): Likewise.
55104         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
55105         * lib/vasnprintf.c (VASNPRINTF): Likewise.
55106         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
55107         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
55108         gl_AC_TYPE_LONG_LONG.
55109
55110 2006-10-11  Bruno Haible  <bruno@clisp.org>
55111
55112         * m4/longlong.m4: Add comments.
55113         * m4/ulonglong.m4: Likewise.
55114
55115 2006-10-10  Bruno Haible  <bruno@clisp.org>
55116
55117         Make it possible to #define stpcpy, strdup to aliases.
55118         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
55119         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
55120
55121 2006-10-10  Bruno Haible  <bruno@clisp.org>
55122
55123         Make it possible to #define gcd to an alias.
55124         * lib/gcd.c: Include config.h.
55125
55126 2006-10-10  Bruno Haible  <bruno@clisp.org>
55127
55128         Make it possible to #define c_isascii to an alias.
55129         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
55130         defined. Undefine the macros before defining them, to avoid gcc
55131         warnings.
55132         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
55133         define NO_C_CTYPE_MACROS early.
55134
55135 2006-10-10  Bruno Haible  <bruno@clisp.org>
55136
55137         Make it possible to #define set_program_name to an alias.
55138         * lib/progname.c: Don't undefine set_program_name; instead, undefine
55139         ENABLE_RELOCATABLE early.
55140
55141 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55142
55143         Port to Tandem NSK OSS, which has 64-bit signed int but at most
55144         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
55145         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
55146         More generally, don't assume that 64-bit signed int is available
55147         if unsigned int is, and vice versa.
55148         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
55149         unsigned symbols, not on their signed counterparts.
55150         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
55151         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
55152         (UINT64_C, UINTMAX_C):
55153         Likewise.
55154         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
55155         unsigned counterparts.
55156         (Have_long_long, Unsigned): New macros.
55157         (Int): Renamed from INT.
55158         (strtoimax): Use the new macros.
55159         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
55160         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
55161         * modules/inttypes (inttypes.h): Substitute
55162         HAVE_UNSIGNED_LONG_LONG_INT.
55163         * modules/stdint (stdint.h): Likewise.
55164         (Files): Add m4/ulonglong.m4.
55165
55166 2006-10-10  Bruno Haible  <bruno@clisp.org>
55167
55168         Fix a gcc -Wshadow warning.
55169         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
55170         to 'bucket'.
55171         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
55172         gl_linked_indexof_from_to): Likewise.
55173         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
55174         Likewise.
55175         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
55176         Likewise.
55177         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
55178         Reported by Eric Blake.
55179
55180 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
55181
55182         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
55183         for NetBSD.  Problem reported by Bruno Haible.
55184
55185 2006-10-09  Jim Meyering  <jim@meyering.net>
55186
55187         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
55188         Patch from Bruno Haible.
55189
55190 2006-10-09  Jim Meyering  <jim@meyering.net>
55191
55192         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
55193         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
55194         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
55195
55196 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
55197
55198         Don't include <config.h> twice; this doesn't work in some cases,
55199         e.g., when config.h has "#define intmax_t long long int" and
55200         we include <config.h>, <inttypes.h>, <config.h> in that order.
55201         Problem reported by Matthew Woehlke in:
55202         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
55203         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
55204         * lib/fts-cycle.c: Don't include config.h.
55205         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
55206         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
55207         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
55208         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
55209         inttypes.h.
55210         * lib/xstrtoumax.c: Likewise.
55211         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
55212         __strtol and the like, so that this module is more like its siblings.
55213         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
55214         Remove; no longer needed now that we assume gnulib inttypes.h.
55215
55216 2006-10-08  Bruno Haible  <bruno@clisp.org>
55217
55218         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
55219         option.
55220
55221 2006-10-07  Jim Meyering  <jim@meyering.net>
55222
55223         * modules/inttypes (inttypes.h): Revert what seems to have been
55224         an inadvertent part of today's change: use "|", not "/" in the
55225         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
55226
55227 2006-10-07  Bruno Haible  <bruno@clisp.org>
55228
55229         * modules/sublist: New file.
55230
55231 2006-10-07  Bruno Haible  <bruno@clisp.org>
55232
55233         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
55234         * modules/argz (argz.h): Likewise.
55235         * modules/arpa_inet (arpa/inet.h): Likewise.
55236         * modules/byteswap (byteswap.h): Likewise.
55237         * modules/configmake (configmake.h): Likewise.
55238         * modules/fcntl (fcntl.h): Likewise.
55239         * modules/fnmatch (fnmatch.h): Likewise.
55240         * modules/getopt (getopt.h): Likewise.
55241         * modules/glob (glob.h): Likewise.
55242         * modules/inttypes (inttypes.h): Likewise.
55243         * modules/netinet_in (netinet/in.h): Likewise.
55244         * modules/poll (poll.h): Likewise.
55245         * modules/stdbool (stdbool.h): Likewise.
55246         * modules/stdint (stdint.h): Likewise.
55247         * modules/sys_select (sys/select.h): Likewise.
55248         * modules/sys_socket (sys/socket.h): Likewise.
55249         * modules/sys_stat (sys/stat.h): Likewise.
55250         * modules/sysexits (sysexits.h): Likewise.
55251         * modules/unistd (unistd.h): Likewise.
55252         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55253         Add a "DO NOT EDIT" comment to the generated file.
55254         (func_import): Likewise for gnulib-comp.m4.
55255
55256 2006-10-07  Bruno Haible  <bruno@clisp.org>
55257
55258         * lib/gl_sublist.h: New file.
55259         * lib/gl_sublist.c: New file.
55260
55261 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
55262
55263         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
55264         name (relative to the original working directory) and the file
55265         name component (relative to the temporary working directory).  All
55266         callers changed.
55267         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
55268         * lib/mkdir-p.c (make_dir_parents): Likewise.
55269         * lib/mkdir-p.h (make_dir_parents): Likewise.
55270
55271 2006-10-06  Eric Blake  <ebb9@byu.net>
55272
55273         Define several macros for use by the clean-temp module.
55274         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
55275         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
55276         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
55277
55278         * lib/clean-temp.h (close_stream_temp): New declaration.
55279         * lib/clean-temp.c (includes): Pull in headers according to what
55280         other modules are in use.
55281         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
55282
55283 2006-10-06  Bruno Haible  <bruno@clisp.org>
55284
55285         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
55286         instead of fopen, fwriteerror.
55287
55288 2006-10-06  Bruno Haible  <bruno@clisp.org>
55289
55290         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
55291         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
55292         int.
55293         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
55294         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
55295         Return an error indicator.
55296         Suggested by Eric Blake.
55297
55298 2006-10-06  Bruno Haible  <bruno@clisp.org>
55299
55300         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
55301         Reported by Eric Blake.
55302
55303 2006-10-06  Bruno Haible  <bruno@clisp.org>
55304
55305         * modules/closeout (Description): Mention stderr too.
55306
55307 2006-10-06  Bruno Haible  <bruno@clisp.org>
55308         and Paul Eggert  <eggert@cs.ucla.edu>
55309
55310         * lib/closeout.c (close_stdout): Also close stderr.
55311         * lib/closeout.h: Update comment.
55312
55313 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
55314
55315         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
55316         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
55317         * lib/dirchownmod.c: Include lchown.h.
55318         * lib/lchown.c: Don't include files that lchown.h now includes.
55319         Don't declare chown, since lchown.h now does that.
55320         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
55321         (lchown): Define to rpl_chown if lchown is declared but
55322         does not exist.  Declare using a prototype if lchown is not
55323         declared.  Add a copyright notice.
55324         * lib/mkstemp.h: Include <unistd.h>.
55325         * lib/openat.c: Include lchown.h.
55326
55327         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
55328         we now test for that separately.
55329         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
55330         rather than O_NOFOLLOW, when testing whether it's possible to
55331         avoid a race condition reliably.
55332         * lib/savewd.c (savewd_chdir): Likewise.
55333
55334         Remove macros that are no longer needed now that stdint.h is
55335         reliable.
55336         * lib/fsusage.c (UINTMAX_MAX): Remove.
55337         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
55338         * lib/utimecmp.c (SIZE_MAX): Remove.
55339
55340         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
55341
55342         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
55343         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
55344         O_NOATIME works.
55345
55346 2006-10-05  Bruno Haible  <bruno@clisp.org>
55347
55348         * lib/gl_list.h (gl_sortedlist_search_from_to,
55349         gl_sortedlist_indexof_from_to): New declarations.
55350         (gl_list_implementation): New fields sortedlist_search_from_to,
55351         sortedlist_indexof_from_to.
55352         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
55353         inline functions.
55354         * lib/gl_list.c (gl_sortedlist_search_from_to,
55355         gl_sortedlist_indexof_from_to): New functions.
55356         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
55357         function.
55358         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
55359         (gl_array_sortedlist_search_from_to): New function.
55360         (gl_array_list_implementation): Update.
55361         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
55362         function.
55363         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
55364         (gl_carray_sortedlist_search_from_to): New function.
55365         (gl_carray_list_implementation): Update.
55366         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
55367         gl_linked_sortedlist_indexof_from_to): New functions.
55368         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
55369         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
55370         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
55371         gl_tree_sortedlist_indexof_from_to): New functions.
55372         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
55373         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
55374         Update.
55375         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
55376         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
55377         Update.
55378
55379 2006-10-05  Bruno Haible  <bruno@clisp.org>
55380
55381         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
55382         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
55383         (struct gl_list_implementation): Add fields search_from_to,
55384         indexof_from_to. Remove fields search, indexof.
55385         (gl_list_search): Use the search_from_to method.
55386         (gl_list_search_from, gl_list_search_from_to): New functions.
55387         (gl_list_indexof): Use the indexof_from_to method.
55388         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
55389         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
55390         (gl_list_search_from, gl_list_search_from_to): New functions.
55391         (gl_list_indexof): Use the indexof_from_to method.
55392         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
55393         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
55394         gl_array_indexof. Add start_index, end_index arguments.
55395         (gl_array_search_from_to): Renamed from gl_array_search. Add
55396         start_index, end_index arguments.
55397         (gl_array_remove, gl_array_list_implementation): Update.
55398         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
55399         gl_carray_indexof. Add start_index, end_index arguments.
55400         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
55401         start_index, end_index arguments.
55402         (gl_carray_remove, gl_carray_list_implementation): Update.
55403         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
55404         gl_linked_search. Add start_index, end_index arguments.
55405         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
55406         start_index, end_index arguments.
55407         (gl_linked_remove): Update.
55408         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
55409         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
55410         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
55411         field to 'size_t'.
55412         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
55413         gl_tree_search. Add start_index, end_index arguments.
55414         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
55415         start_index, end_index arguments.
55416         (gl_tree_remove): Update.
55417         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
55418         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
55419         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
55420         function.
55421         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
55422         gl_tree_search. Add start_index, end_index arguments.
55423         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
55424         start_index, end_index arguments.
55425         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
55426         Update.
55427         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
55428
55429 2006-10-05  Bruno Haible  <bruno@clisp.org>
55430
55431         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
55432
55433         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
55434         fwriteerror_temp): New declarations.
55435         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
55436         (descriptors): New variable.
55437         (cleanup): First, close the descriptors.
55438         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
55439         fclose_temp, fwriteerror_temp): New functions.
55440
55441 2006-10-04  Jim Meyering  <jim@meyering.net>
55442
55443         * lib/fts.c (fts_open): Tiny comment change.
55444
55445 2006-10-04  Bruno Haible  <bruno@clisp.org>
55446
55447         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
55448         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
55449         gl_LOCK_BODY.
55450         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
55451         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
55452         gl_LOCK_EARLY_BODY.
55453         (gl_LOCK): Require gl_LOCK_BODY.
55454
55455 2006-10-04  Bruno Haible  <bruno@clisp.org>
55456
55457         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
55458         (gl_oset_search_atleast): New declaration.
55459         (struct gl_oset_implementation): Add field 'search_atleast'.
55460         (gl_oset_search_atleast): New inline function.
55461         * lib/gl_oset.c (gl_oset_search_atleast): New function.
55462         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
55463         (gl_array_oset_implementation): Update.
55464         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
55465         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
55466         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
55467
55468 2006-10-04  Bruno Haible  <bruno@clisp.org>
55469
55470         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
55471
55472 2006-10-03  Bruno Haible  <bruno@clisp.org>
55473
55474         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
55475         from gl_avltreehash_list_implementation.
55476
55477 2006-10-03  Bruno Haible  <bruno@clisp.org>
55478
55479         * lib/gl_oset.c (gl_oset_add): Fix return type.
55480
55481 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
55482
55483         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
55484
55485 2006-10-02  Eric Blake  <ebb9@byu.net>
55486
55487         * modules/strnlen (Depends-on): Add extensions.
55488
55489 2006-10-02  Eric Blake  <ebb9@byu.net>
55490
55491         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
55492         definition in 2.60+.
55493
55494 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
55495
55496         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
55497         checks.
55498
55499 2006-10-02  Bruno Haible  <bruno@clisp.org>
55500
55501         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
55502         to the AUTOMAKE_OPTIONS.
55503         Reported by Jim Meyering.
55504
55505 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
55506
55507         Work around bug in Solaris 10 /proc file system:
55508         /proc/self/fd/NNN/.. isn't the parent directory of
55509         the directory whose file descriptor is NNN.  This needs to
55510         be worked around at run time, not compile time, since a
55511         program might be built on Solaris 8, where things work, and
55512         run on Solaris 10.
55513         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
55514         to use the following interface instead:
55515         (OPENAT_BUFFER_SIZE): New macro.
55516         (openat_proc_name): New function.
55517         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
55518         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
55519         Likewise.
55520         * lib/openat-proc.c: New file.
55521         * modules/openat (Files): Add lib/openat-proc.c.
55522         (Depends-on): Add same-inode, stdbool.
55523         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
55524
55525 2006-09-29  Bruno Haible  <bruno@clisp.org>
55526
55527         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
55528         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
55529         argument. Set stdout_closed before testing for ferror, not after.
55530         (fwriteerror, fwriteerror_no_ebadf): New functions.
55531
55532 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55533
55534         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
55535
55536 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
55537
55538         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
55539         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
55540
55541 2006-09-28  Jim Meyering  <jim@meyering.net>
55542
55543         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
55544         Include <unistd.h>.
55545
55546 2006-09-28  Bruno Haible  <bruno@clisp.org>
55547
55548         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
55549         * modules/linkedhash-list (Depends-on): Likewise.
55550         * modules/rbtreehash-list (Depends-on): Likewise.
55551
55552 2006-09-28  Bruno Haible  <bruno@clisp.org>
55553
55554         * lib/strndup.h: Simplify the redefinition of strndup.
55555         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
55556         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
55557
55558 2006-09-28  Bruno Haible  <bruno@clisp.org>
55559
55560         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
55561         * lib/gl_linkedhash_list.c: Likewise.
55562         * lib/gl_rbtreehash_list.c: Likewise.
55563
55564 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
55565
55566         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
55567         getaddrinfo.
55568
55569         * lib/__fpending.h: Don't include <stdio_ext.h> unless
55570         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
55571         it causes <stdio_ext.h> to cause a compile-time error.
55572         Problem reported by Nelson H. F. Beebe.
55573         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
55574         of HAVE_DECL___PENDING.
55575
55576         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
55577         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
55578         declaration.
55579
55580 2006-09-27  Jim Meyering  <jim@meyering.net>
55581
55582         This file could end up with a definition for a function
55583         named __strndup, rather than rpl_strndup on a system with
55584         incomplete weak_alias support.
55585         * lib/strndup.c (strndup): Rename from __strndup.
55586         Remove #defines that used to map __strndup to strndup.
55587         Don't use K&R prototypes.
55588         Remove LIBC-related code, since this file is not sync'd with glibc.
55589         * lib/strndup.h: Revamp, accordingly.
55590         * m4/strndup.m4: Modernize.
55591
55592 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
55593
55594         * modules/savewd (Depends-on): Add 'raise'.
55595         * lib/savewd.c: Include <signal.h>, for 'raise'.
55596
55597 2006-09-26  Jim Meyering  <jim@meyering.net>
55598
55599         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
55600         when we detect Darwin 8.7.0's acl_get_file bug.
55601         Rearrange to perform the new (below) run-test while $LIBS
55602         contains any acl-related library.  Set USE_ACL at the end.
55603         (gl_ACL_GET_FILE): New function.
55604
55605 2006-09-26  Eric Blake  <ebb9@byu.net>
55606
55607         * lib/verror.c: Include <config.h> unconditionally.
55608
55609 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
55610
55611         * modules/clock-time (Maintainer): Add self.
55612         * modules/getlogin_r (Depends-on): Add extensions.
55613
55614 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55615
55616         * modules/clock-time: New module.
55617         * modules/nanosleep (Depends-on): Add clock-time.
55618         * modules/gethrxtime (Depends-on): Likewise.
55619         * modules/gettime (Depends-on): Likewise.
55620         * modules/settime (Depends-on): Likewise.
55621
55622         * modules/fts-lgpl: Depend on openat.
55623         * modules/mkancesdirs: Depend on savewd.
55624         * modules/mkdir-p: Likewise.
55625
55626 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55627
55628         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
55629
55630         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
55631         `gl_have_arbitrary_file_name_length_limit' to
55632         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
55633         actually works between configure runs.
55634
55635 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55636             Bruno Haible  <bruno@clisp.org>
55637
55638         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
55639
55640 2006-09-25  Jim Meyering  <jim@meyering.net>
55641
55642         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
55643         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
55644
55645 2006-09-25  Eric Blake  <ebb9@byu.net>
55646
55647         * gnulib-tool (func_import, func_create_testdir): Fix typos in
55648         exec's in 2006-09-18 patch when shuffling fds.
55649
55650 2006-09-25  Bruno Haible  <bruno@clisp.org>
55651
55652         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
55653         Reported by Jim Meyering.
55654
55655 2006-09-24  Jim Meyering  <jim@meyering.net>
55656
55657         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
55658         compare a pointer against a literal "0".  That caused failures with
55659         at least HP-UX's hpcc.
55660
55661 2006-09-22  Simon Josefsson  <jas@extundo.com>
55662
55663         * modules/gc-sha1:
55664         * modules/gc-md4:
55665         * modules/gc-hmac-sha1:
55666         * modules/gc-hmac-md5:
55667         * modules/gc-des:
55668         * modules/gc-arcfour: Distribute more files.
55669
55670 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55671
55672         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
55673         (gl_linked_iterator_from_to): Initialize struct completely.
55674         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
55675         (gl_tree_iterator_from_to): Likewise
55676         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
55677         * lib/gl_array_list.c [lint] (gl_array_iterator)
55678         (gl_array_iterator_from_to): Likewise.
55679         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
55680         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
55681         (gl_carray_iterator_from_to): Likewise.
55682
55683         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
55684         * lib/md4.c (md4_process_block): Remove unused variable.
55685         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
55686         parentheses for clarity.
55687
55688 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55689
55690         * modules/bison-i18n (Depends-on): Add gettext.
55691
55692 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55693
55694         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
55695         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
55696         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
55697         also add missing comma that caused broken test.
55698         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
55699         stdlib.h, for `abort'.
55700         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
55701         variables.
55702         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
55703         include unistd.h if present, for `rmdir'.
55704         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
55705         variables.
55706         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
55707         in the process include standard headers for prototypes.
55708         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
55709         gets declared on GNU/Linux.
55710         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
55711         unistd.h, for `rmdir'.
55712         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
55713
55714         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
55715         always true.
55716         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
55717
55718         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
55719
55720 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55721
55722         * gnulib-tool (func_version): Create output all at once.  This
55723         may help avoid triggering unnecessary SIGPIPEs, and at any
55724         rate it doesn't hurt.
55725
55726 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55727             Bruno Haible  <bruno@clisp.org>
55728
55729         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
55730         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
55731         * m4/signed.m4 (bh_C_SIGNED): Likewise.
55732
55733         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
55734         (gl_FUNC_VASPRINTF): Invoke it.
55735
55736 2006-09-22  Bruno Haible  <bruno@clisp.org>
55737
55738         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
55739         getloadavg.c as first argument.
55740
55741 2006-09-22  Bruno Haible  <bruno@clisp.org>
55742
55743         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
55744         at the beginning of the gl_INIT macro.
55745         * modules/getloadavg (configure.ac): Pass $gl_source_base to
55746         gl_GETLOADAVG.
55747
55748 2006-09-22  Bruno Haible  <bruno@clisp.org>
55749
55750         * gnulib-tool (func_create_megatestdir): Don't include the config-h
55751         module.
55752         Suggested by Ralf Wildenhues.
55753
55754 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
55755
55756         Import this patch from libc:
55757
55758         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
55759
55760         * lib/regex_internal.c (re_string_reconstruct): Handle
55761         offset < pstr->valid_raw_len && pstr->offsets_needed case.
55762         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
55763         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
55764         re_string_context_at.
55765
55766         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
55767         now requires it.
55768         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
55769         gl_REGEX now does it for us.
55770         (gl_REGEX): Add test taken from
55771         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
55772
55773         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
55774         Check that large offsets work.  Modernize Autoconf usages.
55775         Prefer "yes" to mean a good thing rather than a bad.
55776         Don't put "#define mkstemp" in config.h, as this might interfere
55777         with standard system headers that "#define mkstemp mkstemp64".
55778
55779         * modules/mkstemp (Depends-on): Add extensions, so that
55780         mkstemp is visible on some platforms.
55781         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
55782         (Include): Change to "mkstemp.h" from <stdlib.h>.
55783         (Files): Add mkstemp.h.
55784
55785         * lib/mkstemp.h: New file, since some standard headers
55786         #define mkstemp.
55787         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
55788         Include "mkstemp.h".
55789         Make the _LIBC code resemble glibc original more,
55790         e.g., use K&R style.
55791         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
55792         (mkstemp): Remove, since mkstemp.h does this for us.
55793         * lib/stdlib--.h: Include mkstemp.h.
55794
55795         Import this patch from libc:
55796
55797         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
55798
55799         * lib/tempname.c (__gen_tempname): Change attempts_min
55800         into a macro.  Use preprocessor to decide how to initialize
55801         attempts [Coverity CID 67].
55802
55803 2006-09-20  Bruno Haible  <bruno@clisp.org>
55804
55805         * lib/mkdtemp.c: Import from libc.
55806         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
55807                 * sysdeps/posix/tempname.c (__gen_tempname): Change
55808                 attempts_min into a macro.  Use preprocessor to decide how to
55809                 initialize attempts [Coverity CID 67].
55810         2001-11-27  Paul Eggert  <eggert@twinsun.com>
55811                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
55812                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
55813
55814 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55815
55816         * gnulib-tool (func_exit): New function, to allow to pass the
55817         exit status portably through the trap.  Use everywhere.
55818         (--help, --version): Signal a write error.
55819         (trap): catch SIGPIPE, for write errors.
55820         Exit at the end of the trap, with the correct exit status.
55821
55822 2006-09-19  Karl Berry  <karl@gnu.org>
55823
55824         * doc/gnulib.texi: note about the license texinfo files.
55825
55826 2006-09-19  Eric Blake  <ebb9@byu.net>
55827
55828         * gnulib-tool: Avoid space-tab.
55829
55830 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
55831
55832         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
55833         that prevented coreutils 6.1 from building.  Problem reported
55834         by Petter Reinholdtsen.
55835
55836 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
55837
55838         * gnulib-tool (avoidlist): Fix typo that broke options like
55839         --avoid=lock that are used by coreutils bootstrap.
55840
55841 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
55842
55843         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
55844         more systematically.
55845
55846 2006-09-18  Jim Meyering  <jim@meyering.net>
55847
55848         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
55849
55850 2006-09-18  Bruno Haible  <bruno@clisp.org>
55851
55852         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
55853
55854 2006-09-18  Bruno Haible  <bruno@clisp.org>
55855
55856         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
55857         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
55858         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
55859         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
55860         * m4/gettext.m4: Require autoconf >= 2.52.
55861         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
55862         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
55863         of gl_cv_header_inttypes_h.
55864
55865 2006-09-18  Bruno Haible  <bruno@clisp.org>
55866
55867         * lib/javaversion.c: Include configmake.h.
55868
55869 2006-09-18  Bruno Haible  <bruno@clisp.org>
55870
55871         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
55872         avoid that the while loops be executed in a subshell.
55873
55874 2006-09-18  Bruno Haible  <bruno@clisp.org>
55875
55876         * MODULES.html.sh (func_module): Break long lines.
55877         Suggested by Bruce Korb <bkorb@gnu.org>.
55878
55879 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55880
55881         Speed up by a factor of 1.12.
55882         * gnulib-tool (nl): New variable.
55883         (func_import): Rewrite include directive extraction to only read each
55884         directive once.
55885
55886 2006-09-17  Bruno Haible  <bruno@clisp.org>
55887
55888         * modules/javaversion (Makefile.am): Remove DEFS setting.
55889         (Depends-on): Add configmake, for PKGDATADIR definition.
55890
55891 2006-09-17  Bruno Haible  <bruno@clisp.org>
55892
55893         * gnulib-tool (func_create_testdir): Rewrite all files at once.
55894
55895 2006-09-17  Bruno Haible  <bruno@clisp.org>
55896
55897         * gnulib-tool (func_append): New function, stolen from libtool.m4.
55898         (func_modules_transitive_closure, func_modules_add_dummy,
55899         func_modules_to_filelist, func_import, func_create_testdir,
55900         func_create_megatestdir, ...): Use it wherever possible.
55901         Suggested by Ralf Wildenhues.
55902
55903 2006-09-16  Karl Berry  <karl@gnu.org>
55904
55905         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
55906         to avoid sectioning errors.
55907         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
55908         [ifinfo]: blank line after @center-ed titles.
55909         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
55910         Spell FSF address consistently with others.
55911         (These changes approved by rms.)
55912
55913 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55914
55915         Speed up by a factor of 1.61.
55916         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
55917         already checked module names again.
55918
55919 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55920
55921         Speed up by a factor of 1.13.
55922         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
55923         for new_files, and the input to func_add_or_update.
55924
55925 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55926
55927         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
55928         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
55929
55930 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
55931
55932         * modules/mkancesdirs (Depends-on): Add fcntl.
55933         * modules/savewd: New file.
55934         * MODULES.html.sh (File system functions): Add savewd.
55935
55936         * modules/configmake (Makefile.am): Add support for the
55937         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
55938
55939 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
55940
55941         * m4/savewd.m4: New file.
55942
55943 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
55944
55945         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
55946         (dirchownmod): New arg FD.  All callers changed.
55947         Use FD rather than opening the directory ourself, as opening is
55948         now the caller's responsibility.
55949         * lib/dirchownmod.h: Likewise.
55950         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
55951         hosts that require <sys/types.h> before <sys/stat.h>.  Include
55952         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
55953         (test_dir): Remove.
55954         (mkancesdirs): Return length of prefix of FILE that has already
55955         been made, or -2 if there is a child doing the work.  Redo
55956         algorithm so that it is O(N) rather than O(N**2).  Optimize away
55957         ".", and treat ".." specially since it might stray back into
55958         already-created areas.  Use a subprocess if necessary.  New arg
55959         WD; all users changed.  MAKE_DIR function should now return 1
55960         if it creates a directory that is not readable.  Return -2 if
55961         a child process is spun off.
55962         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
55963         Adjust signature to match code.
55964         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
55965         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
55966         all users changed.
55967         * lib/savewd.c, lib/savewd.h: New files.
55968
55969 2006-09-15  Jim Meyering  <jim@meyering.net>
55970
55971         * modules/rename-dest-slash: New module.
55972         * MODULES.html.sh (posix_compat): Add it here.
55973
55974         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
55975
55976 2006-09-15  Jim Meyering  <jim@meyering.net>
55977
55978         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
55979         file.
55980
55981         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
55982
55983 2006-09-15  Jim Meyering  <jim@meyering.net>
55984
55985         * lib/rename-dest-slash.c (has_trailing_slash): Use
55986         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
55987         (rpl_rename_dest_slash): Perform the cheaper trailing slash
55988         test before testing whether SRC is a directory.
55989         Suggestions from Bruno Haible.
55990
55991         Avoid a warning about an unused variable.
55992         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
55993         into the #ifdef block where it's used.
55994
55995         * lib/rename-dest-slash.c: New file.
55996
55997 2006-09-14  Bruno Haible  <bruno@clisp.org>
55998
55999         * lib/allocsa.c: Include <config.h> unconditionally.
56000         * lib/asnprintf.c: Likewise.
56001         * lib/asprintf.c: Likewise.
56002         * lib/c-strcasecmp.c: Likewise.
56003         * lib/c-strcasestr.c: Likewise.
56004         * lib/c-strncasecmp.c: Likewise.
56005         * lib/c-strstr.c: Likewise.
56006         * lib/classpath.c: Likewise.
56007         * lib/clean-temp.c: Likewise.
56008         * lib/concatpath.c: Likewise.
56009         * lib/copy-file.c: Likewise.
56010         * lib/csharpcomp.c: Likewise.
56011         * lib/csharpexec.c: Likewise.
56012         * lib/execute.c: Likewise.
56013         * lib/fatal-signal.c: Likewise.
56014         * lib/findprog.c: Likewise.
56015         * lib/fwriteerror.c: Likewise.
56016         * lib/gl_array_list.c: Likewise.
56017         * lib/gl_array_oset.c: Likewise.
56018         * lib/gl_avltree_list.c: Likewise.
56019         * lib/gl_avltree_oset.c: Likewise.
56020         * lib/gl_avltreehash_list.c: Likewise.
56021         * lib/gl_carray_list.c: Likewise.
56022         * lib/gl_linked_list.c: Likewise.
56023         * lib/gl_linkedhash_list.c: Likewise.
56024         * lib/gl_list.c: Likewise.
56025         * lib/gl_oset.c: Likewise.
56026         * lib/gl_rbtree_list.c: Likewise.
56027         * lib/gl_rbtree_oset.c: Likewise.
56028         * lib/gl_rbtreehash_list.c: Likewise.
56029         * lib/imaxabs.c: Likewise.
56030         * lib/imaxdiv.c: Likewise.
56031         * lib/javacomp.c: Likewise.
56032         * lib/javaexec.c: Likewise.
56033         * lib/javaversion.c: Likewise.
56034         * lib/linebreak.c: Likewise.
56035         * lib/localcharset.c: Likewise.
56036         * lib/lock.c: Likewise.
56037         * lib/mbchar.c: Likewise.
56038         * lib/mbswidth.c: Likewise.
56039         * lib/mkdtemp.c: Likewise.
56040         * lib/pipe.c: Likewise.
56041         * lib/printf-args.c: Likewise.
56042         * lib/printf-parse.c: Likewise.
56043         * lib/progname.c: Likewise.
56044         * lib/progreloc.c: Likewise.
56045         * lib/readlink.c: Likewise.
56046         * lib/sh-quote.c: Likewise.
56047         * lib/stpcpy.c: Likewise.
56048         * lib/stpncpy.c: Likewise.
56049         * lib/strcasecmp.c: Likewise.
56050         * lib/strcasestr.c: Likewise.
56051         * lib/strcspn.c: Likewise.
56052         * lib/striconv.c: Likewise.
56053         * lib/strncasecmp.c: Likewise.
56054         * lib/strnlen1.c: Likewise.
56055         * lib/strstr.c: Likewise.
56056         * lib/strtok_r.c: Likewise.
56057         * lib/tls.c: Likewise.
56058         * lib/tmpdir.c: Likewise.
56059         * lib/unicodeio.c: Likewise.
56060         * lib/unsetenv.c: Likewise.
56061         * lib/vasnprintf.c: Likewise.
56062         * lib/vasprintf.c: Likewise.
56063         * lib/wait-process.c: Likewise.
56064         * lib/xallocsa.c: Likewise.
56065         * lib/xsetenv.c: Likewise.
56066         * lib/xstriconv.c: Likewise.
56067
56068 2006-09-13  Simon Josefsson  <jas@extundo.com>
56069
56070         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
56071         that internally, suggested by Ralf Wildenhues
56072         <Ralf.Wildenhues@gmx.de>.
56073
56074 2006-09-13  Simon Josefsson  <jas@extundo.com>
56075
56076         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
56077         @LIBOBJS@.
56078         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56079
56080 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
56081
56082         * lib/_fpending.c: Include <config.h> unconditionally, since we no
56083         longer worry about uses that don't define HAVE_CONFIG_H.
56084         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
56085         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
56086         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
56087         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
56088         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
56089         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
56090         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
56091         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
56092         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
56093         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
56094         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
56095         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
56096         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
56097         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
56098         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
56099         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
56100         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
56101         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
56102         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
56103         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
56104         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
56105         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
56106         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
56107         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
56108         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
56109         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
56110         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
56111         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
56112         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
56113         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
56114         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
56115         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
56116         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
56117         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
56118         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
56119         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
56120         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
56121         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
56122         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
56123         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
56124         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
56125         Likewise.
56126
56127 2006-09-13  Eric Blake  <ebb9@byu.net>
56128
56129         * lib/getopt.c: Fix typo in last commit.
56130
56131 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
56132
56133         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
56134         dgettext.
56135
56136 2006-09-12  Jim Meyering  <jim@meyering.net>
56137
56138         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
56139         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
56140         Reported by Nelson H. F. Beebe.
56141
56142 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
56143
56144         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
56145         program_invocation_name and program_invocation_short_name are
56146         initialized.
56147         * lib/argp-namefrob.h: Move declarations of program_invocation_name
56148         and program_invocation_short_name to argp.h, so they are visible
56149         to user programs.
56150         * lib/argp.h: Likewise
56151
56152 2006-09-10  Bruno Haible  <bruno@clisp.org>
56153
56154         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
56155         m4/inttypes_h.m4, m4/uintmax_t.m4.
56156
56157 2006-09-10  Bruno Haible  <bruno@clisp.org>
56158
56159         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
56160         gl_AC_TYPE_UINTMAX_T.
56161
56162 2006-09-10  Bruno Haible  <bruno@clisp.org>
56163
56164         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
56165
56166 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
56167
56168         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
56169         convention.  Text proposed by Bruno Haible.
56170         (struct argp_option): Document the use of N_() wrappers.
56171
56172         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
56173         '\v', and translate the two parts separately, instead of feeding
56174         the whole string to gettext.  This allows to exclude
56175         '\v' from the strings visible to the translator by writing doc
56176         strings as N_("..") "\v" N_("..").
56177
56178 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
56179
56180         * config/srclist.txt: Undo latest change; the bug was fixed.
56181
56182 2006-09-09  Bruno Haible  <bruno@clisp.org>
56183
56184         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
56185         assignments if building a library without libtool.
56186         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
56187         in func_emit_lib_Makefile_am.
56188         (func_import): When building a static library libfoo.a, arrange to
56189         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
56190         (func_create_testdir): Likewise.
56191         * modules/gc (configure.ac, Makefile.am): If building statically,
56192         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
56193         * modules/iconvme (configure.ac, Makefile.am): Likewise.
56194         * modules/striconv (configure.ac, Makefile.am): Likewise.
56195         Based on a suggestion by Ralf Wildenhues.
56196
56197 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56198
56199         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
56200         Check for unistd.h too, since Autoconf doesn't assume POSIX.
56201         Also:
56202
56203         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56204         Add year_2050_test to catch glibc bug 2821
56205         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
56206
56207         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
56208         Prefer #ifdef to #if.
56209
56210         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
56211         Return from 'main' instead of calling 'exit'.
56212
56213 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56214
56215         * lib/mktime.c (guess_time_tm): Fix bug where mktime
56216         returned the maximum time_t value rather than (time_t) -1.
56217         Problem originally reported by William Bardwell
56218         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
56219
56220         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
56221         Moved to here ...
56222         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
56223         ... from here.
56224
56225 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56226
56227         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
56228         2821 is fixed.
56229
56230 2006-09-08  Jim Meyering  <jim@meyering.net>
56231
56232         Don't make generated files read-only.  That would bother too many
56233         people.  However, do retain the ability to work when targets are
56234         read-only: remove the destination and temporary files before writing
56235         them (when generated via sed or echo), or by using the -f option for
56236         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
56237         * modules/alloca-opt, modules/argz, modules/arpa_inet:
56238         * modules/byteswap, modules/configmake, modules/fcntl:
56239         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
56240         * modules/localcharset, modules/netinet_in, modules/poll:
56241         * modules/stdbool, modules/stdint, modules/sys_select:
56242         * modules/sys_socket, modules/sys_stat, modules/sysexits:
56243
56244 2006-09-08  Jim Meyering  <jim@meyering.net>
56245
56246         Avoid new build failure on FreeBSD 6.0.
56247         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
56248         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
56249         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
56250
56251 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56252
56253         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
56254
56255 2006-09-07  Jim Meyering  <jim@meyering.net>
56256
56257         Fix global typo in last change: use chmod u-w, not chmod u-x.
56258         Spotted by Paul Eggert and Bruce Korb.
56259         * modules/alloca-opt, modules/argz, modules/arpa_inet:
56260         * modules/byteswap, modules/configmake, modules/fcntl:
56261         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
56262         * modules/localcharset, modules/netinet_in, modules/poll:
56263         * modules/stdbool, modules/stdint, modules/sys_select:
56264         * modules/sys_socket, modules/sys_stat, modules/sysexits:
56265
56266 2006-09-06  Jim Meyering  <jim@meyering.net>
56267
56268         Make generated files be read-only.
56269         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
56270         Ensure that each generated file is now read-only.
56271         * modules/argz: Likewise.
56272         * modules/arpa_inet: Likewise.
56273         * modules/byteswap: Likewise.
56274         * modules/configmake: Likewise.
56275         * modules/fcntl: Likewise.
56276         * modules/fnmatch: Likewise.
56277         * modules/getopt: Likewise.
56278         * modules/glob: Likewise.
56279         * modules/inttypes: Likewise.
56280         * modules/netinet_in: Likewise.
56281         * modules/poll: Likewise.
56282         * modules/stdbool: Likewise.
56283         * modules/stdint: Likewise.
56284         * modules/sys_select: Likewise.
56285         * modules/sys_socket: Likewise.
56286         * modules/sys_stat: Likewise.
56287         * modules/sysexits: Likewise.
56288         * modules/localcharset: Same as above, but continue using temporary
56289         file named "t-$@" (why different?) rather than the "$@-t" used
56290         everywhere else.
56291
56292         * modules/sysexits (Makefile.am): Replace literal occurrences
56293         of "sysexit.h" more readable, and more consistent, "$@".
56294
56295 2006-09-06  Bruno Haible  <bruno@clisp.org>
56296
56297         * modules/striconv: New file.
56298         * modules/xstriconv: New file.
56299         * MODULES.html.sh (Internationalization functions): Add striconv,
56300         xstriconv.
56301
56302 2006-09-06  Bruno Haible  <bruno@clisp.org>
56303
56304         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
56305         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
56306         not using libtool correctly.
56307
56308 2006-09-06  Bruno Haible  <bruno@clisp.org>
56309
56310         * lib/striconv.h: New file.
56311         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
56312         iconvstring.c.
56313         * lib/xstriconv.h: New file.
56314         * lib/xstriconv.c: New file.
56315
56316 2006-09-06  Bruno Haible  <bruno@clisp.org>
56317
56318         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
56319         lib_..._LDFLAGS.
56320
56321 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56322
56323         * lib/argz_.h: Sync from Libtool.
56324
56325         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
56326                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
56327
56328         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
56329
56330 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
56331
56332         * modules/trim: New file.
56333
56334 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
56335
56336         * lib/trim.h: New file.
56337         * lib/trim.c: New file.
56338
56339 2006-09-05  Bruno Haible  <bruno@clisp.org>
56340
56341         * MODULES.html.sh (String handling): Add trim.
56342
56343 2006-09-04  Karl Berry  <karl@gnu.org>
56344
56345         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
56346         until next release.
56347
56348 2006-09-03  Bruno Haible  <bruno@clisp.org>
56349
56350         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
56351         correctly.
56352
56353 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56354
56355         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
56356         not gl_GETLOADAVG.  Omit unneeded semicolons.
56357         Problems reported by Ralf Wildenhues in
56358         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
56359         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
56360         at the end, which is the usual gnulib style.
56361
56362         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
56363         of doing all the work ourselves.
56364         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
56365         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
56366
56367 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56368
56369         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
56370         Problem reported by Ralf Wildenhues in
56371         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
56372
56373         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
56374         HAVE_STRUCT_STATFS_F_FSTYPENAME.
56375
56376 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56377
56378         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
56379         yesterday's patch by changing test -n to test -z.
56380
56381 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56382
56383         * modules/getloadavg (Files): Add m4/getloadavg.m4.
56384         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
56385         the former is now obsolescent.
56386
56387         * modules/chdir-long (Depends-on): Add fcntl.
56388
56389 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56390
56391         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
56392         obsolescent, and programs should use gnulib instead.
56393         * m4/getloadavg.m4: New file, with contents taken from Autoconf
56394         but with prefixes changed.
56395
56396 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56397
56398         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
56399         or stdbool.h, because they might not exist while configuring.
56400
56401         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
56402         Don't include unistd.h or limits.h; not needed, since chdir-long.h
56403         does that for us.
56404         (O_DIRECTORY): Remove.
56405
56406 2006-08-31  Eric Blake  <ebb9@byu.net>
56407
56408         * gnulib-tool: Don't let emacs change spaces to TAB.
56409
56410 2006-08-31  Bruno Haible  <bruno@clisp.org>
56411
56412         * gnulib-tool: When calling func_import more than once, do it in a
56413         subshell.
56414         Reported by Eric Blake <ebb9@byu.net>.
56415
56416 2006-08-31  Bruno Haible  <bruno@clisp.org>
56417
56418         * gnulib-tool (nl): Remove variable.
56419         (sed_transform_lib_file): Use more robust test for config-h module.
56420         (func_import): Fix typo in 2006-08-25 patch.
56421
56422 2006-08-31  Bruno Haible  <bruno@clisp.org>
56423
56424         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
56425         specified, augment Makefile.am variables instead of assigning them.
56426
56427 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
56428
56429         Work around a bug in both the Linux and SunOS 64-bit kernels:
56430         nanosleep mishandles sleeps for longer than 2**31 seconds.
56431         Problem reported by Frank v Waveren in
56432         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
56433         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
56434         Check for nanosleep bug.
56435         (LIB_NANOSLEEP): Append clock_gettime library if needed.
56436
56437 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
56438
56439         Work around a bug in both the Linux and SunOS 64-bit kernels:
56440         nanosleep mishandles sleeps for longer than 2**31 seconds.
56441         Problem reported by Frank v Waveren in
56442         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
56443         * lib/nanosleep.c (BILLION): New constant.
56444         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
56445         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
56446         implementation.
56447
56448 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
56449
56450         * modules/nanosleep (Depends-on): Add gettime.
56451
56452 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
56453         and Simon Josefsson  <jas@extundo.com>
56454         and Oskar Liljeblad  <oskar@osk.mine.nu>
56455
56456         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
56457         * gnulib-tool (func_import): New license type 'unmodifiable license
56458         text'.
56459         * modules/fdl: Use it.  Longer description.
56460         * module/gpl, module/lgpl: New files.
56461
56462 2006-08-30  Jim Meyering  <jim@meyering.net>
56463
56464         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
56465         shadowing the parameter.
56466
56467 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56468
56469         Sync from Libtool:
56470
56471         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56472
56473         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
56474         sharing with gnulib.  Report by Eric Blake.
56475
56476 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
56477
56478         * modules/isapipe: New file.
56479         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
56480
56481 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
56482
56483         * modules/configmake (Makefile.am): Add a comment, and omit
56484         the CONFIGMAKE_ prefix from generated macro names.  Suggested
56485         by Bruno Haible.
56486
56487 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
56488
56489         * m4/isapipe.m4: New file.
56490
56491 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
56492
56493         * lib/isapipe.c, lib/isapipe.h: New files.
56494
56495 2006-08-29  Jim Meyering  <jim@meyering.net>
56496
56497         * modules/configmake (Makefile.am): Make configmake.h depend on
56498         Makefile.  Otherwise, a stale configmake.h could hang around.
56499
56500 2006-08-29  Eric Blake  <ebb9@byu.net>
56501
56502         * lib/error.c (error_at_line, print_errno_message): Match libc, after
56503         resolution of upstream bug 3044.
56504
56505 2006-08-29  Bruno Haible  <bruno@clisp.org>
56506
56507         * modules/localcharset (Depends-on): Add configmake.
56508         (Makefile.am): Remove setting of LIBDIR through DEFS.
56509
56510 2006-08-29  Bruno Haible  <bruno@clisp.org>
56511
56512         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
56513         defined.
56514
56515 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
56516
56517         * modules/fcntl: New file.
56518         * modules/chdir-safer (Depends-on): Add fcntl.
56519         * modules/fts: Likewise.
56520         * modules/mkdir-p: Likewise.
56521
56522         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
56523         This undoes the most recent change, since we're now addressing the
56524         problem in a different way.
56525
56526         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
56527         into output, since the output might be called Makefile.am even
56528         if $makefile_name is something different.
56529         (func_import): Use $makefile_am rather than
56530         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
56531         empty.
56532
56533         * modules/inttypes (Files): Add m4/inttypes-h.m4.
56534
56535 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
56536
56537         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
56538         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
56539         recent change to stdint.m4, since we're now addressing the problem in a
56540         different way.
56541
56542 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
56543
56544         * m4/fcntl_h.m4: New file.
56545
56546 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
56547
56548         * lib/fcntl_.h: New file.
56549         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
56550         the fcntl module.
56551         * lib/dirchownmod.c: Likewise.
56552         * lib/fts.c: Likewise.
56553
56554         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
56555         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
56556         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
56557         just before including <inttypes.h>, to avoid circular inclusion.
56558
56559 2006-08-28  Jim Meyering  <jim@meyering.net>
56560
56561         * doc/visibility.texi: Actually read and correct the grammar of the
56562         sentence affected by yesterday's change.
56563
56564 2006-08-28  Eric Blake  <ebb9@byu.net>
56565
56566         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
56567         needs wrapper.
56568
56569 2006-08-28  Eric Blake  <ebb9@byu.net>
56570
56571         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
56572
56573 2006-08-28  Eric Blake  <ebb9@byu.net>
56574
56575         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
56576
56577 2006-08-28  Bruno Haible  <bruno@clisp.org>
56578
56579         * modules/c-strstr: New file, from GNU gettext.
56580         * MODULES.html.sh (String handling): Add c-strstr.
56581
56582 2006-08-28  Bruno Haible  <bruno@clisp.org>
56583
56584         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
56585         macros.
56586         Reported by Eric Blake.
56587
56588 2006-08-28  Bruno Haible  <bruno@clisp.org>
56589
56590         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
56591         (VASNPRINTF): Return a string of length > INT_MAX without failing.
56592         * lib/vasprintf.c: Include errno.h, limits.h.
56593         (EOVERFLOW): New fallback definition.
56594         (vasprintf): Test here whether the string length is > INT_MAX.
56595         * lib/vsnprintf.c: Include errno.h, limits.h.
56596         (EOVERFLOW): New fallback definition.
56597         (vsnprintf): Fix bug when generated string was too long for the buffer.
56598         Test here whether the string length is > INT_MAX.
56599
56600 2006-08-28  Bruno Haible  <bruno@clisp.org>
56601
56602         * lib/inttypes_.h (SCNX*): Remove definitions.
56603         Reported by Eric Blake.
56604
56605 2006-08-28  Bruno Haible  <bruno@clisp.org>
56606
56607         * lib/c-strstr.h: New file, from GNU gettext.
56608         * lib/c-strstr.c: New file, from GNU gettext.
56609
56610 2006-08-28  Bruno Haible  <bruno@clisp.org>
56611
56612         * gnulib-tool: Reorder some statements.
56613
56614 2006-08-28  Bruno Haible  <bruno@clisp.org>
56615
56616         * gnulib-tool: New option --makefile-name.
56617         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
56618         $makefile_name.
56619         (func_import): Write $makefile_name to the cache file, and read it from
56620         there unless explicitly specified. Use $makefile_name as file name
56621         instead of Makefile.am. Adjust the recommendations accordingly.
56622
56623 2006-08-28  Bruno Haible  <bruno@clisp.org>
56624
56625         * gnulib-tool (func_verify_module): Check against misapplying patch.
56626
56627 2006-08-28  Bruno Haible  <bruno@clisp.org>
56628
56629         * gnulib-tool (func_relativize, func_relconcat): New functions.
56630         Give an error if --local-dir is given with --update.
56631         Remove trailing slashes from $local_gnulib_dir.
56632         (func_import): Store the relativized $local_gnulib_dir in
56633         gnulib-cache.m4, and read it from there if not specified explicitly.
56634
56635 2006-08-28  Bruno Haible  <bruno@clisp.org>
56636
56637         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
56638         is the current directory. Respect also $local_gnulib_dir.
56639
56640 2006-08-28  Bruno Haible  <bruno@clisp.org>
56641             Simon Josefsson  <jas@extundo.com>
56642
56643         BeOS portability.
56644         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
56645
56646 2006-08-27  Jim Meyering  <jim@meyering.net>
56647
56648         * doc/visibility.texi: Remove duplicate word: "pointer".
56649
56650 2006-08-26  Bruno Haible  <bruno@clisp.org>
56651
56652         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
56653         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
56654         (Makefile.am): Create inttypes.h from inttypes_.h.
56655         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
56656
56657         * modules/imaxabs: New file.
56658
56659         * modules/imaxdiv: New file.
56660
56661 2006-08-26  Bruno Haible  <bruno@clisp.org>
56662
56663         * m4/inttypes.m4: New file.
56664         * m4/_inttypes_h.m4: Remove file.
56665         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
56666         PRI_MACROS_BROKEN.
56667         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
56668
56669         * m4/imaxabs.m4: New file.
56670
56671         * m4/imaxdiv.m4: New file.
56672
56673 2006-08-26  Bruno Haible  <bruno@clisp.org>
56674
56675         * lib/inttypes_.h: New file.
56676         * lib/inttypes.h: Remove file.
56677         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
56678
56679         * lib/imaxabs.c: New file.
56680
56681         * lib/imaxdiv.c: New file.
56682
56683 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56684
56685         New config-h module, so that "make" output needn't be cluttered
56686         by -DHAVE_CONFIG_H.
56687         * MODULES.html.sh (Support for building libraries and executables):
56688         Add config-h.
56689         * modules/config-h: New file.
56690         * gnulib-tool (nl, sed_transform_lib_file): New vars.
56691         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
56692         the config-h module is used.
56693
56694         New configmake module, so that "make" output needn't be cluttered
56695         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
56696         * MODULES.html.sh (Support for building libraries and executables):
56697         Add configmake.
56698         * modules/configmake: New file.
56699
56700 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56701
56702         * m4/config-h.m4: New file.
56703
56704 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56705
56706         * config/srclist.txt: Add elisp-comp.
56707
56708 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56709
56710         * MODULES.html.sh (Support for building libraries and executables):
56711         Add elisp-comp.
56712         * build-aux/elisp-comp: New file.
56713         * modules/elisp-comp: New file.
56714
56715 2006-08-24  Bruno Haible  <bruno@clisp.org>
56716
56717         * gnulib-tool (func_create_testdir): Use non-default values of
56718         sourcebase and m4base.
56719
56720 2006-08-24  Bruno Haible  <bruno@clisp.org>
56721
56722         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
56723         HTML structure.
56724
56725 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
56726
56727         * modules/openat (Depends-on): Add lchown.
56728
56729 2006-08-23  Bruno Haible  <bruno@clisp.org>
56730
56731         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
56732         of gl_LOCK_EARLY instead of gl_LOCK.
56733
56734 2006-08-23  Bruno Haible  <bruno@clisp.org>
56735
56736         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
56737         on OSF/1 to no.
56738         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
56739
56740 2006-08-23  Bruno Haible  <bruno@clisp.org>
56741
56742         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
56743         as unusable.
56744
56745         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
56746         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
56747         (gl_LOCK): New macro.
56748
56749 2006-08-22  Simon Josefsson  <jas@extundo.com>
56750
56751         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
56752         to md5 module.
56753
56754 2006-08-22  Simon Josefsson  <jas@extundo.com>
56755
56756         * MODULES.html.sh: Add "Support for maintaining and release
56757         projects".
56758
56759         * build-aux/gnupload: New file, from coreutils.
56760
56761 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56762
56763         Avoid the need for AC_LIBSOURCES in m4 macros.
56764         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
56765         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
56766         * modules/check-version (EXTRA_DIST): Add check-version.h.
56767         * modules/crc (EXTRA_DIST): Add crc.h.
56768         * modules/des (EXTRA_DIST): Add des.h.
56769         * modules/gc (EXTRA_DIST): Add gc.h.
56770         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
56771         * modules/getline (EXTRA_DIST): Add getline.h.
56772         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
56773         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
56774         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
56775         * modules/md2 (EXTRA_DIST): Add md2.h.
56776         * modules/md4 (EXTRA_DIST): Add md4.h.
56777         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
56778         * modules/read-file (EXTRA_DIST): Add read-file.h.
56779         * modules/readline (EXTRA_DIST): Add readline.h.
56780         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
56781         rijndael-api-fst.h.
56782
56783 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56784
56785         * m4/rijndael.m4 (gl_ARCFOUR):
56786         * m4/arctwo.m4 (gl_ARCTWO):
56787         * m4/check-version.m4 (gl_CHECK_VERSION):
56788         * m4/crc.m4 (gl_CRC):
56789         * m4/des.m4 (gl_DES):
56790         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
56791         * m4/gc.m4 (gl_GC):
56792         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
56793         * m4/getline.m4 (gl_FUNC_GETLINE):
56794         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
56795         * m4/hmac-md5.m4 (gl_HMAC_MD5):
56796         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
56797         * m4/md2.m4 (gl_MD2):
56798         * m4/md4.m4 (gl_MD4):
56799         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
56800         * m4/read-file.m4 (gl_FUNC_READ_FILE):
56801         * m4/readline.m4 (gl_FUNC_READLINE):
56802         * m4/rijndael.m4 (gl_RIJNDAEL):
56803         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
56804         to get the necessary .h files and whatnot.
56805
56806 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56807
56808         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
56809         gnulib rather than the other way around.
56810         * config/srclistvars.sh (COREUTILS): Remove.
56811
56812 2006-08-22  Jim Meyering  <jim@meyering.net>
56813
56814         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
56815
56816         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
56817
56818 2006-08-22  Eric Blake  <ebb9@byu.net>
56819
56820         * modules/regexprops-generic: New file.
56821         * MODULES.html.sh (Support for building documentation): List it.
56822
56823 2006-08-22  Eric Blake  <ebb9@byu.net>
56824
56825         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
56826         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
56827         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
56828         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
56829
56830 2006-08-22  Bruno Haible  <bruno@clisp.org>
56831
56832         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
56833         and lib_LTLIBRARIES like the other lib_* variables.
56834
56835 2006-08-22  Bruno Haible  <bruno@clisp.org>
56836
56837         * build-aux/x-to-1.in: New file, from GNU gettext.
56838
56839 2006-08-22  Bruno Haible  <bruno@clisp.org>
56840
56841         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
56842         <utmpx.h> exists.
56843
56844 2006-08-22  Bruno Haible  <bruno@clisp.org>
56845
56846         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
56847         <utmpx.h> exists.
56848
56849 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
56850
56851         BeOS portability.
56852         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
56853         exist.
56854         Problem reported by Bruno Haible.
56855
56856 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
56857
56858         Avoid the need for AC_LIBSOURCES in m4 macros.
56859         * modules/acl (EXTRA_DIST): Add acl.h.
56860         * modules/argmatch (Files): Add m4/argmatch.m4.
56861         (configure.ac): Add gl_ARGMATCH.
56862         (EXTRA_DIST): Renamed from lib_SOURCES, for
56863         consistency with the other modules.  Remove argmatch.c.
56864         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
56865         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
56866         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
56867         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
56868         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
56869         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
56870         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
56871         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
56872         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
56873         * modules/closeout (EXTRA_DIST): Add closeout.h.
56874         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
56875         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
56876         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
56877         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
56878         dirname.h; remove basename.c and stripslash.c.
56879         * modules/exclude (EXTRA_DIST): Add exclude.h.
56880         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
56881         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
56882         * modules/file-type (EXTRA_DIST): Add file-type.h.
56883         * modules/filemode (EXTRA_DIST): Add filemode.h.
56884         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
56885         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
56886         * modules/fpending (EXTRA_DIST): Add __fpending.h.
56887         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
56888         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
56889         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
56890         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
56891         * modules/getdate (EXTRA_DIST): Add getdate.c.
56892         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
56893         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
56894         * modules/getpass (EXTRA_DIST): Add getpass.h.
56895         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
56896         * modules/group-member (EXTRA_DIST): Add group-member.h.
56897         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
56898         * modules/hash (EXTRA_DIST): Add hash.h.
56899         * modules/human (EXTRA_DIST): Add human.h.
56900         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
56901         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
56902         * modules/lchown (EXTRA_DIST): Add lchown.h.
56903         * modules/long-options (EXTRA_DIST): Add long-options.h.
56904         * modules/lstat (EXTRA_DIST): Add lstat.h.
56905         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
56906         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
56907         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
56908         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
56909         * modules/memxor (EXTRA_DIST): Add memxor.h.
56910         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
56911         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
56912         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
56913         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
56914         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
56915         * modules/physmem (EXTRA_DIST): Add physmem.h.
56916         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
56917         * modules/posixver (EXTRA_DIST): Add posixver.h.
56918         * modules/quote (EXTRA_DIST): Add quote.h.
56919         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
56920         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
56921         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
56922         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
56923         regex_internal.h regexec.c.
56924         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
56925         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
56926         * modules/same (EXTRA_DIST): Add same.h.
56927         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
56928         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
56929         * modules/savedir (EXTRA_DIST): Add savedir.h.
56930         * modules/sha1 (EXTRA_DIST): Add sha1.h.
56931         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
56932         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
56933         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
56934         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
56935         * modules/strdup (EXTRA_DIST): Add strdup.h.
56936         * modules/strftime (EXTRA_DIST): Add strftime.h.
56937         * modules/strndup (EXTRA_DIST): Add strndup.h.
56938         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
56939         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
56940         * modules/time_r (EXTRA_DIST): Add time_r.h.
56941         * modules/timespec (EXTRA_DIST): Add timespec.h.
56942         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
56943         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
56944         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
56945         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
56946         * modules/userspec (EXTRA_DIST): Add userspec.h.
56947         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
56948         * modules/utimens (EXTRA_DIST): Add utimens.h.
56949         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
56950         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
56951         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
56952         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
56953         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
56954         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
56955         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
56956         * modules/yesno (EXTRA_DIST): Add yesno.h.
56957
56958 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
56959
56960         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
56961
56962         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
56963         * m4/dev-ino.m4, same-inode.m4: Remove.
56964
56965         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
56966         * m4/acl.m4 (AC_FUNC_ACL):
56967         * m4/backupfile.m4 (gl_BACKUPFILE):
56968         * m4/c-strtod.m4 (gl_C99_STRTOLD):
56969         * m4/canon-host.m4 (gl_CANON_HOST):
56970         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
56971         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
56972         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
56973         * m4/cloexec.m4 (gl_CLOEXEC):
56974         * m4/close-stream.m4 (gl_CLOSE_STREAM):
56975         * m4/closeout.m4 (gl_CLOSEOUT):
56976         * m4/dirfd.m4 (gl_FUNC_DIRFD):
56977         * m4/dirname.m4 (gl_DIRNAME):
56978         * m4/exclude.m4 (gl_EXCLUDE):
56979         * m4/exitfail.m4 (gl_EXITFAIL):
56980         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
56981         * m4/file-type.m4 (gl_FILE_TYPE):
56982         * m4/filemode.m4 (gl_FILEMODE):
56983         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
56984         * m4/fpending.m4 (gl_FUNC_FPENDING):
56985         * m4/fprintftime.m4 (gl_FPRINTFTIME):
56986         * m4/fts.m4 (gl_FUNC_FTS):
56987         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
56988         * m4/getdate.m4 (gl_GETDATE):
56989         * m4/gethrxtime.m4 (gl_GETHRXTIME):
56990         * m4/getpagesize.m4 (gl_GETPAGESIZE):
56991         * m4/getpass.m4 (gl_FUNC_GETPASS):
56992         * m4/gettime.m4 (gl_GETTIME):
56993         * m4/getugroups.m4 (gl_GETUGROUPS):
56994         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
56995         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
56996         * m4/hard-locale.m4 (gl_HARD_LOCALE):
56997         * m4/hash.m4 (gl_HASH):
56998         * m4/idcache.m4 (gl_IDCACHE):
56999         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
57000         * m4/lchown.m4 (gl_FUNC_LCHOWN):
57001         * m4/long-options.m4 (gl_LONG_OPTIONS):
57002         * m4/lstat.m4 (gl_FUNC_LSTAT):
57003         * m4/md5.m4 (gl_MD5):
57004         * m4/memcasecmp.m4 (gl_MEMCASECMP):
57005         * m4/memcoll.m4 (gl_MEMCOLL):
57006         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
57007         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
57008         * m4/memxor.m4 (gl_MEMXOR):
57009         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
57010         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
57011         * m4/modechange.m4 (gl_MODECHANGE):
57012         * m4/mountlist.m4 (gl_MOUNTLIST):
57013         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
57014         * m4/openat.m4 (gl_FUNC_OPENAT):
57015         * m4/pathmax.m4 (gl_PATHMAX):
57016         * m4/physmem.m4 (gl_PHYSMEM):
57017         * m4/posixtm.m4 (gl_POSIXTM):
57018         * m4/posixver.m4 (gl_POSIXVER):
57019         * m4/quote.m4 (gl_QUOTE):
57020         * m4/quotearg.m4 (gl_QUOTEARG):
57021         * m4/readtokens.m4 (gl_READTOKENS):
57022         * m4/readutmp.m4 (gl_READUTMP):
57023         * m4/regex.m4 (gl_REGEX):
57024         * m4/safe-read.m4 (gl_SAFE_READ):
57025         * m4/safe-write.m4 (gl_SAFE_WRITE):
57026         * m4/same.m4 (gl_SAME):
57027         * m4/save-cwd.m4 (gl_SAVE_CWD):
57028         * m4/savedir.m4 (gl_SAVEDIR):
57029         * m4/settime.m4 (gl_SETTIME):
57030         * m4/sha1.m4 (gl_SHA1):
57031         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
57032         * m4/stat-macros.m4 (gl_STAT_MACROS):
57033         * m4/stat-time.m4 (gl_STAT_TIME):
57034         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
57035         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
57036         * m4/strdup.m4 (gl_FUNC_STRDUP):
57037         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
57038         * m4/strndup.m4 (gl_FUNC_STRNDUP):
57039         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
57040         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
57041         * m4/time_r.m4 (gl_TIME_R):
57042         * m4/timespec.m4 (gl_TIMESPEC):
57043         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
57044         * m4/unlinkdir.m4 (gl_UNLINKDIR):
57045         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
57046         * m4/userspec.m4 (gl_USERSPEC):
57047         * m4/utimecmp.m4 (gl_UTIMECMP):
57048         * m4/utimens.m4 (gl_UTIMENS):
57049         * m4/xalloc.m4 (gl_XALLOC):
57050         * m4/xgetcwd.m4 (gl_XGETCWD):
57051         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
57052         * m4/xreadlink.m4 (gl_XREADLINK):
57053         * m4/xstrtod.m4 (gl_XSTRTOD):
57054         * m4/yesno.m4 (gl_YESNO):
57055         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
57056         to get the necessary .h files and whatnot.
57057
57058 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
57059             Bruno Haible  <bruno@clisp.org>
57060
57061         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
57062         /bin/sh understanding of '!' conditional negation.
57063
57064 2006-08-21  Jim Meyering  <jim@meyering.net>
57065
57066         * modules/openat (Depends-on): Really alphabetize.
57067
57068         * modules/acl (Depends-on): Add error and quote.
57069
57070         * check-module (find_included_lib_files): Add at-func.c to the
57071         ok-to-include-more-than-once white list.
57072
57073         * modules/openat (Depends-on): Add lstat.  Alphabetize.
57074
57075 2006-08-21  Bruno Haible  <bruno@clisp.org>
57076
57077         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57078         Emit a pkgdata_DATA variable only if some snippets add contents to it.
57079         Reported by Martin Lambers <marlam@marlam.de>.
57080
57081 2006-08-21  Bruno Haible  <bruno@clisp.org>
57082
57083         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
57084         specify an installation location, don't emit a noinst_LIBRARIES or
57085         noinst_LTLIBRARIES assignment.
57086
57087 2006-08-21  Bruno Haible  <bruno@clisp.org>
57088
57089         BeOS portability.
57090         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
57091         BeOS has mbrtowc() but no <wctype.h>.
57092
57093 2006-08-21  Bruno Haible  <bruno@clisp.org>
57094
57095         BeOS portability.
57096         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
57097         exist.
57098
57099 2006-08-21  Bruno Haible  <bruno@clisp.org>
57100
57101         BeOS portability.
57102         * lib/mbchar.h: Include <wctype.h> only if it exists.
57103
57104 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57105
57106         Remove files that are no longer needed by their respective modules.
57107         * m4/obstack.m4: Remove.
57108         * m4/strerror_r.m4: Remove.
57109         * m4/uint32_t.m4: Remove.
57110         * m4/uintptr_t.m4: Remove.
57111         * m4/ullong_max.m4: Remove.
57112         * m4/xstrtoimax.m4: Remove.
57113         * m4/xstrtoumax.m4: Remove.
57114
57115         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
57116         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
57117         dependencies now capture this.
57118
57119         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
57120         Do not use AC_LIBSOURCES, since gnulib modules now do this.
57121         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
57122         * m4/human.m4 (gl_HUMAN): Likewise.
57123         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
57124         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
57125
57126         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
57127
57128         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
57129         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
57130         stdint.
57131         * m4/human.m4 (gl_HUMAN): Likewise.
57132         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
57133         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
57134         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
57135         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
57136         * m4/xstrtol (gl_XSTRTOL): Likewise.
57137
57138         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
57139         AC_TYPE_LONG_LONG_INT.
57140         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
57141         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
57142         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
57143         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
57144
57145         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
57146         on stdbool.
57147
57148         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
57149         (gl_PREREQ_XSTRTOUL): Remove.
57150
57151         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
57152
57153         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
57154         mode.
57155
57156 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57157
57158         Add and change modules to make it easier for coreutils to use
57159         gnulib-tool.
57160         * modules/backupfile (Files): Remove m4/d-ino.m4.
57161         (Depends-on): Add d-ino.
57162         * modules/cycle-check (Depends-on): Add stdint.
57163         (lib_SOURCES): Add cycle-check.h.
57164         * modules/d-ino: New module.
57165         * modules/d-type: New module.
57166         * modules/error (Files): Remove m4/strerror_r.m4.
57167         * modules/filemode (Files): Add m4/st_dm_mode.m4.
57168         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
57169         m4/inttypes_h.m4, m4/uintmax_t.m4.
57170         (Depends-on): Add stdint.
57171         (lib_SOURCES): Add fsusage.h.
57172         * modules/getcwd (Files): Remove d-ino.m4.
57173         (Depends-on): Add d-ino.
57174         * modules/getndelim2 (Depends-on): Add stdint.
57175         * modules/glob (Files): Remove m4/d-type.m4.
57176         (Depends-on): Add d-type.
57177         * modules/host-os: New module.
57178         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
57179         m4/inttypes_h.m4, m4/uintmax_t.m4.
57180         * Depends-on: Add stdint.
57181         (lib_SOURCES): Add human.h.
57182         * modules/inttostr (Files): Remove m4/intmax_t.m4,
57183         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
57184         m4/uintmax_t.m4, m4/ulonglong.m4.
57185         (Depends-on): Add stdint.
57186         (EXTRA_DIST): Add inttostr.h.
57187         * modules/lchmod: New module.
57188         * modules/link-follow: New module.
57189         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
57190         (Depends-on): Add lchmod.
57191         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
57192         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
57193         (Depends-on): Add stdint.
57194         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
57195         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
57196         (Depends-on): Add stdint.
57197         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
57198         * modules/perl: New module.
57199         * modules/regex (Depends-on): Add stdint.
57200         * modules/rmdir-errno: New module.
57201         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
57202         m4/intmax_t.m4.
57203         (Depends-on): Add stdint.
57204         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
57205         m4/uintmax_t.m4.
57206         (Depends-on): Add stdint.
57207         * modules/unlink-busy: New module.
57208         * modules/utimecmp (Depends-on): Add stdint.
57209         * modules/uptime: New module.
57210         * modules/winsz-ioctl: New module.
57211         * modules/winsz-termios: New module.
57212         * modules/xnanosleep (Depends-on): Add nanosleep.
57213         * modules/ullong_max: Remove.
57214         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
57215         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
57216         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
57217         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
57218         (Depends-on): Add inttypes.
57219         (lib_SOURCES): Add xstrtol.h.
57220         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
57221         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
57222         * MODULES.html.sh: Move 'assert' into the assert section.
57223         Move 'dummy' into the linking section.
57224         Remove ullong_max.
57225         Add section for compatibility checks for POSIX:2001 functions,
57226         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
57227         winsz-ioctl, and winsz-termios into it.
57228         Add lchmod.
57229         Add top-level Misc section and put host-os, perl, and uptime
57230         into it.
57231
57232 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57233
57234         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
57235         now assume the stdint module.  Do not include inttypes.h.
57236         * lib/fsusage.h: Likewise.
57237         * lib/getndelim2.c: Likewise.
57238         * lib/human.h: Likewise.
57239         * lib/inttostr.h: Likewise.
57240         * lib/obstack.c: Likewise.
57241         * lib/regex_internal.h: Likewise.
57242         * lib/tempname.c: Likewise.
57243         * lib/utimecmp.c: Likewise.
57244         * lib/xstrtol.h: Likewise.
57245
57246         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
57247
57248         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
57249         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
57250         * lib/xtime.h: Likewise.
57251
57252 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57253
57254         * modules/openat (Files): Add lib/fchmodat.c.
57255         Fixes problem reported by Jay Youngman.
57256
57257 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57258
57259         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
57260         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
57261
57262 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
57263             Bruno Haible  <bruno@clisp.org>
57264
57265         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
57266         and is a script that invokes bison. Tighten the code. Add comments.
57267
57268 2006-08-18  Jim Meyering  <jim@meyering.net>
57269
57270         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
57271         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
57272         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
57273         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
57274
57275 2006-08-18  Bruno Haible  <bruno@clisp.org>
57276
57277         * modules/bison-i18n: New file.
57278         * MODULES.html.sh (Internationalization functions): Add it.
57279
57280 2006-08-18  Bruno Haible  <bruno@clisp.org>
57281
57282         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
57283         sys/statvfs.h. When getmntinfo was found, check its declaration and
57284         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
57285
57286 2006-08-18  Bruno Haible  <bruno@clisp.org>
57287
57288         * m4/bison-i18n.m4: New file, from bison.
57289
57290 2006-08-18  Bruno Haible  <bruno@clisp.org>
57291
57292         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
57293         (ME_DUMMY): Treat "kernfs" as a dummy.
57294         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
57295
57296 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
57297
57298         Update from coreutils.
57299
57300         2006-08-15  Jim Meyering  <jim@meyering.net>
57301
57302         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
57303
57304         2006-01-17  Jim Meyering  <jim@meyering.net>
57305
57306         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
57307
57308         2006-01-11  Jim Meyering  <jim@meyering.net>
57309
57310         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
57311         Check for the lchmod function.
57312
57313 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
57314
57315         Update from coreutils.
57316
57317         * lib/__fpending.h: Add copyright notice.
57318         * lib/fprintftime.h: Likewise.
57319         * lib/savedir.c: Use (C) in copyright notice.
57320         * lib/savedir.h: Likewise.
57321
57322         2006-08-15  Jim Meyering  <jim@meyering.net>
57323
57324         * lib/at-func.c: New file, with the logic of all emulated at-functions.
57325         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
57326         in support of the EXPECTED_ERRNO macro.
57327         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
57328         definitions.  Instead, define the appropriate symbols and include
57329         "at-func.c".
57330         * lib/mkdirat.c (mkdirat): Likewise.
57331         * lib/fchmodat.c (fchmodat): Likewise.
57332         (ENOSYS): Remove definition.
57333         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
57334         it.  Don't include "unistd--.h" -- it wasn't ever used.
57335
57336         2006-01-17  Jim Meyering  <jim@meyering.net>
57337
57338         Rewrite fts.c not to change the current working directory,
57339         by using openat, fstatat, fdopendir, etc..
57340
57341         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
57342         (HAVE_OPENAT_SUPPORT): Define.
57343         [_LIBC] (fchdir): Don't undef or define; no longer used.
57344         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
57345         Now, this `function' always succeeds, and consumes its file descriptor
57346         parameter -- so callers must not close such FDs.  Update callers.
57347         (diropen_fd, opendirat, cwd_advance_fd): New functions.
57348         (diropen): Add parameter, SP.  Adjust all callers.
57349         Implement using diropen_fd, rather than open.
57350         (fts_open): Initialize new member, fts_cwd_fd.
57351         Remove fts_rft-setting code.
57352         (fts_close): Close fts_cwd_fd, if necessary.
57353         (__opendir2): Define in terms of opendir or opendirat,
57354         depending on whether the FST_NOCHDIR flag is set.
57355         (fts_build): Since fts_safe_changedir consumes its FD, and since
57356         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
57357         and close the dup'd file descriptor upon failure.
57358         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
57359         (fts_safe_changedir): Tweak semantics to reflect that this function
57360         now calls cwd_advance_fd and hence consumes its FD argument.
57361         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
57362         [struct FTS] (fts_rft): Remove now-unused member.
57363         [struct FTS] (fts_cycle.state): Improve comment.
57364
57365         * lib/openat.c (openat_needs_fchdir): New function.
57366         * lib/openat.h (openat_needs_fchdir): Declare it.
57367
57368 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
57369
57370         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
57371         Problem and fix reported by Pádraig Brady in
57372         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
57373
57374 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57375
57376         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
57377
57378 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57379
57380         * lib/memcoll.c (memcoll): Optimize for the common case where the
57381         arguments are bytewise equal.
57382
57383 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57384
57385         * doc/regexprops-generic.texi: Add a copyright notice.
57386
57387 2006-08-15  Bruno Haible  <bruno@clisp.org>
57388
57389         * modules/tmpdir (License): Change to LGPL.
57390
57391 2006-08-15  Bruno Haible  <bruno@clisp.org>
57392
57393         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
57394         module.
57395
57396 2006-08-14  Simon Josefsson  <jas@extundo.com>
57397
57398         * config/srclist.txt: Add gnupload.
57399
57400 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57401
57402         Change copyright notice from LGPL 2 to GPL 2, since that's the
57403         standard form used in the gnulib repository.
57404         * tests/test-lock.c: Likewise.
57405         * tests/test-stdint.c: Likewise.
57406         * tests/test-tls.c: Likewise.
57407
57408         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
57409         prelude-manager.  User shorter URLs for GNU projects, without '?'.
57410         Add copyright notice.
57411
57412         * check-module: Add copyright notice.  Output a copyright
57413         notice if "--version" is specified.
57414         * modules/COPYING: New file.
57415         * tests/test-getaddrinfo.c: Add copyright notice.
57416         * tests/test-verify.c: Likewise.
57417
57418 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57419
57420         Change copyright notice from LGPL 2 to GPL 2, since that's the
57421         standard form used in the gnulib repository.
57422         * lib/lock.c: LGPL -> GPL.
57423         * lib/lock.h: Likewise.
57424         * lib/strnlen1.c: Likewise.
57425         * lib/strnlen1.h: Likewise.
57426         * lib/tls.c: Likewise.
57427         * lib/tls.h: Likewise.
57428         * lib/tmpdir.c: Likewise.
57429
57430         * lib/TODO: Remove; this belongs only in coreutils.
57431
57432 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57433
57434         Add copyright notices to long-enough files that lack them, since
57435         otherwise the files aren't clearly free.  Use the same notice that
57436         getdate.texi already uses.
57437         * doc/alloca-opt.texi: Add copyright notice.
57438         * doc/alloca.texi: Likewise.
57439         * doc/ctime.texi: Likewise.
57440         * doc/functions.texi: Likewise.
57441         * doc/gcd.texi: Likewise.
57442         * doc/gnulib-tool.texi: Likewise.
57443         * doc/inet_ntoa.texi: Likewise.
57444         * doc/visibility.texi: Likewise.
57445
57446         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
57447         * doc/quote.texi: Add copyright notice.
57448
57449         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
57450         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
57451         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
57452         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
57453         is now obsolete, and give a pointer to the Sun list.
57454         Add copyright notice.
57455
57456 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57457
57458         * config/srclistvars.sh: Add copyright notice.
57459
57460 2006-08-14  Eric Blake  <ebb9@byu.net>
57461
57462         Import the following change from libc:
57463
57464         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
57465
57466         Upstream bug 2997.
57467         * lib/misc/error.c: Add space between program name and message if file
57468         name is missing.
57469
57470 2006-08-12  Karl Berry  <karl@gnu.org>
57471
57472         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
57473         remove, these originate in gnulib now.
57474
57475 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57476
57477         * doc/Makefile (standards.info standards.html standards.dvi):
57478         Also depend on make-stds.texi.
57479
57480 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
57481
57482         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
57483         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
57484
57485         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
57486         in wchar_t.  Problem reported by Eric Blake.
57487
57488         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
57489         LEN is smaller than SIZE.  Suggested by Bruno Haible.
57490         Also, help the compiler to keep LEN in a register.
57491
57492 2006-08-11  Eric Blake  <ebb9@byu.net>
57493
57494         * users.txt: Sort.  Add tar.
57495
57496 2006-08-11  Bruno Haible  <bruno@clisp.org>
57497
57498         * users.txt: New file.
57499
57500 2006-08-11  Bruno Haible  <bruno@clisp.org>
57501
57502         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
57503         before <wchar.h>. Needed for OSF/1 and BSD/OS.
57504
57505 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
57506
57507         * modules/snprintf (Depends-on): Remove minmax.
57508         (Maintainer): Add self and Bruno.
57509
57510 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
57511
57512         * lib/.cppi-disable: Add snprintf.h, socket_.h.
57513         * lib/snprintf.c: Include <errno.h> and <limits.h>.
57514         (EOVERFLOW): Define if the system does not.
57515         Do not include "minmax.h"; it wasn't used.
57516         (snprintf): Don't assume size_t promotes to an unsigned type.
57517         Fix bug when generated string was too long for the buffer: the
57518         buffer's contents are supposed to be the initial prefix of the
57519         output.  Don't assume vasnprintf returns EOVERFLOW if the size
57520         exceeds INT_MAX; do the check ourselves.
57521
57522         Import the following changes from libc:
57523
57524         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
57525
57526         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
57527         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
57528         set wc to the byte which couldn't be converted.
57529         (re_string_reconstruct): Don't clear valid_raw_len before calling
57530         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
57531         tip_context using re_string_context_at.
57532
57533         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
57534
57535         * lib/posix/regex.h: g++ still cannot handled [restrict].
57536
57537         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
57538
57539         * lib/posix/regex.h: Remove special handling for VMS.
57540
57541 2006-08-10  Jim Meyering  <jim@meyering.net>
57542
57543         * modules/same-inode: New module.
57544         * modules/dev-ino: New module.
57545         * modules/cycle-check: Depend on these modules, rather than simply
57546         including their .h files.
57547         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
57548         required via m4/cycle-check.m4.
57549         * modules/same: Depend on new same-inode module, rather than
57550         including same-inode.h.
57551         * modules/chdir-safer: New file.
57552
57553         * modules/chown (Depends-on): Add stat-macros.
57554
57555 2006-08-10  Jim Meyering  <jim@meyering.net>
57556
57557         * m4/cycle-check.m4: New file.
57558         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
57559         * m4/dev-ino.m4, m4/same-inode.m4: New files.
57560
57561 2006-08-10  Eric Blake  <ebb9@byu.net>
57562
57563         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
57564         in from original proposal.
57565
57566 2006-08-10  Eric Blake  <ebb9@byu.net>
57567         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
57568
57569         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
57570         namespace.
57571
57572 2006-08-10  Bruno Haible  <bruno@clisp.org>
57573
57574         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
57575         as well.
57576
57577 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57578
57579         Sync from coreutils.
57580
57581         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
57582
57583         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
57584         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
57585
57586 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57587
57588         * modules/restrict: Remove; no longer needed now that we assume
57589         Autoconf 2.59 or later.
57590         * MODULES.html.sh: Remove 'restrict'.
57591         * modules/argp (Depends-on): Remove 'restrict'.
57592         * modules/base64 (Depends-on): Likewise.
57593         * modules/gc (Depends-on): Likewise.
57594         * modules/getaddrinfo (Depends-on): Likewise.
57595         * modules/glob (Depends-on): Likewise.
57596         * modules/inet_ntop (Depends-on): Likewise.
57597         * modules/inet_pton (Depends-on): Likewise.
57598         * modules/memxor (Depends-on): Likewise.
57599         * modules/regex (Depends-on): Likewise.
57600         * modules/strtok_r (Depends-on): Likewise.
57601         * modules/time_r (Depends-on): Likewise.
57602
57603 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57604
57605         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
57606         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
57607         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
57608         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
57609         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
57610         * m4/memxor.m4 (gl_MEMXOR): Likewise.
57611         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
57612         gl_C_RESTRICT replaced by AC_C_RESTRICT.
57613
57614         Merge from coreutils.
57615         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
57616         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
57617         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
57618         * m4/time_r.m4 (gl_TIME_R): Likewise.
57619
57620 2006-08-09  Karl Berry  <karl@gnu.org>
57621
57622         * config/srclist.txt: no more gettext-tools, per Bruno.
57623
57624 2006-08-08  Eric Blake  <ebb9@byu.net>
57625
57626         * modules/verror: New module.
57627         * MODULES.html.sh: Document it.
57628
57629 2006-08-08  Eric Blake  <ebb9@byu.net>
57630
57631         * lib/verror.h, lib/verror.c: New files.
57632
57633 2006-08-08  Eric Blake  <ebb9@byu.net>
57634
57635         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
57636         verror_at_line output complies with GNU Coding Standards even when
57637         file is NULL.
57638
57639 2006-08-07  Bruno Haible  <bruno@clisp.org>
57640
57641         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
57642         versions of AIX.
57643         Reported by Ralf Wildenhues.
57644
57645 2006-08-07  Bruno Haible  <bruno@clisp.org>
57646
57647         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
57648         in an AC_DEFUN. Needed so that the autoconf snippets can use
57649         AC_REQUIRE.
57650
57651 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57652
57653         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57654         Initialize pkgdata_DATA.
57655         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
57656         overriding it.
57657
57658 2006-08-06  Eric Blake  <ebb9@byu.net>
57659
57660         * lib/error.h: Fold in some upstream changes from glibc.
57661         * lib/error.c: Likewise.
57662
57663 2006-08-04  Bruno Haible  <bruno@clisp.org>
57664
57665         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57666         Make the mostlyclean-local rule depend on mostlyclean-generic.
57667         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
57668
57669 2006-07-31  Bruno Haible  <bruno@clisp.org>
57670
57671         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
57672         <stdlib.h>, <string.h>.
57673
57674 2006-07-30  Bruno Haible  <bruno@clisp.org>
57675
57676         * modules/readlink (License): Change to LGPL.
57677
57678 2006-07-30  Bruno Haible  <bruno@clisp.org>
57679
57680         * modules/javaversion (Makefile.am): Distribute javaversion.java and
57681         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
57682         set PKGDATADIR to point to it.
57683
57684 2006-07-30  Bruno Haible  <bruno@clisp.org>
57685
57686         * modules/csharpexec (configure.ac): Comment out macro invocation.
57687         * modules/javaexec (configure.ac): Likewise.
57688         * modules/javacomp-script (configure.ac): Likewise.
57689
57690         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
57691
57692 2006-07-30  Bruno Haible  <bruno@clisp.org>
57693
57694         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
57695         linked-list.
57696
57697 2006-07-30  Bruno Haible  <bruno@clisp.org>
57698
57699         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
57700
57701 2006-07-30  Bruno Haible  <bruno@clisp.org>
57702
57703         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57704         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
57705         get removed.
57706
57707 2006-07-29  Bruno Haible  <bruno@clisp.org>
57708
57709         Make it possible for gnulib-tool to work with locally modified or
57710         augmented gnulib repositories.
57711         * gnulib-tool (func_usage): Document --local-dir option.
57712         (local_gnulib_dir): New variable.
57713         Handle --local-dir option.
57714         (func_lookup_file): New function.
57715         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
57716         (func_get_description, func_get_filelist, func_get_description,
57717         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
57718         func_get_automake_snippet, func_get_include_directive,
57719         func_get_license, func_get_maintainer): Use func_lookup_file.
57720         (func_import, func_create_testdir): Use func_lookup_file.
57721
57722 2006-07-29  Bruno Haible  <bruno@clisp.org>
57723
57724         * modules/setenv (Depends-on): Add unistd.
57725
57726 2006-07-29  Bruno Haible  <bruno@clisp.org>
57727
57728         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
57729
57730 2006-07-29  Bruno Haible  <bruno@clisp.org>
57731
57732         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
57733
57734 2006-07-29  Bruno Haible  <bruno@clisp.org>
57735
57736         * gnulib-tool (import, update): If there is no Makefile.am, look at
57737         aclocal.m4, instead of bailing out.
57738
57739 2006-07-29  Bruno Haible  <bruno@clisp.org>
57740
57741         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
57742         Categorize the options by when they are useful.
57743
57744 2006-07-29  Bruno Haible  <bruno@clisp.org>
57745
57746         * gnulib-tool (func_usage): Document option --no-libtool.
57747         Handle option --no-libtool.
57748         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
57749         for changed semantics of $libtool variable.
57750         (func_import): Likewise. If libtool is not used, show this through
57751         an option --no-libtool.
57752         (func_create_testdir): Update.
57753
57754 2006-07-29  Bruno Haible  <bruno@clisp.org>
57755
57756         * gnulib-tool (func_import): Extend error message about missing
57757         --doc-base.
57758
57759 2006-07-29  Bruno Haible  <bruno@clisp.org>
57760
57761         * gnulib-tool (func_import): Don't create the $docbase directory if
57762         there is no file to store there.
57763
57764 2006-07-29  Bruno Haible  <bruno@clisp.org>
57765
57766         * gnulib-tool (autoconf_minversion): If a --dir option is given and
57767         relevant, look for configure.ac there, not in the current directory.
57768         Also use a simple search for AC_PREREQ, not "autoconf --trace".
57769
57770 2006-07-29  Bruno Haible  <bruno@clisp.org>
57771
57772         * gnulib-tool (SORT): New variable.
57773         (func_usage): Undocument --assume-autoconf option.
57774         Remove --assume-autoconf option handling.
57775         (autoconf_minversion): Determine from the contents of configure.ac.
57776         (func_import): Remove autoconf_minversion handling.
57777         Suggested by Eric Blake.
57778
57779 2006-07-29  Bruno Haible  <bruno@clisp.org>
57780
57781         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
57782
57783 2006-07-29  Bruno Haible  <bruno@clisp.org>
57784
57785         * config/srclist.txt (*setenv.[ch]): Remove rules.
57786
57787 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57788
57789         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
57790
57791 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57792
57793         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
57794         arpa/inet.h.
57795
57796 2006-07-28  Simon Josefsson  <jas@extundo.com>
57797
57798         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
57799         * modules/inet_pton (Depends-on): Likewise.
57800
57801 2006-07-28  Simon Josefsson  <jas@extundo.com>
57802
57803         * m4/netinet_in_h.m4: New file.
57804
57805 2006-07-28  Simon Josefsson  <jas@extundo.com>
57806
57807         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
57808         #include's.
57809
57810 2006-07-28  Simon Josefsson  <jas@extundo.com>
57811
57812         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
57813         #include's.
57814
57815 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
57816
57817         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
57818         setgid on directories only if they set these bits.
57819         * lib/modechange.h: Remove obsolete comment about masks.
57820
57821 2006-07-28  Eric Blake  <ebb9@byu.net>
57822
57823         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
57824         macro expansion.
57825
57826 2006-07-28  Bruno Haible  <bruno@clisp.org>
57827
57828         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
57829
57830 2006-07-28  Bruno Haible  <bruno@clisp.org>
57831
57832         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
57833
57834 2006-07-28  Bruno Haible  <bruno@clisp.org>
57835
57836         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
57837         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
57838         Define fallbacks.
57839         Avoids link error on FreeBSD 4.x.
57840         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57841
57842         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
57843         encoding.
57844         * lib/mbswidth.c (iswcntrl): Likewise.
57845
57846 2006-07-27  Bruno Haible  <bruno@clisp.org>
57847
57848         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
57849         test.
57850
57851 2006-07-27  Bruno Haible  <bruno@clisp.org>
57852
57853         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
57854         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
57855         defined.
57856
57857 2006-07-26  Eric Blake  <ebb9@byu.net>
57858
57859         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
57860
57861 2006-07-26  Eric Blake  <ebb9@byu.net>
57862
57863         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
57864         like mingw that lack mkstemp.
57865         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
57866         avoid compilation warning on mingw.
57867
57868 2006-07-26  Bruno Haible  <bruno@clisp.org>
57869
57870         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
57871         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
57872         INT_FAST*_MIN, INTPTR_MIN.
57873
57874 2006-07-25  Bruno Haible  <bruno@clisp.org>
57875
57876         * modules/version-etc (Depends-on): Add stdarg.
57877
57878 2006-07-25  Bruno Haible  <bruno@clisp.org>
57879
57880         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
57881         complex commands.
57882
57883 2006-07-25  Bruno Haible  <bruno@clisp.org>
57884
57885         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
57886         defined in <stdarg.h> or config.h.
57887
57888 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
57889
57890         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
57891         (gl_STDIO_SAFER): Remove.
57892
57893 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
57894
57895         * MODULES.html.sh (File stream based Input/Output):
57896         Add fopen-safer, tmpfile-safer; remove stdio-safer.
57897         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
57898         * modules/fopen-safer, modules/tmpfile-safer: New files.
57899         * modules/stdio-safer: Remove.
57900
57901 2006-07-24  Bruno Haible  <bruno@clisp.org>
57902
57903         * modules/tmpdir: New file.
57904         * MODULES.html.sh (File system functions): Add it.
57905
57906 2006-07-24  Bruno Haible  <bruno@clisp.org>
57907
57908         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
57909         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
57910
57911 2006-07-24  Bruno Haible  <bruno@clisp.org>
57912
57913         * modules/clean-temp: New file.
57914
57915 2006-07-24  Bruno Haible  <bruno@clisp.org>
57916
57917         * m4/tmpdir.m4: New file, from GNU gettext.
57918
57919 2006-07-24  Bruno Haible  <bruno@clisp.org>
57920
57921         * lib/tmpdir.h: New file, from GNU gettext.
57922         * lib/tmpdir.c: New file, from GNU gettext.
57923
57924 2006-07-24  Bruno Haible  <bruno@clisp.org>
57925
57926         * lib/clean-temp.h: New file, from GNU gettext.
57927         * lib/clean-temp.c: New file, from GNU gettext.
57928
57929 2006-07-23  Eric Blake  <ebb9@byu.net>
57930
57931         * modules/stdio-safer (Files): Add tmpfile-safer.c.
57932         (Depends-on): Add binary-io.
57933
57934 2006-07-23  Eric Blake  <ebb9@byu.net>
57935
57936         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
57937
57938 2006-07-23  Eric Blake  <ebb9@byu.net>
57939
57940         * lib/tmpfile-safer.c: New file.
57941         * lib/stdio-safer.h (fopen_safer): Add prototype.
57942         * lib/stdio--.h (tmpfile): Make safer.
57943
57944 2006-07-23  Bruno Haible  <bruno@clisp.org>
57945
57946         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
57947         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
57948         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
57949         gl_linked_remove_at): Use it.
57950
57951 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57952         and Simon Josefsson <jas@extundo.com>
57953
57954         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
57955
57956         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
57957
57958 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
57959
57960         * modules/close-stream: New file.
57961         * modules/closeout (Description): Make it clear that it exits
57962         with a diagnostic on error.
57963         (Depends-on): Add close-stream.  Remove fpending, stdbool.
57964         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
57965
57966 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
57967
57968         * m4/close-stream.m4: New file.
57969
57970 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
57971
57972         * lib/close-stream.c, lib/close-stream.h: New files.
57973
57974 2006-07-22  Bruno Haible  <bruno@clisp.org>
57975
57976         Merge from GNU gettext 0.15.
57977
57978         2006-05-01  Bruno Haible  <bruno@clisp.org>
57979
57980                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
57981
57982         2006-07-22  Bruno Haible  <bruno@clisp.org>
57983
57984                 * modules/javaversion: New file.
57985                 * MODULES.html.sh (Java): Add javaversion.
57986
57987         2006-03-12  Bruno Haible  <bruno@clisp.org>
57988
57989                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
57990
57991         2005-12-04  Bruno Haible  <bruno@clisp.org>
57992
57993                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
57994                 (untested).
57995
57996         2006-06-21  Bruno Haible  <bruno@clisp.org>
57997
57998                 Avoid warnings from recent versions of mcs.
57999                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
58000                 -o, -L, -r any more. Use options documented since mcs-1.0
58001                 instead. Similarly for -g.
58002
58003         2005-12-04  Bruno Haible  <bruno@clisp.org>
58004
58005                 * build-aux/csharpcomp.sh.in: Suffix for resources is
58006                 .resources, not .resource.
58007
58008         2005-07-09  Bruno Haible  <bruno@clisp.org>
58009
58010                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
58011                 add a .dll suffix.
58012                 Reported by Mark Junker <mjscod@gmx.de>.
58013
58014         2006-07-22  Bruno Haible  <bruno@clisp.org>
58015
58016                 * modules/gettext: Upgrade to gettext-0.15.
58017                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
58018                 m4/visibility.m4.
58019                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
58020
58021 2006-07-22  Bruno Haible  <bruno@clisp.org>
58022
58023         Merge from GNU gettext 0.15.
58024
58025         2006-03-25  Bruno Haible  <bruno@clisp.org>
58026
58027                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
58028
58029         2006-07-21  Bruno Haible  <bruno@clisp.org>
58030
58031                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
58032                 "1.1".
58033
58034         2006-05-09  Bruno Haible  <bruno@clisp.org>
58035
58036                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
58037                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
58038                 for the conftestver execution.
58039
58040         2006-05-01  Bruno Haible  <bruno@clisp.org>
58041
58042                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
58043                 optional target-version argument. Verify that the compiler
58044                 groks source of the specified source-version, or add -source
58045                 option as necessary. Verify that the compiler produces
58046                 bytecode in the specified target-version, or add -target and
58047                 -source options as necessary. Make the result of the test
58048                 available as variable CONF_JAVAC. Also log error output in
58049                 config.log.
58050
58051         2006-03-11  Bruno Haible  <bruno@clisp.org>
58052
58053                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
58054
58055         2006-05-09  Bruno Haible  <bruno@clisp.org>
58056
58057                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
58058                 CLASSPATH_SEPARATOR to a semicolon.
58059
58060         2006-03-12  Bruno Haible  <bruno@clisp.org>
58061
58062                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
58063                 available as variable CONF_JAVA, for subsequent autoconf
58064                 tests. Also log error output in config.log.
58065
58066         2006-07-19  Bruno Haible  <bruno@clisp.org>
58067
58068                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
58069                 that getline works on glibc2 systems. Needed to avoid trouble
58070                 in relocatable.c.
58071                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
58072
58073         2005-12-04  Bruno Haible  <bruno@clisp.org>
58074
58075                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
58076                 launcher (untested).
58077
58078         2005-12-04  Bruno Haible  <bruno@clisp.org>
58079
58080                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
58081
58082         2006-07-22  Bruno Haible  <bruno@clisp.org>
58083
58084                 * gettext.m4: Update from GNU gettext-0.15.
58085                 * nls.m4: Likewise.
58086                 * po.m4: Likewise.
58087                 * inttypes-pri.m4: Likewise.
58088                 * inttypes-h.m4: Renamed from inttypes.m4.
58089                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
58090
58091 2006-07-22  Bruno Haible  <bruno@clisp.org>
58092
58093         Merge from GNU gettext 0.15.
58094
58095         2005-07-05  Bruno Haible  <bruno@clisp.org>
58096
58097                 * printf-args.c (printf_fetchargs): Work around broken
58098                 definition of wint_t on mingw.
58099
58100         2005-02-12  Bruno Haible  <bruno@clisp.org>
58101
58102                 * xallocsa.h: Add extern "C" for C++.
58103
58104         2006-05-17  Bruno Haible  <bruno@clisp.org>
58105
58106                 Cygwin portability.
58107                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
58108
58109         2006-04-30  Bruno Haible  <bruno@clisp.org>
58110
58111                 * progreloc.c: Include <mach-o/dyld.h> if available.
58112                 (find_executable): Use _NSGetExecutablePath when possible.
58113
58114         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
58115
58116                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
58117                 function.
58118
58119         2005-12-29  Bruno Haible  <bruno@clisp.org>
58120
58121                 * progreloc.c (set_program_name_and_installdir): Fix
58122                 compilation error.
58123
58124         2005-12-04  Bruno Haible  <bruno@clisp.org>
58125
58126                 Cygwin portability.
58127                 * progreloc.c: Include <windows.h> also on Cygwin.
58128                 (find_executable): Add support for Cygwin.
58129                 (set_program_name_and_installdir): Handle also platforms with
58130                 nonempty EXEEXT.
58131
58132         2006-07-11  Bruno Haible  <bruno@clisp.org>
58133
58134                 * javacomp.c: Fix a comment.
58135                 Reported by Jim Meyering.
58136
58137         2006-04-30  Bruno Haible  <bruno@clisp.org>
58138
58139                 * javacomp.h (compile_java_class): Add source_version,
58140                 target_version arguments.
58141                 * javacomp.c: Rewritten to choose only a compiler that
58142                 respects the specified source_version and target_version.
58143
58144         2006-06-27  Bruno Haible  <bruno@clisp.org>
58145
58146                 Assume correct S_ISDIR macro.
58147                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
58148
58149         2006-07-22  Bruno Haible  <bruno@clisp.org>
58150
58151                 * javaversion.h: New file, from GNU gettext.
58152                 * javaversion.c: New file, from GNU gettext.
58153                 * javaversion.java: New file, from GNU gettext.
58154                 * javaversion.class: New file, from GNU gettext.
58155
58156         2006-05-17  Bruno Haible  <bruno@clisp.org>
58157
58158                 Cygwin portability.
58159                 * javaexec.c (execute_java_class): Test for jview program
58160                 also on Cygwin.
58161
58162         2006-04-09  Bruno Haible  <bruno@clisp.org>
58163
58164                 * fatal-signal.c: Don't include string.h.
58165                 (at_fatal_signal): Use a copying loop instead of memcpy.
58166
58167         2005-12-04  Bruno Haible  <bruno@clisp.org>
58168
58169                 * csharpexec.c: Add support for 'clix' launcher (untested).
58170                 (execute_csharp_using_sscli): New function.
58171                 (execute_csharp_program): Call it.
58172
58173         2006-06-21  Bruno Haible  <bruno@clisp.org>
58174
58175                 Avoid warnings from recent versions of mcs.
58176                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
58177                 -o, -L, -r any more. Use options documented since mcs-1.0
58178                 instead. Similarly for -g.
58179
58180         2005-07-09  Bruno Haible  <bruno@clisp.org>
58181
58182                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
58183                 add a .dll suffix.
58184                 Reported by Mark Junker <mjscod@gmx.de>.
58185
58186         2006-06-17  Bruno Haible  <bruno@clisp.org>
58187
58188                 * config.charset: Update for NetBSD 3.0.
58189
58190         2006-05-17  Bruno Haible  <bruno@clisp.org>
58191
58192                 Cygwin portability.
58193                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
58194
58195         2006-05-16  Bruno Haible  <bruno@clisp.org>
58196
58197                 * localcharset.c [CYGWIN]: Include <windows.h>.
58198                 (get_charset_aliases): For Cygwin, return the same CPxxx
58199                 aliases list as under WIN32.
58200                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
58201                 the environment variables. Fall back to GetACP().
58202
58203         2006-04-05  Bruno Haible  <bruno@clisp.org>
58204
58205                 * config.charset: Update Juan Manuel Guerrero's address.
58206
58207         2005-02-12  Bruno Haible  <bruno@clisp.org>
58208
58209                 * allocsa.h: Add extern "C" for C++.
58210
58211         2005-02-10  Bruno Haible  <bruno@clisp.org>
58212
58213                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
58214                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
58215
58216         2006-07-22  Bruno Haible  <bruno@clisp.org>
58217
58218                 * gettext.h: Update to GNU gettext-0.15.
58219
58220 2006-07-22  Bruno Haible  <bruno@clisp.org>
58221
58222         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
58223         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
58224         lib-prefix.m4, longdouble.m4, ssize_t.m4.
58225
58226 2006-07-21  Eric Blake  <ebb9@byu.net>
58227
58228         * modules/stdlib-safer: New file.
58229         * MODULES.html.sh (File stream based Input/Output): Add
58230         stdlib-safer.
58231
58232 2006-07-21  Eric Blake  <ebb9@byu.net>
58233
58234         * lib/stdlib-safer.h: New file from coreutils, required by
58235         stdlib--.h.
58236
58237 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
58238
58239         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
58240
58241 2006-07-20  Bruno Haible  <bruno@clisp.org>
58242
58243         * gnulib-tool: Recognize new option --assume-autoconf.
58244         (autoconf_minversion): New variable.
58245         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
58246
58247 2006-07-20  Bruno Haible  <bruno@clisp.org>
58248
58249         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
58250
58251 2006-07-19  Derek R. Price  <derek@ximbiot.com>
58252
58253         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
58254         Reindent and repaginate.
58255
58256 2006-07-19  Derek Price  <derek@ximbiot.com>
58257
58258         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
58259         Correct grammar.
58260
58261 2006-07-17  Bruno Haible  <bruno@clisp.org>
58262
58263         * modules/list: New file.
58264         * modules/array-list: New file.
58265         * modules/carray-list, modules/carray-list-tests: New files.
58266         * modules/linked-list, modules/linked-list-tests: New files.
58267         * modules/avltree-list, modules/avltree-list-tests: New files.
58268         * modules/rbtree-list, modules/rbtree-list-tests: New files.
58269         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
58270         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
58271         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
58272         * modules/oset: New file.
58273         * modules/array-oset: New file.
58274         * modules/avltree-oset, modules/avltree-oset-tests: New files.
58275         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
58276         * tests/test-carray_list.c: New file.
58277         * tests/test-linked_list.c: New file.
58278         * tests/test-avltree_list.c: New file.
58279         * tests/test-rbtree_list.c: New file.
58280         * tests/test-linkedhash_list.c: New file.
58281         * tests/test-avltreehash_list.c: New file.
58282         * tests/test-rbtreehash_list.c: New file.
58283         * tests/test-avltree_oset.c: New file.
58284         * tests/test-rbtree_oset.c: New file.
58285         * MODULES.html.sh (Container data structures): New section.
58286
58287 2006-07-17  Bruno Haible  <bruno@clisp.org>
58288
58289         * m4/gl_list.m4: New file.
58290
58291 2006-07-17  Bruno Haible  <bruno@clisp.org>
58292
58293         * lib/gl_list.h: New file.
58294         * lib/gl_list.c: New file.
58295         * lib/gl_array_list.h: New file.
58296         * lib/gl_array_list.c: New file.
58297         * lib/gl_carray_list.h: New file.
58298         * lib/gl_carray_list.c: New file.
58299         * lib/gl_linked_list.h: New file.
58300         * lib/gl_linked_list.c: New file.
58301         * lib/gl_anylinked_list1.h: New file.
58302         * lib/gl_anylinked_list2.h: New file.
58303         * lib/gl_avltree_list.h: New file.
58304         * lib/gl_avltree_list.c: New file.
58305         * lib/gl_anyavltree_list1.h: New file.
58306         * lib/gl_anyavltree_list2.h: New file.
58307         * lib/gl_rbtree_list.h: New file.
58308         * lib/gl_rbtree_list.c: New file.
58309         * lib/gl_anyrbtree_list1.h: New file.
58310         * lib/gl_anyrbtree_list2.h: New file.
58311         * lib/gl_anytree_list1.h: New file.
58312         * lib/gl_anytree_list2.h: New file.
58313         * lib/gl_linkedhash_list.h: New file.
58314         * lib/gl_linkedhash_list.c: New file.
58315         * lib/gl_anyhash_list1.h: New file.
58316         * lib/gl_anyhash_list2.h: New file.
58317         * lib/gl_avltreehash_list.h: New file.
58318         * lib/gl_avltreehash_list.c: New file.
58319         * lib/gl_rbtreehash_list.h: New file.
58320         * lib/gl_rbtreehash_list.c: New file.
58321         * lib/gl_anytreehash_list1.h: New file.
58322         * lib/gl_anytreehash_list2.h: New file.
58323
58324         * lib/gl_oset.h: New file.
58325         * lib/gl_oset.c: New file.
58326         * lib/gl_array_oset.h: New file.
58327         * lib/gl_array_oset.c: New file.
58328         * lib/gl_avltree_oset.h: New file.
58329         * lib/gl_avltree_oset.c: New file.
58330         * lib/gl_rbtree_oset.h: New file.
58331         * lib/gl_rbtree_oset.c: New file.
58332         * lib/gl_anytree_oset.h: New file.
58333
58334 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
58335
58336         * m4/mkancesdirs.m4: New file.
58337         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
58338         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
58339         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
58340         it.
58341
58342 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
58343
58344         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
58345         * lib/mkancesdirs.h: New files.
58346         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
58347         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
58348         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
58349         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
58350         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
58351         callers changed.  Revamp internals significantly, by not
58352         attempting to create directories that are temporarily more
58353         permissive than the final results.  Do not attempt to use
58354         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
58355         This removes some race conditions, fixes some bugs, and simplifies
58356         things.  Use new dirchownmod function to do owner and mode changes.
58357         * lib/mkdir-p.h: Likewise.
58358         * lib/modechange.c (octal_to_mode): New function.
58359         (struct mode_change): New member mentioned.
58360         (make_node_op_equals): New arg mentioned.  All callers changed.
58361         (mode_compile): Keep track of which mode bits the user has explicitly
58362         mentioned.
58363         (mode_adjust): New arg DIR, so that we implement the X op correctly.
58364         New arg PMODE_BITS, to keep track of which mode bits the user
58365         mentioned; it treats S_ISUID and S_ISGID speciall.
58366         All callers changed.
58367         * lib/modechange.h: Likewise.
58368
58369 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
58370
58371         * MODULES.html.sh: Add mkancestors.
58372         * modules/mkancesdirs: New module.
58373         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
58374         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
58375         The chdir-safer and afs files are now orphans; I'll remove them
58376         unless someone speaks up.
58377         Add lib/dirchownmod.c, lib/dirchownmod.h.
58378         (Depends-on): Remove alloca, chown, save-cwd, dirname.
58379         Add lchown, mkancesdirs.
58380         (Maintainer): Add self.
58381
58382 2006-07-15  Karl Berry  <karl@gnu.org>
58383
58384         * gnulib-tool: help message wording/arrangement.
58385
58386 2006-07-14  Simon Josefsson  <jas@extundo.com>
58387
58388         * doc/gnulib.texi (Libtool and Windows): New section.
58389
58390 2006-07-12  Simon Josefsson  <jas@extundo.com>
58391
58392         * modules/gendocs (License): Fix license, approved by Karl.
58393
58394 2006-07-12  Eric Blake  <ebb9@byu.net>
58395
58396         * MODULES.html.sh: Add gendocs.
58397
58398 2006-07-11  Eric Blake  <ebb9@byu.net>
58399
58400         * modules/fdl: New module, to install doc/fdl.texi.
58401         * MODULES.html.sh: Add new section for documentation modules.
58402         * gnulib-tool: Avoid space-tab.
58403         (--doc-base): New option, to manage files from doc.
58404
58405 2006-07-11  Eric Blake  <ebb9@byu.net>
58406
58407         * m4/absolute-header.m4: Fix comments to match recent change.
58408
58409 2006-07-11  Eric Blake  <ebb9@byu.net>
58410
58411         * gnulib-tool: List --doc-base before --tests-base.
58412
58413 2006-07-11  Derek R. Price  <derek@ximbiot.com>
58414
58415         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
58416
58417 2006-07-11  Bruno Haible  <bruno@clisp.org>
58418
58419         * README: Mention where to put documentation.
58420
58421 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58422
58423         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
58424
58425 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
58426
58427         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
58428         to stdint.m4.
58429
58430 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
58431
58432         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
58433         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
58434         "no/such/file/stdint.h" when there is no such file, so that
58435         the resulting C code can be parsed by dodgy compilers.
58436         Problems reported by Bob Proulx.
58437
58438 2006-07-10  Derek R. Price  <derek@ximbiot.com>
58439
58440         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
58441         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
58442         macros into the GNU _D_EXACT_NAMLEN.
58443         * lib/savedir.c:  Likewise.
58444         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
58445
58446 2006-07-10  Derek R. Price  <derek@ximbiot.com>
58447         and Paul Eggert  <eggert@cs.ucla.edu>
58448
58449         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
58450         * m4/savedir.m4:
58451         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
58452         macros into the GNU _D_EXACT_NAMLEN.
58453
58454 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58455
58456         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
58457         around the absolute name, to work around a problem with the HP-UX
58458         11.23 native C compiler, reported by Bob Proulx.
58459
58460 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58461
58462         * doc/maintain.texi, make-stds.texi: Sync from
58463         <http://savannah.gnu.org/projects/gnustandards>.
58464
58465 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58466
58467         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
58468
58469 2006-07-09  Jim Meyering  <jim@meyering.net>
58470
58471         * m4/glob.m4: Remove a doubled word in a comment.
58472
58473 2006-07-09  Jim Meyering  <jim@meyering.net>
58474
58475         * lib/argp-pv.c: Remove a doubled word in a comment.
58476         * lib/check-version.c (check_version): Likewise.
58477         * lib/javacomp.c (compile_java_class): Likewise.
58478
58479 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
58480
58481         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
58482         for the benefit of people using Autoconf 2.60.  If you want to
58483         support older Autoconf versions you can copy m4/onceonly_2_57.m4
58484         (or m4/onceonly.m4, if pre-2.57) manually.
58485
58486 2006-07-08  Jim Meyering  <jim@meyering.net>
58487
58488         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
58489         comment.
58490         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
58491         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
58492         comment.
58493
58494 2006-07-08  Jim Meyering  <jim@meyering.net>
58495
58496         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
58497
58498 2006-07-07  Simon Josefsson  <jas@extundo.com>
58499
58500         * tests/test-crc.c: Change expected crc value, the test vector
58501         were probably computed using the old broken crc.c?
58502
58503 2006-07-06  Simon Josefsson  <jas@extundo.com>
58504
58505         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
58506         now the canonical place for the M4 file).
58507
58508         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
58509         from the sys_socket dependency now.
58510
58511         * modules/inet_pton (Files): Ditto.
58512
58513         * modules/inet_ntop (Files): Ditto.
58514
58515 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
58516
58517         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
58518         not gl_PREREQ_GETUSERSHELL.
58519
58520 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58521
58522         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
58523         with only one argument, for Autoconf 2.60.
58524         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
58525         expand to nothing, so add a shell command to avoid syntax error.
58526         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
58527
58528 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58529
58530         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
58531
58532 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
58533
58534         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
58535         no longer needed.  Check for isblank decl.
58536         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
58537         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
58538         of existence.
58539
58540 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
58541
58542         * lib/getloadavg.c: Use __VMS, not VMS.
58543         * lib/getopt.c: Likewise.
58544         * lib/getpagesize.h: Likewise.
58545         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
58546         and probably does not work.
58547
58548 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
58549
58550         * lib/.cppi-disable: Add wcwidth.
58551         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
58552         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
58553         (ISGRAPH): Remove.  All uses changed to isgraph.
58554         (FOLD) [!defined _LIBC]: Remove special case.
58555         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
58556         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
58557         HAVE_ISBLANK.
58558         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
58559         case.
58560
58561 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
58562
58563         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
58564         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
58565         brackets.  Other minor changes to suppress some compiler
58566         warnings.
58567
58568 2006-07-06  Derek R. Price  <derek@ximbiot.com>
58569         and Paul Eggert  <eggert@cs.ucla.edu>
58570
58571         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
58572         of invoking obsolescent AC_HEADER_DIRENT macro.
58573         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
58574         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
58575         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
58576         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
58577         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
58578         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
58579         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
58580         * m4/readdir.m4: Remove; no longer needed.
58581
58582 2006-07-06  Derek R. Price  <derek@ximbiot.com>
58583         and Paul Eggert  <eggert@cs.ucla.edu>
58584
58585         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
58586         Don't worry about this obsolete case any more.
58587         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
58588         directories.
58589         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
58590         worry about this obsolete case any more.
58591         * lib/fts.c: Likewise.
58592         * lib/getcwd.c: Likewise.
58593         * lib/glob.h: Likewise.
58594         * lib/savedir.c: Likewise.
58595
58596 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
58597
58598         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
58599         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
58600         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
58601         needed.
58602         All uses removed.
58603         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
58604         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
58605         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
58606         needed.
58607         * m4/getdate.m4 (gl_GETDATE): Likewise.
58608         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
58609         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
58610         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
58611         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
58612         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
58613         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
58614         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
58615         needed.
58616
58617 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
58618
58619         * lib/memcasecmp.c: Include <limits.h>.
58620         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
58621         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
58622         Don't assume isdigit succeeds only on '0' through '9'.
58623
58624 2006-07-05  Eric Blake  <ebb9@byu.net>
58625
58626         * modules/getaddrinfo (Depends-on): Add snprintf.
58627
58628 2006-07-05  Eric Blake  <ebb9@byu.net>
58629
58630         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
58631         to avoid 'header present but could not be compiled' on cygwin.
58632
58633 2006-07-05  Eric Blake  <ebb9@byu.net>
58634
58635         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
58636         missing from netdb.h.
58637         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
58638
58639 2006-07-05  Derek R. Price  <derek@ximbiot.com>
58640
58641         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
58642         no longer needed.
58643         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
58644         * m4/getdate.m4 (gl_GETDATE): Likewise.
58645         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
58646         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
58647         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
58648         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
58649         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
58650
58651 2006-07-05  Derek R. Price  <derek@ximbiot.com>
58652
58653         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
58654         All uses of is_space replaced by isspace.
58655         * lib/exit.h: Don't talk about STDC_HEADERS.
58656         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
58657         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
58658         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
58659         replaced by isprint etc.
58660         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
58661         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
58662         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
58663         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
58664         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
58665         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
58666
58667 2006-07-05  Bruno Haible  <bruno@clisp.org>
58668
58669         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
58670         the function exists, before testing against AIX.
58671         Reported by Martin Lambers <marlam@marlam.de>.
58672
58673 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
58674
58675         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
58676         From Mark D. Baushke.
58677
58678 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
58679
58680         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
58681         to the absolute name, not just one, to bypass Sun C 5.8's
58682         "warning: #include of /usr/include/... may be non-portable".
58683
58684 2006-07-04  Eric Blake  <ebb9@byu.net>
58685
58686         * modules/dirname-tests: New test module.
58687         * tests/test-dirname.c: New file, replacing dirname.c
58688         TEST_DIRNAME section that was recently deleted.
58689
58690 2006-07-04  Bruno Haible  <bruno@clisp.org>
58691
58692         Assume ANSI C header files and <ctype.h> functions.
58693         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
58694         (mbsnwidth): Use isprint, iscntrl instead.
58695
58696 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
58697
58698         Merge from coreutils.
58699         * MODULES.html.sh: Add xstrtold.
58700         * modules/xstrtold: New file.
58701         * modules/cycle-check (Files): Add lib/same-inode.h.
58702         * modules/dirname (Files): Add m4/double-slash-root.m4.
58703         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
58704         * modules/mkdir-p (Files): Add lib/same-inode.h.
58705         * modules/same (Files): Add lib/same-inode.h.
58706
58707 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
58708
58709         * m4/absolute-header.m4: Renamed from full-header-path.m4.
58710         This is to keep the terminology clean; POSIX talks about
58711         "absolute pathnames", not "full pathnames", but the GNU
58712         Coding Standards say to use "path" for something else;
58713         so use "absolute" to keep both sides happy.
58714         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
58715         Set gl_absolute_header, not gl_full_header_path.
58716         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
58717         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
58718         All uses changed.
58719
58720         Merge from coreutils.
58721
58722         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
58723
58724         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
58725         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
58726         want to require the building of c-strtod.o.
58727         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
58728         needs -lm directly.
58729         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
58730
58731         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
58732
58733         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
58734         --as-needed option if available.  Problem reported by Albert Chin in
58735         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
58736         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
58737         cc merely issues a bunch of annoying warnings for --as-needed
58738         (this problem was reported by Bob Proulx).  Also, try linking with
58739         -lm to detect a bug in binutils 2.16 (this problem was reported
58740         by Ralf Wildenhues).
58741
58742         2006-06-18  Jim Meyering  <jim@meyering.net>
58743
58744         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
58745         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
58746         macro.
58747         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
58748         also check for glibc-2.4's abort-inducing bug.
58749
58750         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
58751         Low-probability clean-up should be to use rmdir to get rid of
58752         the just-created directory, not unlink.
58753
58754         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
58755         configure fail, and request a bug report to inform us about it.
58756         Add a comment that, barring reports to the contrary, in 2007 we'll
58757         assume ftruncate is universally available.
58758
58759         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
58760
58761         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
58762
58763         2006-03-12  Jim Meyering  <jim@meyering.net>
58764
58765         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
58766         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
58767         * m4/same.m4 (gl_SAME): Likewise.
58768         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
58769
58770         2006-03-11  Eric Blake  <ebb9@byu.net>
58771
58772         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
58773         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
58774         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
58775         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
58776
58777 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
58778
58779         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
58780         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
58781         reported by Mark D. Baushke, one in
58782         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
58783
58784         Merge from coreutils.
58785
58786         * lib/.cppi-disable: Add stdint_.h.
58787         * lib/.cvsignore: Add stdint.h.
58788
58789         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
58790
58791         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
58792         both double and long double versions.
58793         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
58794         * lib/xstrtold.c: New file.
58795         * lib/xstrtod.h (xstrtold): New decl.
58796
58797         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
58798
58799         * lib/filemode.c (setst): Remove.
58800         (strmode): Rewrite to avoid setst.  This makes the code shorter,
58801         (arguably) clearer, and the generated code is a bit smaller on my
58802         Debian GNU/Linux stable x86 host.
58803
58804         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
58805
58806         * lib/filemode.c: Include "filemode.h" first, to test the interface.
58807         Assume that filemode.h includes sys/types.h and sys/stat.h.
58808         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
58809         (ftypelet): Reorder to put common cases first, for efficiency.
58810         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
58811         to do 'M'.
58812         (strmode): Renamed from mode_string, and now stores 12 bytes instead
58813         of 10, for compatibility with FreeBSD.  All callers changed.
58814         (filemodestring): Now stores 12 bytes instead of 10, and sets file
58815         types that can't be deduced solely from st_mode.  First arg is now a
58816         const pointer.
58817         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
58818         (strmode): Renamed from mode_string.
58819         (filemodestring): New decl.
58820         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
58821         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
58822         needed.
58823         (S_ISPORT, S_ISWHT): New macros, if not already defined.
58824
58825         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
58826
58827         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
58828         fsusage.h now does that.  Include fsusage.h first, to test interface.
58829         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
58830         at most one method (the old code could have generated decls that
58831         didn't conform to C89, not that this was ever exercised).
58832         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
58833
58834         2006-03-19  Jim Meyering  <jim@meyering.net>
58835
58836         Work even in a chroot where d_ino values for entries in "/"
58837         don't match the stat.st_ino values for the same names.
58838         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
58839         number, iterate through all entries again, using lstat instead.
58840         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
58841         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
58842
58843         * lib/getcwd.c (__getcwd): Clarify a comment.
58844         Use memcpy in place of a call to strcpy.
58845
58846         2006-03-12  Jim Meyering  <jim@meyering.net>
58847
58848         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
58849         matches that of the current directory (which we're about to chdir ".."
58850         out of), then save the dev-ino of the parent, instead.
58851
58852         * lib/same-inode.h (SAME_INODE): New file/macro.
58853         * lib/chdir-safer.c (SAME_INODE): Remove definition.
58854         Include "same-inode.h", instead.
58855         * lib/same.c: Likewise.
58856         * lib/cycle-check.h: Include "same-inode.h".
58857         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
58858         * lib/cycle-check.c (SAME_INODE): Remove definition.
58859         * lib/root-dev-ino.h: Include "same-inode.h".
58860
58861         2006-03-11  Eric Blake  <ebb9@byu.net>
58862
58863         * lib/same.c (same_name): s/base_name/last_component/
58864         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
58865         * lib/filenamecat.c (file_name_concat): Likewise.
58866
58867         2006-03-11  Eric Blake  <ebb9@byu.net>,
58868                     Paul Eggert  <eggert@cs.ucla.edu>
58869
58870         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
58871         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
58872         drive prefix.
58873         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
58874         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
58875         (last_component): New method.
58876         * lib/dirname.c (dir_len): Determine when drive letters need a
58877         subsequent slash.  Preserve // when it is special.
58878         (dir_name): Don't append dot when drive letter is absolute.
58879         [TEST_DIRNAME]: Move into a full-blown gnulib test.
58880         * lib/basename.c (base_name): New semantics - malloc the result.
58881         Preserve // when it is special.  Preserve relative files that look
58882         like drive letters.
58883         (base_len): Preserve // when it is special.
58884         (last_component): New method, similar to old base_name semantics.
58885         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
58886         base_name.  Strip redundant slashes from ///.
58887
58888 2006-07-03  Jim Meyering  <jim@meyering.net>
58889
58890         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
58891         macro is used before the first cycle_check call.
58892
58893 2006-07-03  Eric Blake  <ebb9@byu.net>
58894
58895         * modules/dirname (Depends-on): Add xstrndup.
58896
58897 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
58898
58899         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
58900         test cases, so that config.log is a bit easier to follow.
58901
58902 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
58903
58904         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
58905         both are 64 bits, since this seems to be the tradition, and this
58906         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
58907         we ever run into a host that prefers long long to long in this
58908         case, we'll need another configure-time test.  Problem reported by
58909         Jim Meyering.
58910
58911 2006-07-02  Eric Blake  <ebb9@byu.net>
58912
58913         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
58914
58915 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
58916
58917         * modules/inttypes (Depends-on): No longer depends on stdint.
58918         * modules/stdint (Description): Say more about assumptions.
58919         Say that the fast types might differ.  Say macros are used.
58920         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
58921         (Makefile.am): Revise list of substituted symbols to match
58922         new stdint.m4.
58923         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
58924         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
58925         * tests/test-stdint.c (verify_same_types)
58926         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
58927         the code conforms to C99/C89.
58928         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
58929         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
58930
58931 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
58932
58933         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
58934         but fix a bug, by requiring at least 64 bits.
58935         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
58936         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
58937         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
58938         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
58939
58940         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
58941         changes.  Make 2.59 a prerequisite.  Check and substitute for
58942         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
58943         inttypes.h.  Do not use special include files; just use the
58944         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
58945         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
58946         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
58947         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
58948         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
58949         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
58950         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
58951         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
58952         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
58953         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
58954         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
58955         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
58956         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
58957         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
58958         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
58959         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
58960         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
58961         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
58962         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
58963         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
58964         WINT_MAX.  Check for C99 conformance more strictly, by detecting
58965         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
58966         not check for things that C99 does not require, e.g., int8_t.  If
58967         a test isn't needed unless <stdint.h> isn't working, and is
58968         unlikely to be needed for any other reason, then don't do it
58969         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
58970         size_t, since we assume C89 freestanding at least.  Do not check
58971         for sig_atomic_t, wchar_t, or wint_t, since the code now does
58972         the right thing even if the types are not defined.  Instead use:
58973         (gl_STDINT_TYPE_PROPERTIES): New macro.
58974         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
58975         testing whether <sys/types.h> clashes, as Autoconf does this for
58976         us now.  All uses removed.
58977         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
58978         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
58979         (gl_CHECK_TYPE_SAME):
58980         Remove; no longer needed.
58981         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
58982         exists, since we'll return 0 anyway in that case.
58983         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
58984
58985 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
58986
58987         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
58988         possible collision with system files.
58989         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
58990         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
58991         WCHAR_MIN and WCHAR_MAX in this case.
58992         (<stddef.h>): Do not include; no longer needed.
58993         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
58994         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
58995         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
58996         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
58997         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
58998         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
58999         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
59000         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
59001         !defined(__c99))]: Include in this case too, since it's harmless
59002         now.
59003         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
59004         dangerous to do so.
59005         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
59006         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
59007         (_STDINT_MIN, _STDINT_MAX): New macros.
59008         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
59009         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
59010         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
59011         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
59012         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
59013         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
59014         macros, not typedefs; this simplifies things quite a bit.
59015         Use long int for all types narrower than int64_t.
59016         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
59017         Define in terms of long long int or int64_t or long int,
59018         not int64_t or int32_t.  This saves some compile-time testing.
59019         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
59020         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
59021         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
59022         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
59023         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
59024         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
59025         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
59026         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
59027         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
59028         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
59029         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
59030         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
59031         undef any previous version and define our own version, for
59032         simplicity and consistency with the new macros for types.
59033         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
59034         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
59035         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
59036         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
59037         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
59038         @WINT_T_SUFFIX@ to keep things simple here.
59039         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
59040         Simplify by assuming typical 8/16/32/64 host, since we're
59041         already doing that elsewhere anyway.
59042         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
59043         and assume long long int is 64 bits if available.  This
59044         speeds up 'configure'.
59045
59046 2006-07-01  Eric Blake  <ebb9@byu.net>
59047
59048         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
59049         Reported by Andreas Buening.
59050
59051 2006-07-01  Eric Blake  <ebb9@byu.net>
59052
59053         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
59054
59055 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
59056
59057         * lib/getaddrinfo.c: fixed typo
59058
59059 2006-06-29  Jim Meyering  <jim@meyering.net>
59060
59061         * modules/strftime (Maintainer): Add my name, since with the
59062         FPRINTFTIME changes strftime.c has forked from glibc.
59063
59064 2006-06-29  Eric Blake  <ebb9@byu.net>
59065
59066         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
59067
59068 2006-06-29  Eric Blake  <ebb9@byu.net>
59069
59070         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
59071
59072 2006-06-29  Eric Blake  <ebb9@byu.net>
59073
59074         * lib/stat_.h: New file.
59075
59076 2006-06-29  Eric Blake  <ebb9@byu.net>
59077
59078         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
59079         unused static function.
59080
59081 2006-06-29  Eric Blake  <ebb9@byu.net>
59082
59083         * doc/functions.texi (Function Portability): Document missing lstat
59084         on mingw.
59085
59086 2006-06-29  Eric Blake  <ebb9@byu.net>
59087
59088         * MODULES.html.sh: Add sys_stat.
59089         * modules/sys_stat: New module.
59090         * modules/mkstemp (Depends-on): Add sys_stat.
59091
59092 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59093
59094         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
59095
59096 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59097
59098         * m4/c-bs-a.m4: Removed.
59099
59100 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59101
59102         * lib/strftime.c: Assume strftime() exists.
59103
59104 2006-06-29  Derek Price  <derek@ximbiot.com>
59105
59106         * modules/c-bs-a: Removed - \a is C89.
59107         * MODULES.html.sh: Remove c-bs-a.
59108
59109 2006-06-29  Bruno Haible  <bruno@clisp.org>
59110
59111         * modules/wcwidth (License): Change to LGPL.
59112
59113 2006-06-28  Simon Josefsson  <jas@extundo.com>
59114
59115         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
59116         on _WIN32.
59117
59118         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
59119         getnameinfo.
59120
59121 2006-06-28  Simon Josefsson  <jas@extundo.com>
59122
59123         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
59124
59125 2006-06-28  Simon Josefsson  <jas@extundo.com>
59126
59127         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
59128         functions there.  It will succeed on Windows XP, but on Windows
59129         2000 and (presumably) earlier, it will fail, and use the internal
59130         re-implementation.
59131         (use_win32_p): New function.
59132         (getaddrinfo): Use strtoul on servname, to support numeric ports.
59133         Support AI_NUMERICSERV to disable getservbyname.
59134         (getnameinfo): New function, only supports
59135         NI_NUMERICHOST|NI_NUMERICSERV for now.
59136
59137         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
59138         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
59139         getnameinfo.
59140
59141 2006-06-28  Eric Blake  <ebb9@byu.net>
59142
59143         * modules/wcwidth: New file.
59144         * modules/mbchar (Depends-on): Add wcwidth.
59145         * modules/mbswidth (Depends-on): Add wcwidth.
59146         * MODULES.html.sh: Add wcwidth.
59147
59148 2006-06-28  Eric Blake  <ebb9@byu.net>
59149
59150         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
59151         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
59152
59153 2006-06-28  Eric Blake  <ebb9@byu.net>
59154
59155         * lib/xvasprintf.h: Fix comments.
59156
59157 2006-06-28  Eric Blake  <ebb9@byu.net>
59158
59159         * lib/mbchar.h (wcwidth): Include wcwidth.h.
59160         * lib/mbswidth.c (wcwidth): Move from here...
59161         * lib/wcwidth.h: ...to this new file.
59162
59163 2006-06-28  Derek R. Price  <derek@ximbiot.com>
59164
59165         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
59166
59167         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
59168         it's obsolete.
59169         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
59170
59171 2006-06-28  Derek R. Price  <derek@ximbiot.com>
59172
59173         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
59174         Autoconf 2.60 says this stuff was obsolete.
59175
59176 2006-06-28  Bruno Haible  <bruno@clisp.org>
59177
59178         * modules/wcwidth (Files): Add m4/wchar_t.m4.
59179
59180 2006-06-28  Bruno Haible  <bruno@clisp.org>
59181
59182         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
59183         gt_TYPE_WCHAR_T.
59184
59185 2006-06-28  Bruno Haible  <bruno@clisp.org>
59186
59187         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
59188         declaration for wcwidth.
59189         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
59190
59191 2006-06-28  Bruno Haible  <bruno@clisp.org>
59192
59193         * lib/mkdtemp.c [MINGW]: Include <io.h>.
59194         (mkdir): Define using _mkdir.
59195
59196 2006-06-28  Bruno Haible  <bruno@clisp.org>
59197
59198         * lib/getaddrinfo.h: Fix POSIX URL.
59199         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
59200         _WIN32.
59201         (use_win32_p): Make static.
59202         (getaddrinfo): Reject service name if it is empty or does not consist
59203         solely of decimal digits, or if its value is > 65535.
59204         (getnameinfo): Remove useless casts.
59205
59206 2006-06-27  Simon Josefsson  <jas@extundo.com>
59207
59208         * modules/sys_select: New file, suggested by Bruno Haible, Paul
59209         Eggert and Martin Lambers.
59210
59211 2006-06-27  Simon Josefsson  <jas@extundo.com>
59212
59213         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
59214         Eggert and Martin Lambers.
59215
59216 2006-06-27  Bruno Haible  <bruno@clisp.org>
59217
59218         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
59219         result to 0, not to empty.
59220         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
59221
59222 2006-06-27  Bruno Haible  <bruno@clisp.org>
59223
59224         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
59225
59226 2006-06-26  Simon Josefsson  <jas@extundo.com>
59227
59228         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
59229         present.
59230
59231 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
59232
59233         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
59234         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
59235         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
59236
59237 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
59238
59239         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
59240
59241 2006-06-26  Bruno Haible  <bruno@clisp.org>
59242
59243         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
59244
59245 2006-06-26  Bruno Haible  <bruno@clisp.org>
59246
59247         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
59248
59249 2006-06-26  Bruno Haible  <bruno@clisp.org>
59250
59251         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
59252         SGI C compiler in pre-C99 mode.
59253         Suggested by Mark D. Baushke and Larry Jones.
59254
59255 2006-06-26  Bruno Haible  <bruno@clisp.org>
59256
59257         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
59258         WCHAR_MAX.
59259         Reported by Mark D. Baushke and Larry Jones.
59260
59261 2006-06-26  Bruno Haible  <bruno@clisp.org>
59262
59263         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
59264         in pre-C99 mode.
59265         Suggested by Mark D. Baushke and Larry Jones.
59266
59267 2006-06-23  Simon Josefsson  <jas@extundo.com>
59268             Bruno Haible  <bruno@clisp.org>
59269
59270         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
59271         Emit mostlyclean-local rule.
59272         (func_emit_tests_Makefile_am): Likewise.
59273         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
59274
59275 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
59276
59277         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
59278
59279 2006-06-23  Bruno Haible  <bruno@clisp.org>
59280
59281         * tests/test-stdint.c: Update to match ISO C 99 Technical
59282         Corrigendum 1.
59283
59284 2006-06-23  Bruno Haible  <bruno@clisp.org>
59285
59286         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
59287
59288 2006-06-23  Bruno Haible  <bruno@clisp.org>
59289
59290         * lib/stdint_.h: Treat IRIX like OpenBSD.
59291
59292 2006-06-23  Bruno Haible  <bruno@clisp.org>
59293
59294         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
59295         ISO C 99 Technical Corrigendum 1.
59296
59297 2006-06-22  Simon Josefsson  <jas@extundo.com>
59298
59299         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
59300         MinGW.
59301
59302 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
59303
59304         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
59305         needed.  Some compiler complained about some of them.  Problem reported
59306         by Larry Jones in
59307         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
59308
59309 2006-06-21  Simon Josefsson  <jas@extundo.com>
59310
59311         * tests/test-getaddrinfo.c: New file.
59312
59313         * modules/getaddrinfo-tests: New file.
59314
59315         * MODULES.html.sh: Add inet_pton.
59316
59317         * modules/inet_pton: New file.
59318
59319 2006-06-21  Simon Josefsson  <jas@extundo.com>
59320
59321         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
59322         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
59323         of using the (limited) gnulib implementation on Windows XP.
59324
59325         * m4/inet_pton.m4: New file.
59326
59327 2006-06-21  Simon Josefsson  <jas@extundo.com>
59328
59329         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
59330         variable.
59331
59332         * lib/socket_.h: Don't define WINVER.
59333
59334         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
59335         slightly modified to work in gnulib.
59336
59337 2006-06-21  Simon Josefsson  <jas@extundo.com>
59338
59339         * doc/gnulib.texi (Windows sockets): Add.
59340
59341 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
59342
59343         * lib/read-file.c (fread_file): Start with buffer allocation of
59344         0 bytes rather than 1 byte; this simplifies the code.
59345         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
59346         code to free buffer and save/restore errno.
59347         (internal_read_file): Remove unused local.
59348
59349 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
59350
59351         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
59352         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
59353         Problem reported by Denis Excoffier in
59354         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
59355
59356 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59357
59358         * modules/sys_socket, modules/socklen: Include sys/types since
59359         FreeBSD 4.x's sys/socket.h needs it.
59360
59361 2006-06-19  Simon Josefsson  <jas@extundo.com>
59362
59363         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
59364
59365 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
59366
59367         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
59368
59369 2006-06-19  Bruno Haible  <bruno@clisp.org>
59370
59371         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
59372         and FULL_PATH_INTTYPES_H in angle brackets.
59373         Reported by Mark D. Baushke <mdb@gnu.org>.
59374
59375 2006-06-17  Eric Blake  <ebb9@byu.net>
59376
59377         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
59378         errno.
59379
59380 2006-06-17  Bruno Haible  <bruno@clisp.org>
59381
59382         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
59383         <sys/inttypes.h>.
59384
59385 2006-06-17  Bruno Haible  <bruno@clisp.org>
59386
59387         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
59388         whether errno is declared. Assume <errno.h> declares errno.
59389
59390 2006-06-17  Bruno Haible  <bruno@clisp.org>
59391
59392         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
59393
59394 2006-06-17  Bruno Haible  <bruno@clisp.org>
59395
59396         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
59397         problem on Solaris 2.5.1.
59398
59399 2006-06-16  Eric Blake  <ebb9@byu.net>
59400
59401         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
59402         * lib/unicodeio.c [!defined errno]: Likewise.
59403         * lib/strtol.c [!defined errno]: Likewise.
59404         * lib/strtod.c [!defined errno]: Likewise.
59405
59406 2006-06-15  Eric Blake  <ebb9@byu.net>
59407
59408         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
59409
59410 2006-06-15  Eric Blake  <ebb9@byu.net>
59411
59412         * config/srclist.txt (ssize_t.m4): Lose sync.
59413
59414 2006-06-15  Bruno Haible  <bruno@clisp.org>
59415
59416         * modules/stdint (Files): Include m4/full-header-path.m4,
59417         m4/size_max.m4, m4/wchar_t.m4.
59418         (Makefile.am): Many more substitutions.
59419         * modules/stdint-tests: New file.
59420         * tests/test-stdint.c: New file.
59421
59422 2006-06-15  Bruno Haible  <bruno@clisp.org>
59423
59424         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
59425         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
59426         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
59427         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
59428         gl_CHECK_TYPE_SAME): New macros.
59429
59430 2006-06-15  Bruno Haible  <bruno@clisp.org>
59431
59432         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
59433
59434 2006-06-15  Bruno Haible  <bruno@clisp.org>
59435
59436         * lib/stdint_.h: Rewritten to be fully auto-configured.
59437         Fixes bug on HP-UX/IA64.
59438
59439 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
59440
59441         * lib/getdate.y (__attribute__): Don't define if already defined.
59442         Problem reported by Larry Jones.
59443         * lib/utimens.c (__attribute__): Likewise.
59444
59445 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
59446
59447         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
59448         reported by Andreas Schwab.
59449
59450 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59451             Bruno Haible  <bruno@clisp.org>
59452
59453         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
59454         check for the declaration of strnlen and a run test that exposes the
59455         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
59456         rpl_strndup.
59457
59458 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59459             Bruno Haible  <bruno@clisp.org>
59460
59461         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
59462
59463 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59464
59465         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
59466         compile test, for Tru64 4.0D.
59467
59468 2006-05-28  Karl Berry  <karl@gnu.org>
59469
59470         * config/srclist.txt (printf-args.c): lose sync.
59471
59472 2006-05-26  Martin Lambers  <marlam@marlam.de>
59473
59474         * lib/getpass.c: Updates the test for the native W32 API, and adds
59475         missing includes, thus fixing compilation warnings.
59476
59477 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
59478
59479         * lib/exclude.c (exclude_fnmatch): New function.
59480         (excluded_file_name): Call exclude_fnmatch.
59481         * lib/exclude.h (excluded_file_name): New prototype
59482
59483 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
59484
59485         * lib/tempname.c (small_open, large_open): New macros.
59486         (__open, __open64) [!_LIBC]: Remove.
59487         (__gen_tempname): Use small_open and large_open instead of __open
59488         and __open64.  This fixes a portability bug on HP-UX 11.11i
59489         reported by Simon Wing-Tang in
59490         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
59491
59492 2006-05-24  Bruno Haible  <bruno@clisp.org>
59493
59494         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
59495         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
59496         Reported by Thorsten Maerz <torte@netztorte.de> via
59497         Aaron Stone <aaron@serendipity.cx>.
59498
59499 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
59500
59501         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
59502         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
59503         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
59504         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
59505         not really conditional on the cache.
59506         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
59507
59508 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
59509
59510         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
59511         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
59512         (my_usleep): Don't mishandle maximum value.
59513
59514 2006-05-19  Jim Meyering  <jim@meyering.net>
59515
59516         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
59517
59518 2006-05-17  Bruno Haible  <bruno@clisp.org>
59519
59520         Cygwin portability.
59521         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
59522
59523 2006-05-17  Bruno Haible  <bruno@clisp.org>
59524
59525         * lib/stdint_.h: Fix recognition of Cygwin.
59526
59527 2006-05-15  Bruno Haible  <bruno@clisp.org>
59528
59529         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
59530         on libtool patch by Ralf Wildenhues.
59531
59532 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
59533
59534         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
59535         test for C99 conformance; (bool) 0.5 is an integer constant
59536         expression, but (bool) -0.5 is not.  Problem reported by Fedor
59537         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
59538
59539 2006-05-11  Simon Josefsson  <jas@extundo.com>
59540
59541         * m4/xvasprintf.m4: Fix obvious typo.
59542
59543 2006-05-11  Jim Meyering  <jim@meyering.net>
59544
59545         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
59546         James Lemley.
59547
59548 2006-05-10  Simon Josefsson  <jas@extundo.com>
59549
59550         * lib/md4.c: Typo fix, update copyright years.
59551         (K1, K2): Don't use L because it turn computations into 64-bit on
59552         64-bit platforms.
59553
59554 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
59555
59556         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
59557         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
59558         unwanted sign propagation, e.g., on hosts with 64-bit int.
59559         There still are some problems with reeelly weird theoretical hosts
59560         (e.g., 33-bit int) but it's not worth worrying about now.
59561         * lib/sha1.c (rol): Likewise.
59562         (K1, K2, K3, K4): Remove unnecessary L suffix.
59563
59564 2006-05-10  Bruno Haible  <bruno@clisp.org>
59565
59566         * lib/des.c: Cast to avoid warnings.
59567
59568 2006-05-09  Bruno Haible  <bruno@clisp.org>
59569
59570         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
59571         (Depends-on): Depend also on xsize, stdarg.
59572         (configure.ac): Add gl_XVASPRINTF.
59573
59574 2006-05-09  Bruno Haible  <bruno@clisp.org>
59575
59576         * m4/xvasprintf.m4: New file.
59577
59578 2006-05-09  Bruno Haible  <bruno@clisp.org>
59579
59580         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
59581         (EOVERFLOW): Define fallback value.
59582         (xstrcat): New function.
59583         (xvasprintf): Recognize the special case of a string concatenation.
59584
59585 2006-05-08  Eric Blake  <ebb9@byu.net>
59586
59587         * gnulib-tool (func_version): Base copyright year on CVS date.
59588         (func_emit_copyright_notice): New function.
59589         (func_emit_lib_Makefile_am): Use it.
59590         (func_emit_tests_Makefile_am): Likewise.
59591         (func_import): Likewise.
59592
59593 2006-05-08  Bruno Haible  <bruno@clisp.org>
59594
59595         * modules/stdarg: New file.
59596         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
59597
59598 2006-05-08  Bruno Haible  <bruno@clisp.org>
59599
59600         * m4/stdarg.m4: New file, from GNU gettext.
59601
59602 2006-05-08  Bruno Haible  <bruno@clisp.org>
59603
59604         * config/srclist.txt (build-aux/config.rpath): different from latest
59605         release.
59606
59607 2006-05-08  Bruno Haible  <bruno@clisp.org>
59608
59609         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
59610
59611 2006-05-05  Jim Meyering  <jim@meyering.net>
59612
59613         * m4/warning.m4: New file, derived from bison's file by the same name.
59614
59615 2006-05-03  Bruno Haible  <bruno@clisp.org>
59616
59617         * lib/stdint_.h: Shorter URL.
59618         * lib/inttypes.h: Likewise.
59619
59620 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59621
59622         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
59623
59624 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59625
59626         * lib/verify.h: Document the internals better.  Most of this change
59627         was written by Bruno Haible.
59628
59629 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59630
59631         * doc/verify.texi: New file, partly based on a proposal by
59632         Bruno Haible.
59633
59634 2006-05-02  Bruno Haible  <bruno@clisp.org>
59635
59636         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
59637         test from here...
59638         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
59639
59640 2006-04-29  Bruno Haible  <bruno@clisp.org>
59641
59642         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
59643         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
59644
59645 2006-04-29  Bruno Haible  <bruno@clisp.org>
59646
59647         * gnulib-tool: Make --update option actually work.
59648
59649 2006-04-29  Bruno Haible  <bruno@clisp.org>
59650
59651         * doc/gcd.texi: New file.
59652         * doc/gnulib.texi: Include it.
59653
59654 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
59655
59656         * lib/getdate.y (get_date): When adding relative date, start with the
59657         initial time, not with the result of the first mktime call.
59658
59659 2006-04-25  Bruno Haible  <bruno@clisp.org>
59660
59661         * gnulib-tool (func_import): Output the include directives in three
59662         blocks, sorted separately.
59663         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59664
59665 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
59666
59667         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
59668         to define main with arguments, for C++.  Reported by Eric Blake.
59669         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
59670         Prefer 'int main ()' to 'int main (void)', for C++.
59671         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
59672         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
59673         for 'main', for C99 and C++.
59674
59675 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
59676
59677         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
59678         Don't assume that exit status -1 is valid.
59679         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
59680         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
59681         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
59682         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
59683         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
59684         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
59685         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
59686         functions can be used without declaring them, or that you can
59687         exit with status -1.
59688         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
59689
59690 2006-04-24  Karl Berry  <karl@gnu.org>
59691
59692         * config/srclist.txt (longdouble.m4): sync lost.
59693
59694 2006-04-24  Eric Blake  <ebb9@byu.net>
59695
59696         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
59697
59698 2006-04-24  Bruno Haible  <bruno@clisp.org>
59699
59700         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
59701         poll() implementation in AIX.
59702         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59703
59704 2006-04-24  Bruno Haible  <bruno@clisp.org>
59705
59706         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
59707         assigned exactly once.
59708
59709 2006-04-23  Claudio Fontana  <claudio@gnu.org>
59710             Bruno Haible  <bruno@clisp.org>
59711
59712         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
59713         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
59714         for AM_CPPFLAGS.
59715
59716 2006-04-23  Bruno Haible  <bruno@clisp.org>
59717
59718         * modules/copy-file: Depend on unistd.
59719         * modules/execute: Likewise.
59720         * modules/fatal-signal: Likewise.
59721         * modules/findprog: Likewise.
59722         * modules/mkdtemp : Likewise.
59723         * modules/pipe: Likewise.
59724         * modules/wait-process: Likewise.
59725
59726 2006-04-23  Bruno Haible  <bruno@clisp.org>
59727
59728         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
59729         condition was already detected.
59730         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59731
59732 2006-04-23  Bruno Haible  <bruno@clisp.org>
59733
59734         * lib/copy-file.c: Include <unistd.h> unconditionally.
59735         * lib/execute.c: Likewise.
59736         * lib/fatal-signal.c: Likewise.
59737         * lib/findprog.c: Likewise.
59738         * lib/mkdtemp.c: Likewise.
59739         * lib/pipe.h: Likewise.
59740         * lib/pipe.c: Likewise.
59741         * lib/wait-process.h: Likewise.
59742
59743 2006-04-23  Bruno Haible  <bruno@clisp.org>
59744
59745         * gnulib-tool (func_usage): Fix --import description. Document
59746         --update.
59747         (func_import): Create temporary file in a temporary directory, if
59748         --dry-run is specified. Silence errors from 'grep' when there are no
59749         m4 files in $m4dir.
59750         (func_create_testdir): Silence errors from 'grep' when there are no
59751         m4 files in $m4dir.
59752         Reported by Karl Berry <karl@freefriends.org>.
59753
59754 2006-04-20  Bruno Haible  <bruno@clisp.org>
59755
59756         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
59757         one argument, so that the code will be portable to Autoconf 2.60.
59758         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
59759         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
59760         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
59761
59762 2006-04-19  Derek Price  <derek@ximbiot.com>
59763             Eric Blake  <ebb9@byu.net>
59764
59765         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
59766         rather than "/full/path.h".  Update comment to match.  Shorten &
59767         generalize m4_translit call via AS_TR_CPP.
59768
59769 2006-04-19  Derek Price  <derek@ximbiot.com>
59770             Eric Blake  <ebb9@byu.net>
59771
59772         * lib/inttypes.h: Correct grammar in comment.
59773
59774 2006-04-18  Derek Price  <derek@ximbiot.com>
59775             Paul Eggert  <eggert@cs.ucla.edu>
59776
59777         * modules/inttypes: New file.
59778         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
59779
59780 2006-04-18  Derek Price  <derek@ximbiot.com>
59781             Paul Eggert  <eggert@cs.ucla.edu>
59782
59783         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
59784         New files.
59785
59786 2006-04-18  Derek Price  <derek@ximbiot.com>
59787             Paul Eggert  <eggert@cs.ucla.edu>
59788
59789         * lib/inttypes.h: New file.
59790         * lib/strtoimax.c: Assume <inttypes.h>.
59791
59792 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
59793
59794         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
59795         isn't mounted.  Problem reported by Kir Kolyshkin.
59796
59797 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
59798
59799         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
59800         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
59801         Derek R. Price.
59802         * lib/regex.h (RE_DUP_MAX): Update comment to match current
59803         implementation.
59804
59805 2006-04-12  Eric Blake  <ebb9@byu.net>
59806
59807         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
59808         is now done automatically by the corresponding Autoconf macro.
59809
59810 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
59811
59812         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
59813         time_r.h.
59814
59815 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
59816
59817         Merge regex changes from libc, removing some of our
59818         POSIX-conformance changes that were rejected and redoing them in a
59819         less-intrusive way.
59820
59821         * lib/regcomp.c (re_compile_internal, init_dfa):
59822         Length arg is now size_t, not Idx.  All uses changed.
59823         (peek_token): Forward decl now says internal_function.
59824         (__re_error_msgid, __re_error_msgid_idx):
59825         Now static rather than extern with attribute_hidden.
59826         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
59827         For some reason libc prefers K&R style defns for external functions.
59828         (regerror) [!defined _LIBC]: Likewise.
59829         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
59830         (seek_collating_symbol_entry, lookup_collation_sequence_value):
59831         (build_range_exp, build_collating_symbol):
59832         Use K&R-style defn.
59833         (re_compile_fastmap): Use '\0' to memset, not 0.
59834         (utf8_sb_map): Make the calculations more obvious.
59835         (init_dfa, parse_bracket_exp, build_charclass_op):
59836         Call calloc and cast result, as glibc does.
59837         (init_word_char, fetch_token, peek_token, peek_token_bracket):
59838         (build_range_exp, build_collating_symbol):
59839         Now internal functions.
59840
59841         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
59842
59843         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
59844         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
59845         Don't depend on VMS; depend on __VMS instead, for POSIX
59846         namespace cleanness.
59847         (regoff_t): Define to ssize_t, not long int.
59848
59849         Remove the REG_ macros named below.  Instead, make the old names
59850         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
59851         __USE_GNU_REGEX.
59852         (REG_BACKSLASH_ESCAPE_IN_LISTS):
59853         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
59854         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
59855         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
59856         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
59857         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
59858         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
59859         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
59860         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
59861         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
59862         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
59863         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
59864         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
59865         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
59866         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
59867         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
59868         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
59869         (REG_NREGS):
59870         Remove.  All uses replaced by the old RE_* names.
59871         (RE_BACKSLASH_ESCAPE_IN_LISTS):
59872         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
59873         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
59874         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
59875         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
59876         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
59877         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
59878         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
59879         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
59880         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
59881         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
59882         Don't bother having these macros be independent of each others'
59883         values, since they no longer exist in the POSIX name space.
59884
59885         Rename the following member names back to their old names,
59886         unless !__USE_GNU_REGEX.  All uses changed back.
59887         (buffer): Renamed from re_buffer.
59888         (allocated): Renamed from re_allocated.
59889         (used): Renamed from re_used.
59890         (syntax): Renamed from re_syntax.
59891         (fastmap): Renamed from re_fastmap.
59892         (translate): Renamed from re_translate.
59893         (can_be_null): Renamed from re_can_be_null.
59894         (regs_allocated): Renamed from re_regs_allocated.
59895         (fastmap_accurate): Renamed from re_fastmap_accurate.
59896         (no_sub): Renamed from re_no_sub.
59897         (not_bol): Renamed from re_not_bol.
59898         (not_eol): Renamed from re_not_eol.
59899         (newline_anchor): Renamed from re_newline_anchor.
59900         (num_regs): Renamed from rm_num_regs.
59901         (start): Renamed from rm_start.
59902         (end): Renamed from rm_end.
59903
59904         (free_state): Move up a bit.
59905
59906         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
59907         #define to be empty.
59908         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
59909         when that is what is intended.
59910         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
59911         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
59912         (MAX): New macro.
59913         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
59914         All uses changed back to re_malloc, etc.  It's now the caller's
59915         responsibility to check for overflow; all callers changed.
59916         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
59917         (re_x2nrealloc): Remove.
59918         (free_state): Remove decl.
59919
59920         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
59921         (re_set_registers, re_exec):
59922         Use K&R-style defn.
59923
59924         2006-01-31  Roland McGrath  <roland@redhat.com>
59925
59926         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
59927         Reported by Mike Frysinger <vapier@gentoo.org>.
59928
59929         2006-01-15  Andreas Jaeger  <aj@suse.de>
59930
59931         [BZ #1950]
59932         * lib/regex_internal.c (re_string_reconstruct): Adjust for
59933         build_wcs_upper_buffer change.
59934         (build_wcs_upper_buffer): Change return type.
59935
59936         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
59937
59938         * lib/regex_internal.h: Include <stdint.h> if available.
59939
59940         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
59941
59942         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
59943
59944         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
59945
59946         * lib/regcomp.c: Adjust for changed secondary hash function.
59947
59948         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
59949
59950         * lib/regex.h: Pretty printing.
59951         Clean up namespace a bit.
59952
59953         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
59954
59955         * lib/regexec.c (update_cur_sifted_state, check_arrival,
59956         check_arrival_add_next_nodes): Avoid using uninitialized variable.
59957
59958         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
59959                     Ulrich Drepper  <drepper@redhat.com>
59960
59961         [BZ #1302]
59962         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
59963         changed.
59964         (bitset_word_t): Renamed from bitset_word.  All uses changed.
59965
59966         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
59967
59968         [BZ #281]
59969         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
59970         * lib/regcomp.c: Remove unnecessary uses of
59971         unsigned RE_TRANSLATE_TYPE.
59972         * lib/regex_internal.h: Likewise.
59973         * lib/regex_internal.c: Likewise.
59974         * lib/regexec.c: Likewise.
59975         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
59976
59977         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
59978
59979         * lib/regexec.c (find_recover_state): Remove unnecessary
59980         initialization.
59981         (transit_state_bkref): Make DFA a const pointer.
59982         (get_subexp): Likewise.
59983         (check_arrival): Likewise.
59984         (update_cur_sifted_state): Likewise.
59985         (re_search_internal): Likewise.
59986         (prune_impossible_nodes): Likewise.
59987         (acquire_init_state_context): Likewise.
59988         (proceed_next_node): Likewise.
59989         (set_regs): Likewise.
59990         (free_fail_stack_return): Likewise.
59991         (check_arrival_expand_ecl): Mark DFA parameter as const.
59992         (check_arrival_expand_ecl_sub): Likewise.
59993         (check_subexp_limits): Likewise.
59994         (sub_epsilon_src_nodes):  Likewise.
59995         (add_epsilon_src_nodes):  Likewise.
59996         (merge_state_array): Likewise.
59997         (update_regs): Likewise.
59998         (build_trtable): Likewise.
59999         (sift_states_backward): Mark MCTX parameter as const.
60000         (build_sifted_states): Likewise.
60001         (update_cur_sifted_state): Likewise.
60002         (sift_states_mkref): Likewise.
60003         (check_arrival_expand_ecl): Mark eclosure as const.
60004         (check_dst_limits_calc_pos_1): Likewise.
60005         * lib/regex_internal.h (re_match_context_t): Make dfa a const
60006         pointer.
60007
60008         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
60009
60010         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
60011         (transit_state_sb): Likewise.
60012         (transit_state_mb): Likewise.
60013         (sift_states_iter_mb): Likewise.
60014         (check_arrival_add_next_nodes): Likewise.
60015         (check_node_accept_bytes): Change first parameter to pointer-to-const.
60016         [_LIBC] (re_search_2_stub): Use mempcpy.
60017
60018         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
60019         mbrtowc for very simple UTF-8 case.
60020
60021         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
60022         a pointer-to-const.
60023         (re_acquire_state_context): Likewise.
60024         * lib/regex_internal.h: Adjust prototypes.
60025
60026         * lib/regex.c: Prevent using C++ compilers.
60027
60028         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
60029         (re_acquire_state_context): Likewise.
60030
60031 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60032
60033         * modules/regex (Depends-on): Add ssize_t.
60034
60035 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60036
60037         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
60038         translation table.
60039
60040 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60041
60042         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
60043
60044 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
60045             Bruno Haible  <bruno@clisp.org>
60046
60047         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
60048         <sys/types.h> and <inttypes.h>.
60049
60050 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60051
60052         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
60053         `__error_t_defined', so argp.h will not typedef the former.
60054
60055 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
60056
60057         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
60058         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
60059         glibc names.  Even if glibc is changed to conform to POSIX, the
60060         traditional names will be available anyway, since regex depends on
60061         the extensions module.  Also, fix a longstanding typo in the
60062         implementation of Spencer ERE test #75 from grep 2.3.  Problems
60063         reported by Emanuele Giaquinta.  Also, change sense of cached
60064         variable, so that the message makes sense.
60065
60066 2006-03-24  Simon Josefsson  <jas@extundo.com>
60067
60068         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
60069         including some doc fixes.
60070         (base64_encode_alloc): Fix +1 bug on allocation failures.
60071
60072 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60073
60074         * lib/base64.c (base64_encode): Do not read past end of array with
60075         unsanitized input on systems with CHAR_BIT > 8.
60076
60077 2006-03-24  Eric Blake  <ebb9@byu.net>
60078
60079         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
60080
60081 2006-03-22  Karl Berry  <karl@gnu.org>
60082
60083         * config/srclist.txt (*setenv.[ch]): get from coreutils.
60084         * config/srclistvars.sh (COREUTILS): new var.
60085
60086 2006-03-17  Jim Meyering  <jim@meyering.net>
60087
60088         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
60089         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
60090
60091 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
60092
60093         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
60094         no longer needs it.  Instead, check that regoff_t is as least
60095         as wide as ptrdiff_t.
60096
60097         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
60098         so that our regex.h stays compatible with the installed regex.
60099         This is helpful for installers who configure --without-included-regex.
60100         Problem reported by Emanuele Giaquinta.
60101
60102 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
60103
60104         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
60105         Typedef to long int, not to off_, as POSIX will likely change
60106         in that direction.
60107
60108 2006-03-15  Eric Blake  <ebb9@byu.net>
60109
60110         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
60111
60112 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
60113
60114         * lib/argp-help.c (validate_uparams): Fix typo
60115         * lib/argp-parse.c (argp_default_options): Consistently begin help
60116         messages with a lowercase letter.
60117
60118 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
60119
60120         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
60121         overrun buffers and shouldn't be used (much as gets shouldn't be
60122         used).
60123         * lib/time_r.c (asctime_r, ctime_r): Likewise.
60124
60125 2006-03-08  Simon Josefsson  <jas@extundo.com>
60126
60127         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
60128         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60129
60130 2006-03-08  Simon Josefsson  <jas@extundo.com>
60131
60132         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
60133         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60134
60135 2006-03-08  Simon Josefsson  <jas@extundo.com>
60136
60137         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
60138         signal that configure disabled the device.
60139
60140 2006-03-08  Simon Josefsson  <jas@extundo.com>
60141
60142         * build-aux/maint.mk: Fix refresh-po, to handle no translated
60143         languages.
60144
60145 2006-03-07  Simon Josefsson  <jas@extundo.com>
60146
60147         * modules/getopt (Depends-on): Add unistd.
60148
60149         * modules/unistd: New file.
60150
60151 2006-03-07  Simon Josefsson  <jas@extundo.com>
60152
60153         * modules/gc-random: New file.
60154
60155 2006-03-07  Simon Josefsson  <jas@extundo.com>
60156
60157         * m4/unistd_h.m4: New file.
60158
60159 2006-03-07  Simon Josefsson  <jas@extundo.com>
60160
60161         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
60162         test to be side-effect free by storing the result in the cache
60163         variable gl_cv_lib_readline, and moving the assignment of
60164         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
60165         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60166
60167 2006-03-07  Simon Josefsson  <jas@extundo.com>
60168
60169         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
60170         error on missing devices (the functions will return an error).
60171
60172         * m4/gc.m4: Move random stuff to gc-random.m4
60173
60174 2006-03-07  Simon Josefsson  <jas@extundo.com>
60175
60176         * lib/unistd_.h: New file.
60177
60178 2006-03-07  Simon Josefsson  <jas@extundo.com>
60179
60180         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
60181
60182 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60183
60184         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
60185         Problem reported by Juan Manuel Guerrero.
60186
60187 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60188
60189         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
60190         the unistd module.
60191         * lib/getlogin_r.c: Likewise.
60192         * lib/getlogin_r.h: Likewise.
60193         * lib/glob.c: Likewise.
60194         * lib/pagealign_alloc.c: Likewise.
60195         * lib/unistd_.h: Remove; no longer needed.
60196
60197 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60198
60199         * MODULES.html.sh (Support for systems lacking POSIX:2001):
60200         Add unistd.
60201         * modules/c-stack (Depends-on): Add unistd.
60202         * modules/getlogin_r: Likewise.
60203         * modules/glob: Likewise.
60204         * modules/pagealign_alloc: Likewise.
60205         * modules/unistd (Files): Remove lib/unistd_.h.
60206         (EXTRA_DIST): Remove.
60207         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
60208         need unistd_.h.
60209         (MOSTLYCLEANFILES): Remove unistd.h-t.
60210
60211 2006-03-03  Simon Josefsson  <jas@extundo.com>
60212
60213         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
60214
60215 2006-03-03  Simon Josefsson  <jas@extundo.com>
60216
60217         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
60218         libidn and bison.
60219
60220 2006-03-03  Simon Josefsson  <jas@extundo.com>
60221
60222         * build-aux/maint.mk: Add indent target.
60223
60224 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
60225
60226         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
60227         our replacement poll.h in any case, to avoid a differing
60228         declaration from a system header.  Seen on AIX.
60229
60230 2006-03-01  Simon Josefsson  <jas@extundo.com>
60231
60232         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
60233         <kasal@ucw.cz>.
60234
60235 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
60236
60237         * modules/gettime (Depends-on): Add extensions module.
60238         * modules/nanosleep (Depends-on): Likewise.
60239         * modules/settime (Depends-on): Likewise.
60240
60241 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
60242
60243         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
60244         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
60245         pedantically.
60246         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60247         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
60248
60249         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
60250         not "==".  Reported by Ralf Wildenhues.
60251
60252 2006-03-01  Karl Berry  <karl@gnu.org>
60253
60254         * doc/Copyright/request-*: new files, synced from gnuorg.
60255
60256 2006-03-01  Karl Berry  <karl@gnu.org>
60257
60258         * config/srclist.txt (Copyright/*): new entries.
60259
60260 2006-02-28  Simon Josefsson  <jas@extundo.com>
60261
60262         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
60263
60264 2006-02-27  Simon Josefsson  <jas@extundo.com>
60265
60266         * lib/base64.h: Indent #define's.  From Jim Meyering
60267         <jim@meyering.net>.
60268
60269 2006-02-27  Jim Meyering  <jim@meyering.net>
60270
60271         Revert the change of 2006-02-24, so these files can continue
60272         to be sync'd from gettext.
60273         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
60274         of `config.h'.
60275
60276 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
60277
60278         * modules/intprops: New file.
60279         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
60280         Add intprops.
60281         * modules/getloadavg (Files): Remove lib/intprops.h.
60282         (Depends-on): Add intprops.
60283         * modules/human: Likewise.
60284         * modules/inttostr: Likewise.
60285         * modules/openat: Likewise.
60286         * modules/sig2str: Likewise.
60287         * modules/userspec: Likewise.
60288         * modules/utimecmp: Likewise.
60289         * modules/xnanosleep: Likewise.
60290         * modules/xstrtol: Likewise.
60291
60292 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
60293
60294         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
60295         * modules/lock-tests (TESTS): Use $(EXEEXT).
60296         * modules/tls-tests: Likewise.
60297         * modules/argp-tests: Likewise.
60298         (check_PROGRAMS): New var, replacing...
60299         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
60300
60301 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60302
60303         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
60304         `config.h'.
60305
60306 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
60307
60308         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
60309
60310 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60311
60312         Sync from coreutils.
60313         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
60314         gl_CHDIR_SAFER.
60315
60316 2006-02-22  Jim Meyering  <jim@meyering.net>
60317
60318         Sync from coreutils.
60319         * m4/chdir-safer.m4: New file.
60320
60321 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
60322
60323         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
60324         AT_FDCWD exceeds INT_MAX.
60325         * lib/openat.h (AT_FDCWD): Likewise.
60326
60327 2006-02-17  Eric Blake  <address@hidden>
60328
60329         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
60330
60331 2006-02-16  Simon Josefsson  <jas@extundo.com>
60332
60333         * modules/getaddrinfo (Depends-on): Add sys_socket.
60334
60335 2006-02-15  Simon Josefsson  <jas@extundo.com>
60336
60337         * build-aux/maint.mk: Add dsyntax-check rule.
60338
60339 2006-02-15  Eric Blake  <ebb9@byu.net>
60340
60341         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
60342         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
60343         'present but cannot compile' warnings on cygwin.
60344         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
60345         use ws2tcpip.h if sys/socket.h works.
60346         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
60347         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
60348
60349 2006-02-14  Simon Josefsson  <jas@extundo.com>
60350
60351         * modules/maintainer-makefile (Files): Rename.
60352
60353         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
60354         and (the local) Makefile.cfg to maint-cfg.mk.
60355
60356         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
60357         to the latter.
60358
60359         * modules/maintainer-makefile: New module.
60360
60361         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
60362         severaly stripped to make it possible to build it up from scratch
60363         with reliable tests.
60364
60365         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
60366         fixes to permit overriding the default actions when configure and
60367         makefile are not available.
60368
60369 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
60370
60371         Sync from coreutils.
60372         * modules/lstat (Depends-on): Don't depend on xalloc.
60373         (License): Change from GPL to LGPL, since this is now simply a
60374         replacement for a libc function.
60375
60376 2006-02-14  Jim Meyering  <jim@meyering.net>
60377
60378         Sync from coreutils.
60379
60380         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
60381         failure on deficient systems, and simplify gnulib lgpl dependencies.
60382         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
60383         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
60384
60385         * lib/xalloc-die.c: Remove unused definition of N_.
60386
60387 2006-02-14  Jim Meyering  <jim@meyering.net>
60388
60389         Sync from coreutils.
60390         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
60391         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
60392         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
60393         double-quote uses of that variable, to accommodate the rare case in
60394         which getmntent is available in none of the libraries checked.  This
60395         happens at least on FreeBSD 5.0.
60396
60397 2006-02-13  Simon Josefsson  <jas@extundo.com>
60398
60399         * gnulib-tool (Usage): Fix --import, from
60400         karl@freefriends.org (Karl Berry).
60401
60402 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
60403
60404         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
60405
60406 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
60407
60408         * lib/argp-namefrob.h: Restore changes accidentally lost during the
60409         "autoupdate" on 2005-12-12.
60410
60411 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
60412
60413         * modules/closeout (Depends-on): Remove atexit.
60414
60415 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
60416
60417         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
60418         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
60419
60420 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
60421
60422         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
60423         __EXTENSIONS__ if this causes compilation to fail.  Problem
60424         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
60425         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
60426
60427 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
60428
60429         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
60430         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
60431         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
60432         All uses changed.
60433
60434 2006-01-26  Simon Josefsson  <jas@extundo.com>
60435
60436         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
60437         prototype is visible on mingw32.
60438
60439         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
60440         for mingw32.
60441
60442         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
60443         mingw32).
60444
60445 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
60446
60447         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
60448         attempt to open for write; this always fails, at least on POSIX
60449         hosts.  This reinstates the 2006-01-09 change, which was
60450         inadvertently removed.
60451
60452 2006-01-26  Bruno Haible  <bruno@clisp.org>
60453
60454         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
60455         Reported by Paul Eggert.
60456
60457 2006-01-26  Bruno Haible  <bruno@clisp.org>
60458             Paul Eggert  <eggert@cs.ucla.edu>
60459
60460         * lib/stdbool_.h (_Bool)
60461         [(! (defined __cplusplus || defined __BEOS__)
60462           && !defined __GNUC__
60463           && !(defined __HP_cc || defined __xlc__
60464                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
60465                || defined __sgi))]:
60466         #define to signed char in these cases too; this simplifies
60467         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
60468         etc., separately) and makes it more conservative.
60469
60470 2006-01-25  Simon Josefsson  <jas@extundo.com>
60471
60472         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
60473         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
60474         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
60475
60476 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
60477
60478         * lib/argp-namefrob.h: Bugfix. Remove stray #
60479
60480 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
60481
60482         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
60483         so that we test the test.
60484         Check for yet another HP-UX cc bug involving *bool |= bool.
60485
60486 2006-01-25  Karl Berry  <karl@gnu.org>
60487
60488         * config/srclist.txt (vasnprintf.c): sync lost.
60489
60490 2006-01-25  Jim Meyering  <jim@meyering.net>
60491
60492         Sync from the stable (b5) branch of coreutils:
60493
60494         * lib/fts.c (fts_children): Don't let close() clobber errno from
60495         failed fchdir().
60496
60497         * lib/fts.c (fts_stat): When following a symlink-to-directory,
60498         don't necessarily interpret stat-fails+lstat-succeeds as indicating
60499         a dangling symlink.  That can also happen at least for ELOOP.
60500         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
60501         FYI, this bug predates the inclusion of fts.c in coreutils.
60502
60503         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
60504         in their own block, so pre-c99 compilers don't object.
60505
60506         Avoid the double-free (first in fts_read, second in fts_close) that
60507         would occur when an `active' directory is made inaccessible (e.g.,
60508         via chmod a-x) during a traversal.
60509         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
60510         before returning.  Reproduce this failure by
60511         mkdir -p a/b; cd a; chmod a-x . b
60512         Reported by Stavros Passas.
60513
60514 2006-01-25  Jim Meyering  <jim@meyering.net>
60515
60516         * lib/fileblocks.c: Remove more useless parentheses.
60517         * lib/readutmp.h: Likewise.
60518
60519 2006-01-25  Bruno Haible  <bruno@clisp.org>
60520
60521         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
60522         warnings.
60523         Reported by Paul Eggert.
60524
60525 2006-01-25  Bruno Haible  <bruno@clisp.org>
60526
60527         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
60528         rid of a trap command. For Solaris sh.
60529         Reported by Mark D. Baushke <mdb@gnu.org>.
60530
60531 2006-01-24  Simon Josefsson  <jas@extundo.com>
60532
60533         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
60534         Bruno.
60535
60536 2006-01-24  Karl Berry  <karl@gnu.org>
60537
60538         * config/srclist.txt (argp-namefrob.h): sync lost.
60539
60540 2006-01-24  Jim Meyering  <jim@meyering.net>
60541
60542         * modules/openat (Files): Add lib/intprops.h.
60543         From Mark D. Baushke.
60544
60545 2006-01-24  Jim Meyering  <jim@meyering.net>
60546
60547         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
60548         Reported by Mark D. Baushke.
60549
60550 2006-01-24  Jim Meyering  <jim@meyering.net>
60551
60552         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
60553
60554 2006-01-24  Bruno Haible  <bruno@clisp.org>
60555
60556         * modules/strnlen (Maintainer): Change from glibc to all.
60557
60558 2006-01-24  Bruno Haible  <bruno@clisp.org>
60559
60560         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
60561         Patch by Paul Eggert.
60562
60563 2006-01-24  Bruno Haible  <bruno@clisp.org>
60564
60565         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
60566         already has it.
60567         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
60568         2005-11-26.
60569
60570         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
60571         'signed char' to avoid problems with the built-in _Bool type.
60572         Reported by Paul Eggert on 2005-11-26.
60573
60574 2006-01-24  Bruno Haible  <bruno@clisp.org>
60575
60576         * gnulib-tool (func_import): Avoid constructing complicated sed
60577         expressions inside backquote.
60578         Report and solution by Mark D. Baushke <mdb@gnu.org>.
60579
60580 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
60581
60582         These changes imported from libc.
60583         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
60584         test and two separate function calls.
60585         * lib/strndup.c (__strndup): Add libc_hidden_def.
60586
60587 2006-01-23  Simon Josefsson  <jas@extundo.com>
60588
60589         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
60590         Remove the test_*_SOURCES variable: automake infers it by default.
60591         * modules/tls-tests: Likewise.
60592
60593 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60594
60595         Work around porting bugs reported by Dieter in
60596         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
60597         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
60598         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
60599         Include "getopt.h" first, to check interface.
60600         (getenv): Declare only if defined HAVE_DECL_GETENV &&
60601         !HAVE_DECL_GETENV.
60602         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
60603         (__strndup): Revert to K&R-style function dfns, the glibc style.
60604         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
60605         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
60606         Include strnlen.h first, to get prototype properly.
60607         (strnlen): Renamed from __strnlen.
60608         Remove weak alias.
60609
60610 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60611
60612         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
60613
60614 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60615
60616         * config/srclist.txt: Adjust to reflect glibc reorganization.
60617         This affects only comments.
60618
60619 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
60620
60621          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
60622          Reported by Bruce Korb <bkorb@gnu.org>.
60623
60624 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
60625
60626         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
60627         to pacify gcc -Wswitch-default.
60628
60629 2006-01-22  Bruno Haible  <bruno@clisp.org>
60630
60631         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
60632         temporary buffer for sprintf, take into account the precision also
60633         for 'd', 'i', 'u', 'o', 'x', 'X'.
60634
60635 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
60636
60637         * modules/argp-tests: New module
60638         * tests/test-argp.c: New file
60639         * tests/test-argp-2.sh: New file
60640
60641 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
60642
60643         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
60644         (__argp_base_name): Removed
60645         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
60646         typo.
60647         (__argp_base_name): Provide macro definition or extern declaration
60648         depending on the configuration
60649
60650 2006-01-20  Simon Josefsson  <jas@extundo.com>
60651
60652         * modules/inet_ntop (Depends-on): Depend on sys_socket.
60653
60654 2006-01-20  Simon Josefsson  <jas@extundo.com>
60655
60656         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
60657
60658 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
60659
60660         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
60661         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
60662         Suggested by Bruno Haible.
60663
60664 2006-01-20  Karl Berry  <karl@gnu.org>
60665
60666         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
60667         until changes propagate, I guess.
60668
60669 2006-01-19  Simon Josefsson  <jas@extundo.com>
60670
60671         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
60672
60673 2006-01-19  Simon Josefsson  <jas@extundo.com>
60674
60675         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
60676
60677 2006-01-19  Simon Josefsson  <jas@extundo.com>
60678
60679         * gnulib-tool: Set check_PROGRAMS.
60680
60681         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
60682         modules/des-tests, modules/gc-arcfour-tests,
60683         modules/gc-arctwo-tests, modules/gc-des-tests,
60684         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
60685         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
60686         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
60687         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
60688         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
60689         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
60690         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
60691         test_*_SOURCES.
60692
60693 2006-01-18  Simon Josefsson  <jas@extundo.com>
60694
60695         * modules/socklen (Depends-on): Depend on sys_socket.
60696
60697 2006-01-18  Simon Josefsson  <jas@extundo.com>
60698
60699         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
60700         modules/des-tests, modules/gc-arcfour-tests,
60701         modules/gc-arctwo-tests, modules/gc-des-tests,
60702         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
60703         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
60704         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
60705         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
60706         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
60707         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
60708         $(EXEEXT) to automake TESTS variable, for mingw32.
60709
60710 2006-01-17  Simon Josefsson  <jas@extundo.com>
60711
60712         * modules/socklen (Include): Need sys/socket.h.
60713
60714 2006-01-17  Bruno Haible  <bruno@clisp.org>
60715
60716         * modules/ssize_t (Include): Add <sys/types.h>.
60717
60718 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
60719
60720         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
60721         it's not portable and it doesn't work with cross-compiles.
60722         Problem reported by Bruno Haible.  Fix missing-$ typo in
60723         'test "gl_cv_ignore_unused_libraries" ...' that prevented
60724         -zignore from being used with Sun's C compiler.
60725
60726 2006-01-12  Simon Josefsson  <jas@extundo.com>
60727
60728         * lib/base64.c: Fix warning, reported by Bruno Haible
60729         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
60730
60731 2006-01-12  Bruno Haible  <bruno@clisp.org>
60732
60733         * modules/ldd: New file.
60734         * build-aux/ldd.sh.in: New file.
60735         * MODULES.html.sh (Support for building libraries and executables): Add
60736         ldd.
60737
60738 2006-01-12  Bruno Haible  <bruno@clisp.org>
60739
60740         * m4/ldd.m4: New file.
60741
60742 2006-01-12  Bruno Haible  <bruno@clisp.org>
60743
60744         * gnulib-tool (func_import, func_create_testdir): Don't go into an
60745         endless loop while replacing $auxdir with build-aux.
60746
60747 2006-01-11  Simon Josefsson  <jas@extundo.com>
60748
60749         * lib/stdint_.h (SIZE_MAX): Add missing (.
60750
60751 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
60752
60753         Sync from coreutils.
60754         * lib/md5.c: Fix commentary typos.
60755         (alignof, UNALIGNED_P): No need for a GCC-specific version.
60756         * lib/md5.h (__attribute__): Remove; unused.
60757         * lib/sha1.c: Fix commentary to match md5 better.
60758         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
60759         so that we don't need to worry about alignment.  All uses changed.
60760         This merges the 2005-10-28 md5 change into sha1.
60761
60762 2006-01-11  Jim Meyering  <jim@meyering.net>
60763
60764         Sync from coreutils.
60765         * lib/md5.c (OP): Fix spacing.
60766
60767 2006-01-11  Bruno Haible  <bruno@clisp.org>
60768
60769         Ensure automatic ordering between gl_LOCK and gl_ARGP.
60770         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
60771         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
60772
60773 2006-01-11  Bruno Haible  <bruno@clisp.org>
60774
60775         Ensure automatic ordering between gl_LOCK and gl_ARGP.
60776         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
60777         the "early" section as well.
60778
60779 2006-01-11  Bruno Haible  <bruno@clisp.org>
60780
60781         Avoid "ar: no archive members specified" error on MacOS X.
60782         * gnulib-tool (func_modules_add_dummy): New function.
60783         (func_import, func_create_testdir): Invoke it.
60784
60785 2006-01-11  Bruno Haible  <bruno@clisp.org>
60786
60787         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
60788         with $auxdir in AC_CONFIG_FILES statements.
60789
60790 2006-01-11  Bruno Haible  <bruno@clisp.org>
60791
60792         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60793         Initialize also noinst_HEADERS to empty.
60794
60795 2006-01-11  Bruno Haible  <bruno@clisp.org>
60796
60797         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
60798         variables.
60799         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
60800         autoreconf.
60801
60802 2006-01-11  Bruno Haible  <bruno@clisp.org>
60803
60804         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
60805         overridable by the user.
60806         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60807
60808 2006-01-10  Simon Josefsson  <jas@extundo.com>
60809
60810         * modules/sys_socket: New file.
60811
60812 2006-01-10  Simon Josefsson  <jas@extundo.com>
60813
60814         * m4/sys_socket_h.m4: New file.
60815
60816 2006-01-10  Simon Josefsson  <jas@extundo.com>
60817
60818         * lib/socket_.h: New file.
60819
60820 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
60821
60822         * modules/readutmp (Maintainer): Add myself.
60823
60824 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
60825
60826         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
60827         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
60828         People who are still concerned with buggy memcmp implementations
60829         can invoke gl_FUNC_MEMCMP themselves.
60830
60831 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
60832
60833         * lib/regex_internal.h (BITSET_WORD_BITS):
60834         Work around a bug in 64-bit PGC (before version 6.1-2), where the
60835         preprocessor mishandles large unsigned values as if they were signed.
60836         Problem reported by Claudio Fontana in
60837         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
60838
60839 2006-01-10  Jim Meyering  <jim@meyering.net>
60840
60841         Avoid the double-free (first in fts_read, second in fts_close) that
60842         would occur when an `active' directory is made inaccessible (e.g.,
60843         via chmod a-x) during a traversal.
60844         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
60845         before returning.  Reproduce this failure by
60846         mkdir -p a/b; cd a; chmod a-x . b
60847         Reported by Stavros Passas.
60848
60849         Sync from coreutils.
60850         * lib/sha1.c: Tweak grammar in a comment.
60851
60852 2006-01-10  Jim Meyering  <jim@meyering.net>
60853
60854         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
60855         Patch by Joerg Sonnenberger.
60856
60857 2006-01-10  Bruno Haible  <bruno@clisp.org>
60858
60859         * modules/readutmp: Depend on module free.
60860         * modules/strtok_r: Depend on module restrict.
60861
60862 2006-01-10  Bruno Haible  <bruno@clisp.org>
60863
60864         * modules/gettext (configure.ac): Add an invocation of
60865         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
60866
60867 2006-01-10  Bruno Haible  <bruno@clisp.org>
60868
60869         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
60870         Reported by Werner Lemberg <wl@gnu.org>.
60871
60872 2006-01-10  Bruno Haible  <bruno@clisp.org>
60873
60874         * lib/localcharset.c: Update from GNU gettext.
60875
60876 2006-01-10  Bruno Haible  <bruno@clisp.org>
60877
60878         * lib/argp.h (__const): Remove macro. Use const instead.
60879         * lib/argp-fmtstream.h (__const): Likewise.
60880         * lib/glob_.h (__const): Remove macro.
60881         * lib/glob-libc.h: Use const instead of __const.
60882
60883 2006-01-10  Bruno Haible  <bruno@clisp.org>
60884
60885         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
60886         variable.
60887         Needed to avoid an automake error regarding the 'gettext' module.
60888
60889 2006-01-09  Simon Josefsson  <jas@extundo.com>
60890
60891         * modules/inet_ntop (Depends-on): Add restrict.
60892
60893 2006-01-09  Simon Josefsson  <jas@extundo.com>
60894
60895         * modules/gc-rijndael-tests (License): Put under LGPL.
60896
60897         * modules/gc-des-tests (License): Likewise.
60898
60899         * modules/gc-arcfour-tests (License): Likewise.
60900
60901         * modules/gc-arctwo-tests (License): Likewise.
60902
60903         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
60904
60905         * modules/gc-hmac-sha1-tests (Files): Likewise.
60906
60907         * modules/gc-hmac-md5-tests (License): Likewise.
60908
60909         * modules/gc-sha1-tests (License): Likewise.
60910
60911         * modules/gc-md5-tests (License): Likewise.
60912
60913         * modules/gc-md4-tests (License): Likewise.
60914
60915         * modules/gc-md2-tests (License): Likewise.
60916
60917         * modules/gc-tests (License): Likewise.
60918
60919         * modules/des-tests (License): Likewise.
60920
60921         * modules/md4-tests (License): Likewise.
60922
60923         * modules/md2-tests (License): Likewise.
60924
60925 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
60926
60927         Sync from coreutils:
60928
60929         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
60930         * modules/lib-ignore: New file.
60931         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
60932         chdir-safer.m4, lchmod.m4.
60933         * modules/openat: Add mkdirat.c, openat-priv.h.
60934
60935 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
60936
60937         Sync from coreutils.
60938         * m4/lib-ignore.m4: New file.
60939         * m4/lchmod.m4: New file.
60940
60941 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
60942
60943         Sync from coreutils.
60944         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
60945         for write access: POSIX says that must fail.
60946         * lib/fts.c (diropen): Likewise.
60947         * lib/save-cwd.c (save_cwd): Likewise.
60948         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
60949         well, for minor improvements on hosts that lack O_DIRECTORY.
60950         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
60951         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
60952         Fall back on chown if open failed with EACCES.
60953
60954         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
60955         Report an error at compile-time if only a 1-second nominal clock
60956         resolution is found.
60957
60958         * lib/lchmod.h: New file.
60959         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
60960         (make_dir_parents): Use lchown rather than chown, and
60961         lchmod rather than chmod.
60962
60963         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
60964         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
60965         "proc" reported by n0dalus.
60966
60967         * lib/mountlist.c: Include <limits.h>.
60968         (dev_from_mount_options)
60969         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
60970         New function.  It no longer assumes "dev=" has the System V meaning
60971         on Linux (since it doesn't).  It also parses "dev=" more carefully.
60972         (read_file_system_list)
60973         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
60974         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
60975         dev= in that case.
60976
60977         * lib/posixtm.h (PDS_PRE_2000): New macro.
60978         * lib/posixtm.c (year): Arg is now syntax_bits rather than
60979         allow_century.  All usages changed.  Reject dates outside the range
60980         1969-1999 if PDS_PRE_2000 is used.
60981
60982 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
60983
60984         Sync from coreutils.
60985         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
60986         (Time of day items): Mention the possibility of leap seconds.
60987         Problem reported by Dr. David Alan Gilbert.
60988
60989 2006-01-09  Jim Meyering  <jim@meyering.net>
60990
60991         Sync from coreutils.
60992
60993         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
60994
60995         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
60996
60997         * lib/modechange.c (mode_compile): Reject an invalid mode string
60998         that starts with an octal digit.  From Andreas Gruenbacher.
60999
61000         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
61001         and dup to open_safer and dup_safer, respectively.
61002         (openat_permissive): Fix typo in comment.
61003
61004         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
61005         "gettext.h"; either no longer needed or are guaranteed by openat.h.
61006         (_): Remove; no longer needed.
61007         (openat): Renamed from rpl_openat; no need for rpl_openat
61008         since openat.h renames openat for us.
61009         Replace most of the body with a call to openat_permissive,
61010         to avoid duplicate code.
61011         Port to (probably hypothetical) environments were mode_t is
61012         wider than int.
61013         (openat_permissive): Require mode arg, so that we can check
61014         types better.  Put it just after flags.  Change cwd failure
61015         indicator from pointer-to-bool to pointer-to-errno-value.
61016         All callers changed.
61017         Invoke openat_save_fail and/or openat_restore_fail if
61018         cwd_errno is null, so that openat can call us.
61019         (openat_permissive, fdopendir, fstatat, unlinkat):
61020         Simplify errno handling to avoid some duplicate code,
61021         as it's OK to set errno on success.
61022         * lib/openat.h: Revamp code so that function macros depend on
61023         __OPENAT_PREFIX only, not also on AT_FDCWD.
61024         (openat_ro): Remove.  Caller changed to use openat_permissive.
61025         (openat_permissive): Now a macro, if not a function.
61026         (openat_restore_fail, openat_save_fail): Now always functions,
61027         since mkdirat needs them even if __OPENAT_PREFIX is defined.
61028
61029         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
61030         and openat.c.
61031         * lib/mkdirat.c: Include openat-priv.h.
61032         Remove definitions of macros defined therein.
61033         * lib/openat.c: Likewise.
61034
61035         * lib/mkdirat.c (mkdirat): New file and function.
61036         * lib/openat.h (mkdirat): Declare.
61037
61038         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
61039
61040         * lib/openat.h (openat_permissive): Declare.
61041         (openat_ro): Define.
61042
61043         * lib/openat.c (EXPECTED_ERRNO): New macro.
61044         (openat_permissive): New function -- used in remove.c rewrite.
61045         (all functions): Set errno just before returning, only if there
61046         was an actual failure.
61047         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
61048
61049         Emulate openat-family functions using Linux's procfs, if possible.
61050         Idea and some code based on Ulrich Drepper's glibc changes.
61051
61052         * lib/openat.c: (BUILD_PROC_NAME): New macro.
61053         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
61054         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
61055         before falling back on save_cwd and restore_cwd.
61056         (fdopendir, fstatat, unlinkat): Likewise.
61057
61058         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
61059         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
61060
61061         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
61062         as second argument to va_arg.  Otherwise, some versions of gcc
61063         warn that `if this code is reached, the program will abort'.
61064
61065 2006-01-09  Jim Meyering  <jim@meyering.net>
61066
61067         Sync from coreutils.
61068         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
61069         Require openat-priv.h.
61070
61071 2006-01-09  Bruno Haible  <bruno@clisp.org>
61072
61073         * modules/strnlen (Include): Use strnlen.h.
61074
61075 2006-01-09  Bruno Haible  <bruno@clisp.org>
61076
61077         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
61078
61079 2006-01-09  Bruno Haible  <bruno@clisp.org>
61080
61081         * lib/sysexit_.h (EX_OK): New macro.
61082         Suggested by Martin Lambers <marlam@marlam.de>.
61083
61084 2006-01-09  Bruno Haible  <bruno@clisp.org>
61085
61086         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
61087         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
61088
61089 2006-01-09  Bruno Haible  <bruno@clisp.org>
61090
61091         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
61092         numbers.
61093
61094 2006-01-09  Bruno Haible  <bruno@clisp.org>
61095
61096         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
61097         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
61098         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
61099         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
61100
61101 2006-01-09  Bruno Haible  <bruno@clisp.org>
61102
61103         * build-aux/javacomp.sh.in: New file, moved from lib/.
61104         * modules/javacomp-script (Files): Update.
61105         (configure.ac): Add AC_CONFIG_FILES invocation.
61106         (EXTRA_DIST): Remove variable.
61107
61108         * build-aux/javaexec.sh.in: New file, moved from lib/.
61109         * modules/javaexec (Files): Update.
61110         (configure.ac): Add AC_CONFIG_FILES invocation.
61111         (EXTRA_DIST): Remove javaexec.sh.in.
61112
61113         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
61114         * modules/csharpcomp-script (Files): Update.
61115         (configure.ac): Add AC_CONFIG_FILES invocation.
61116         (EXTRA_DIST): Remove variable.
61117
61118         * build-aux/csharpexec.sh.in: New file, moved from lib/.
61119         * modules/csharpexec (Files): Update.
61120         (configure.ac): Add AC_CONFIG_FILES invocation.
61121         (EXTRA_DIST): Remove csharpexec.sh.in.
61122
61123 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
61124
61125         Sync from coreutils.
61126
61127         Add POSIX ACL support
61128         * lib/acl.h (copy_acl, set_acl): Add declarations.
61129         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
61130         systems other than Linux.
61131         (chmod_or_fchmod): New function: use fchmod when possible,
61132         and chmod otherwise.
61133         (file_has_acl): Add a POSIX ACL implementation, with a
61134         Linux-specific subcase.
61135         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
61136         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
61137         acls are unsupported.
61138         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
61139         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
61140         are unsupported.
61141
61142 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
61143
61144         Sync from coreutils.
61145         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
61146
61147 2006-01-07  Bruno Haible  <bruno@clisp.org>
61148
61149         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
61150         gl_EARLY.
61151
61152 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61153
61154         * lib/strftime.c (tzname): Don't declare if it is already #defined.
61155         Problem reported for Mingw by Mark Junker.
61156
61157 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61158
61159         * README: Gnulib normally doesn't generate a tarball.
61160
61161 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
61162
61163         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
61164         long int, not int, for nanosecond counts, so that people who are
61165         used to POSIX struct timespec won't be surprised.  Reported by Jim
61166         Meyering.
61167
61168 2005-12-28  Bruno Haible  <bruno@clisp.org>
61169
61170         * build-aux/config.rpath: Update from GNU gettext.
61171
61172 2005-12-16  Jim Meyering  <jim@meyering.net>
61173
61174         * modules/fprintftime: New module.
61175         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
61176
61177 2005-12-16  Jim Meyering  <jim@meyering.net>
61178
61179         * m4/fprintftime.m4: New file.
61180
61181 2005-12-16  Jim Meyering  <jim@meyering.net>
61182
61183         * lib/fprintftime.c, lib/fprintftime.h: New files.
61184
61185 2005-12-15  Simon Josefsson  <jas@extundo.com>
61186
61187         * modules/socklen (configure.ac): Fix M4 macro name, to align with
61188         new m4/socklen.m4.
61189
61190 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61191
61192         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
61193         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
61194
61195 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61196
61197         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
61198         * lib/argp-help.c (fill_in_uparams): Check if the constructed
61199         struct uparams is valid. Fall back to the default values if it is
61200         not.
61201
61202 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61203
61204         * modules/argp (Files): Add argp-pin.c
61205         (Depends-on): dirname
61206         (lib_SOURCES): Add argp-pin.c
61207
61208 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61209
61210         * m4/argp.m4:  Check if program_invocation_name and
61211         program_invocation_short_name are declared and define appropriate
61212         macros if they are not.
61213
61214 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61215
61216         * lib/argp-help.c (__argp_base_name): New function
61217         (__argp_short_program_name): Rewrite using __argp_base_name
61218         * lib/argp-namefrob.h: Define program_invocation_name and
61219         program_invocation_short_name if requested
61220         (__argp_base_name): Add prototype
61221         * lib/argp-parse.c (argp_def): Use gettext wrappers
61222         (argp_default_parser): Use __argp_base_name
61223         * lib/argp-pin.c: New file. Defines program_invocation_name and
61224         program_invocation_short_name on systems that lack them.
61225
61226 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
61227
61228         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
61229         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
61230         porting problem reported by Georg Schwarz in
61231         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
61232
61233 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
61234
61235         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
61236         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
61237         porting problem reported by Georg Schwarz in
61238         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
61239
61240 2005-12-05  Bruno Haible  <bruno@clisp.org>
61241
61242         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
61243         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
61244         Reported by Mark Junker <mjscod@gmx.de>.
61245
61246 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
61247
61248         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
61249         Use implementation from Albert Chin, with some
61250         comments/corrections by Stepan Kasal and myself.
61251
61252 2005-12-02  Bruno Haible  <bruno@clisp.org>
61253
61254         * gnulib-tool (func_import): Accept GPLed build tool modules when
61255         --lgpl is given.
61256         * modules/csharpcomp-script: New file.
61257         * modules/csharpcomp: Depend on it.
61258         * modules/javacomp-script: New file.
61259         * modules/javacomp: Depend on it.
61260         Suggested by Simon Josefsson.
61261
61262 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
61263
61264         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
61265         statement, to work around an HP-UX 10.20 compiler bug reported by
61266         Peter O'Gorman.
61267
61268 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
61269
61270         * modules/savedir (Depends-on): Add openat.
61271
61272 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
61273
61274         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
61275         (uintmax_t) [defined uintmax_t]: Do not declare.
61276         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
61277         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
61278         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
61279         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
61280         sake of portability to weird hosts that C allows (though we don't
61281         know of any practical examples).
61282
61283         * lib/savedir.h (fdsavedir): New decl.
61284         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
61285         contains most of the former guts of savedir.
61286         (savedir): Use savedirstream.
61287         Include "openat.h".
61288
61289 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
61290
61291         * modules/obstack (Files): Add m4/ulonglong.m4.
61292         Problem reported by Davide Angelocola.
61293
61294 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
61295
61296         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
61297         coreutils no longer futzes with rounding modes.
61298
61299 2005-11-14  Jim Meyering  <jim@meyering.net>
61300
61301         * lib/mkstemp-safer.c: Include <config.h>, required for possible
61302         replacement of mkstemp.
61303
61304 2005-11-10  Simon Josefsson  <jas@extundo.com>
61305
61306         * lib/readline.c: Remove EOL.
61307
61308 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
61309
61310         * modules/gethrxtime (Depends-on): Add gettime.
61311
61312 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
61313
61314         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
61315         or gettimeofday; no longer needed.
61316
61317 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
61318
61319         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
61320         time business.
61321         (gethrxtime) [! (HAVE_NANOUPTIME
61322         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
61323         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
61324         our own approximation.
61325
61326 2005-11-08  Eric Blake  <ebb9@byu.net>
61327
61328         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
61329
61330 2005-11-08  Eric Blake  <ebb9@byu.net>
61331
61332         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
61333
61334 2005-11-04  Bruno Haible  <bruno@clisp.org>
61335
61336         * gnulib-tool: Implement --update mode.
61337
61338 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
61339
61340         Fix porting problem reported by Theodoros V. Kalamatianos.
61341         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
61342         Don't assume that futimes failing means we must fail.
61343
61344 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
61345
61346         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
61347         variables to suggest the intended function of the PATH_MAX check.
61348
61349 2005-10-30  Kean Johnston  <jkj@sco.com>
61350
61351         Trivial changes to support SCO systems.
61352         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
61353         as PATH_MAX.
61354         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
61355         where __ptr is null when no I/O is pending.
61356
61357 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
61358
61359         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
61360         leave errno alone.  Problem reported by Dmitry V. Levin.
61361
61362 2005-10-28  Simon Josefsson  <jas@extundo.com>
61363
61364         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
61365         Test more.
61366
61367         * tests/test-gc-md2.c, tests/test-md2.c: New files.
61368
61369         * modules/md2, modules/md2-tests: New files.
61370
61371 2005-10-28  Simon Josefsson  <jas@extundo.com>
61372
61373         * m4/inet_ntop.m4: More tests.
61374
61375         * m4/gc-md2.m4, md2.m4: New file.
61376
61377 2005-10-28  Simon Josefsson  <jas@extundo.com>
61378
61379         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
61380         "restrict" keywords, as per POSIX.  Protect the function
61381         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
61382         Don't use K&R prototypes.  Check the sprintf return values.
61383         Re-define EAFNOSUPPORT if not present.  Indent.
61384
61385         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
61386         suggested by Bruno Haible <bruno@clisp.org>.
61387
61388         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
61389
61390         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
61391
61392         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
61393         libgcrypt).
61394
61395         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
61396
61397         * lib/md2.h, lib/md2.c: New files.
61398
61399 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
61400
61401         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
61402         errno alone.  Problem reported by Frederic Jolliton.
61403
61404 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
61405
61406         * modules/verify (License): Change from GPL to LGPL.  This is a
61407         tiny module and there are apparently near-equivalents that are
61408         under the BSD license.
61409
61410 2005-10-24  Simon Josefsson  <jas@extundo.com>
61411
61412         * modules/sha1: Relicense to LGPL.
61413
61414 2005-10-24  Simon Josefsson  <jas@extundo.com>
61415
61416         * lib/md4.h: Shrink buffer size, now that we changed the type.
61417
61418 2005-10-23  Simon Josefsson  <jas@extundo.com>
61419
61420         * gnulib-tool (func_import): Fix --tests-base.
61421
61422 2005-10-22  Simon Josefsson  <jas@extundo.com>
61423
61424         * modules/arcfour (Depends-on): Need stdint.
61425
61426 2005-10-22  Simon Josefsson  <jas@extundo.com>
61427
61428         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
61429         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
61430
61431 2005-10-22  Simon Josefsson  <jas@extundo.com>
61432
61433         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
61434         suggested by Bruno Haible <bruno@clisp.org>.
61435
61436 2005-10-22  Simon Josefsson  <jas@extundo.com>
61437
61438         * lib/crc.h: Include stddef.h, for size_t.
61439
61440 2005-10-22  Simon Josefsson  <jas@extundo.com>
61441
61442         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
61443         arcfour_context struct (simplify test vector testing in GNU
61444         Shishi).
61445
61446 2005-10-21  Simon Josefsson  <jas@extundo.com>
61447
61448         * modules/des, modules/des-tests: New files.
61449
61450         * modules/gc-des, modules/gc-des-tests: New files.
61451
61452         * tests/test-des.c, tests/test-gc-des.c: New file.
61453
61454 2005-10-21  Simon Josefsson  <jas@extundo.com>
61455
61456         * modules/arctwo, modules/arctwo-tests: New files.
61457
61458         * tests/test-arctwo.c: New file.
61459
61460         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
61461
61462         * tests/test-gc-arctwo.c: New file.
61463
61464 2005-10-21  Simon Josefsson  <jas@extundo.com>
61465
61466         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
61467         Bruno Haible <bruno@clisp.org>.
61468
61469         * m4/gc-des.m4: New file.
61470
61471 2005-10-21  Simon Josefsson  <jas@extundo.com>
61472
61473         * m4/arctwo.m4: New file.
61474
61475         * m4/gc-arctwo.m4: New file.
61476
61477 2005-10-21  Simon Josefsson  <jas@extundo.com>
61478
61479         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
61480         block.
61481
61482 2005-10-21  Simon Josefsson  <jas@extundo.com>
61483
61484         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
61485         <bruno@clisp.org>.
61486
61487         * lib/hmac-sha1.c (hmac_sha1): Likewise.
61488
61489         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
61490         Bruno Haible <bruno@clisp.org>.
61491
61492         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
61493         <bruno@clisp.org>.
61494
61495 2005-10-21  Simon Josefsson  <jas@extundo.com>
61496
61497         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
61498
61499 2005-10-21  Simon Josefsson  <jas@extundo.com>
61500
61501         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
61502
61503 2005-10-21  Simon Josefsson  <jas@extundo.com>
61504
61505         * lib/des.h, lib/des.c: New files.
61506
61507         * lib/gc-gnulib.c: Support DES.c
61508
61509 2005-10-21  Simon Josefsson  <jas@extundo.com>
61510
61511         * lib/arctwo.h, lib/arctwo.c: New files.
61512
61513         * lib/gc-gnulib.c: Support ARCTWO.
61514
61515 2005-10-21  Simon Josefsson  <jas@extundo.com>
61516
61517         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
61518         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61519
61520 2005-10-21  Simon Josefsson  <jas@extundo.com>
61521
61522         * gnulib-tool (func_import, func_create_testdir): Define automake
61523         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
61524         Makefile.am snippet),
61525         suggested by Bruno Haible <bruno@clisp.org>.
61526
61527         * modules/gc (Makefile.am): Use it.
61528
61529 2005-10-21  Bruno Haible  <bruno@clisp.org>
61530
61531         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
61532         patch.
61533
61534 2005-10-19  Simon Josefsson  <jas@extundo.com>
61535
61536         * tests/test-gc-rijndael.c: New file.
61537
61538         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
61539
61540 2005-10-19  Simon Josefsson  <jas@extundo.com>
61541
61542         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
61543         interface too.
61544
61545 2005-10-19  Simon Josefsson  <jas@extundo.com>
61546
61547         * tests/test-gc-arcfour.c: New file.
61548
61549         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
61550
61551 2005-10-19  Simon Josefsson  <jas@extundo.com>
61552
61553         * modules/gc-md4, modules/gc-md4-tests: New file.
61554
61555         * tests/test-gc-md4.c: New file.
61556
61557 2005-10-19  Simon Josefsson  <jas@extundo.com>
61558
61559         * m4/gc-md4.m4: New file.
61560
61561 2005-10-19  Simon Josefsson  <jas@extundo.com>
61562
61563         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
61564         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
61565         <kasal@ucw.cz>.
61566
61567 2005-10-19  Simon Josefsson  <jas@extundo.com>
61568
61569         * m4/gc-arcfour.m4: New file.
61570
61571         * m4/gc-rijndael.m4: New file.
61572
61573 2005-10-19  Simon Josefsson  <jas@extundo.com>
61574
61575         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
61576
61577 2005-10-19  Simon Josefsson  <jas@extundo.com>
61578
61579         * lib/gc-gnulib.c: Support ARCFOUR.
61580
61581 2005-10-19  Simon Josefsson  <jas@extundo.com>
61582
61583         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
61584         support.
61585
61586         * lib/gc.h: Add ECB enum type.
61587
61588         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
61589
61590 2005-10-18  Simon Josefsson  <jas@extundo.com>
61591
61592         * tests/test-md5.c: New file.
61593
61594         * modules/md5-tests: New file.
61595
61596 2005-10-18  Simon Josefsson  <jas@extundo.com>
61597
61598         * tests/test-md4.c: New file.
61599
61600         * modules/md4, modules/md4-tests: New files.
61601
61602 2005-10-18  Simon Josefsson  <jas@extundo.com>
61603
61604         * m4/md4.m4: New file.
61605
61606 2005-10-18  Simon Josefsson  <jas@extundo.com>
61607
61608         * lib/md4.h, lib/md4.c: New files, based on md5.?.
61609
61610 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
61611
61612         * gnulib-tool (func_create_testdir): Omit the second check whether
61613         BUILT_SOURCES in nonempty.
61614
61615 2005-10-17  Simon Josefsson  <jas@extundo.com>
61616
61617         * tests/test-rijndael.c: New file.
61618
61619 2005-10-17  Simon Josefsson  <jas@extundo.com>
61620
61621         * modules/sha1: Depend on stdint instead of md5.
61622
61623         * modules/md5: Depend on stdint, remove uint32_t.
61624
61625 2005-10-17  Simon Josefsson  <jas@extundo.com>
61626
61627         * modules/gc-sha1-tests: New file.
61628
61629         * tests/test-gc-sha1.c: New file.
61630
61631 2005-10-17  Simon Josefsson  <jas@extundo.com>
61632
61633         * m4/md5.m4: Remove call to uint32_t.m4.
61634
61635 2005-10-17  Simon Josefsson  <jas@extundo.com>
61636
61637         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
61638
61639         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
61640         md5.h.
61641
61642         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
61643
61644         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
61645
61646 2005-10-17  Simon Josefsson  <jas@extundo.com>
61647
61648         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
61649
61650 2005-10-17  Simon Josefsson  <jas@extundo.com>
61651
61652         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
61653
61654 2005-10-17  Simon Josefsson  <jas@extundo.com>
61655
61656         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
61657
61658         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
61659
61660 2005-10-17  Bruno Haible  <bruno@clisp.org>
61661
61662         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
61663         that it can also be used in a test.
61664
61665 2005-10-16  Bruno Haible  <bruno@clisp.org>
61666
61667         * gnulib-tool (func_emit_tests_Makefile_am): Also define
61668         TESTS_ENVIRONMENT, so that individual tests can augment it.
61669
61670         * gnulib-tool (func_create_testdir): Use an intermediate target for
61671         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
61672         macros, like $(ALLOCA_H), which cannot be passed through the command
61673         line.
61674
61675 2005-10-15  Simon Josefsson  <jas@extundo.com>
61676
61677         * modules/rijndael-tests: New file.
61678
61679         * modules/rijndael: New file.
61680
61681 2005-10-15  Simon Josefsson  <jas@extundo.com>
61682
61683         * m4/rijndael.m4: New file.
61684
61685 2005-10-15  Simon Josefsson  <jas@extundo.com>
61686
61687         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
61688
61689         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
61690
61691 2005-10-14  Simon Josefsson  <jas@extundo.com>
61692
61693         * tests/test-arcfour.c: New file.
61694
61695         * modules/arcfour, modules/arcfour-tests: New files.
61696
61697 2005-10-14  Simon Josefsson  <jas@extundo.com>
61698
61699         * m4/arcfour.m4: New file.
61700
61701 2005-10-14  Simon Josefsson  <jas@extundo.com>
61702
61703         * lib/arcfour.h, lib/arcfour.c: New files.
61704
61705 2005-10-14  Roland McGrath  <roland@redhat.com>
61706
61707         Import from libc.  [BZ #1331]
61708         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
61709         macro argument.
61710         Reported by Matej Vela <vela@debian.org>.
61711
61712 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
61713
61714         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
61715         include <wchar.h>; no longer needed.
61716
61717 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
61718
61719         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
61720
61721 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
61722         and  Ulrich Drepper  <drepper@redhat.com>
61723
61724         Import from libc.
61725         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
61726         instead of inline stream orientation test and two separate
61727         function calls.  Pay no attention to USE_IN_LIBIO.
61728
61729 2005-10-13  Simon Josefsson  <jas@extundo.com>
61730
61731         * modules/gc-hmac-md5-tests: New file.
61732
61733         * tests/test-gc-hmac-sha1.c: New file.
61734
61735         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
61736
61737         * modules/gc-hmac-md5-tests: New file.
61738
61739         * tests/test-gc-md5.c: New file.
61740
61741         * modules/gc-md5-tests: New file.
61742
61743 2005-10-13  Simon Josefsson  <jas@extundo.com>
61744
61745         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
61746         Move memory allocation outside of loop.
61747
61748 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
61749
61750         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
61751         intermediate directory is in a read-only file system.  Problem
61752         reported by Eric Blake.
61753
61754 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
61755
61756         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
61757
61758 2005-10-12  Simon Josefsson  <jas@extundo.com>
61759
61760         * tests/test-hmac-sha1.c: New file.
61761
61762         * modules/hmac-sha1-tests: New file.
61763
61764         * modules/hmac-sha1: New file.
61765
61766 2005-10-12  Simon Josefsson  <jas@extundo.com>
61767
61768         * modules/gc-sha1: New file.
61769
61770 2005-10-12  Simon Josefsson  <jas@extundo.com>
61771
61772         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
61773
61774         * tests/test-gc-pbkdf2-sha1.c: New file.
61775
61776 2005-10-12  Simon Josefsson  <jas@extundo.com>
61777
61778         * modules/gc-md5, modules/gc-hmac-md5: New files.
61779
61780         * modules/gc (Files): Remove md5, memxor and hmac files.
61781
61782 2005-10-12  Simon Josefsson  <jas@extundo.com>
61783
61784         * m4/gc-pbkdf2-sha1.m4: New file.
61785
61786         * m4/gc-hmac-sha1.m4: New file.
61787
61788         * m4/gc-sha1: New file.
61789
61790         * m4/hmac-sha1.m4: New file.
61791
61792 2005-10-12  Simon Josefsson  <jas@extundo.com>
61793
61794         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
61795
61796         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
61797
61798 2005-10-12  Simon Josefsson  <jas@extundo.com>
61799
61800         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
61801         suggested by Bruno Haible <bruno@clisp.org>.
61802
61803 2005-10-12  Simon Josefsson  <jas@extundo.com>
61804
61805         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
61806
61807 2005-10-12  Simon Josefsson  <jas@extundo.com>
61808
61809         * lib/gc-pbkdf2-sha1.c: New file.
61810
61811         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
61812
61813 2005-10-12  Simon Josefsson  <jas@extundo.com>
61814
61815         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
61816
61817         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
61818
61819 2005-10-12  Simon Josefsson  <jas@extundo.com>
61820
61821         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
61822         GC_USE_HMAC_MD5, respectively.
61823
61824         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
61825         (gc_md5): Fix typo.
61826
61827         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
61828
61829         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
61830
61831         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
61832
61833 2005-10-12  Bruno Haible  <bruno@clisp.org>
61834
61835         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
61836         Reported by Stepan Kasal <kasal@ucw.cz>.
61837
61838 2005-10-11  Simon Josefsson  <jas@extundo.com>
61839
61840         * tests/test-crc.c: New file.
61841
61842         * modules/crc, modules/crc-tests: New files.
61843
61844 2005-10-11  Simon Josefsson  <jas@extundo.com>
61845
61846         * m4/crc.m4: New file.
61847
61848 2005-10-11  Simon Josefsson  <jas@extundo.com>
61849
61850         * lib/gc.h: Add gc_hash and gc_hash_buffer.
61851
61852         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
61853
61854         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
61855
61856 2005-10-11  Simon Josefsson  <jas@extundo.com>
61857
61858         * lib/crc.h, lib/crc.c: New files.
61859
61860         * lib/gc.h (gc_hash_buffer): Add doc.
61861
61862 2005-10-11  Bruno Haible  <bruno@clisp.org>
61863
61864         * modules/c-strcasestr: New file.
61865         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
61866
61867 2005-10-11  Bruno Haible  <bruno@clisp.org>
61868
61869         * modules/c-strcase: New file.
61870         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
61871
61872 2005-10-11  Bruno Haible  <bruno@clisp.org>
61873
61874         * lib/strcasecmp.c: Include limits.h.
61875         (strcasecmp): Avoid integer overflow on exotic platforms.
61876         * lib/strncasecmp.c: Include limits.h.
61877         (strncasecmp): Avoid integer overflow on exotic platforms.
61878         Reported by Paul Eggert.
61879
61880 2005-10-11  Bruno Haible  <bruno@clisp.org>
61881
61882         * lib/c-strcasestr.h: New file, from GNU gettext.
61883         * lib/c-strcasestr.c: New file, from GNU gettext.
61884
61885 2005-10-11  Bruno Haible  <bruno@clisp.org>
61886
61887         * lib/c-strcase.h: New file, from GNU gettext.
61888         * lib/c-strcasecmp.c: New file, from GNU gettext.
61889         * lib/c-strncasecmp.c: New file, from GNU gettext.
61890
61891 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
61892
61893         * modules/mempcpy (License): GPL -> LGPL.
61894         * modules/strchrnul (License): Likewise.
61895         * modules/sysexits (License): Likewise.
61896
61897 2005-10-08  Simon Josefsson  <jas@extundo.com>
61898
61899         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
61900
61901 2005-10-07  Simon Josefsson  <jas@extundo.com>
61902
61903         * m4/memxor.m4: Remove gl_C_RESTRICT call.
61904
61905 2005-10-06  Simon Josefsson  <jas@extundo.com>
61906
61907         * tests/test-hmac-md5.c: New file.
61908
61909         * modules/hmac-md5-tests: New file.
61910
61911         * modules/hmac-md5: New file.
61912
61913 2005-10-06  Simon Josefsson  <jas@extundo.com>
61914
61915         * m4/hmac-md5.m4: New file.
61916
61917         * m4/memxor.m4: Require gl_C_RESTRICT.
61918
61919 2005-10-06  Simon Josefsson  <jas@extundo.com>
61920
61921         * lib/memxor.c (memxor): Avoid casts and warnings.
61922
61923 2005-10-06  Simon Josefsson  <jas@extundo.com>
61924
61925         * lib/hmac-md5.c: New file.
61926
61927         * lib/hmac.h: New file.
61928
61929 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
61930
61931         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
61932         promotes to int, not unsigned int, to catch the AIX 5.3
61933         compiler bug.
61934
61935 2005-10-05  Simon Josefsson  <jas@extundo.com>
61936
61937         * modules/memxor: New file.
61938
61939         * modules/iconv (Files): Move config.rpath to havelib, it is used
61940         there.
61941
61942         * modules/havelib (Files): Add config.rpath.
61943
61944 2005-10-05  Simon Josefsson  <jas@extundo.com>
61945
61946         * m4/memxor.m4: New file.
61947
61948 2005-10-05  Simon Josefsson  <jas@extundo.com>
61949
61950         * lib/memxor.c (memxor): Fix compiler error.
61951
61952         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
61953         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
61954
61955         * lib/memxor.h, lib/memxor.c: New files.
61956
61957         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
61958         we assume all systems have it, suggested by Jim Meyering
61959         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
61960         any systems lack sys/socket.h; mingw32 is known to lack it, but we
61961         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
61962         same reasons.
61963
61964 2005-10-05  Simon Josefsson  <jas@extundo.com>
61965
61966         * config/srclist.txt: Add glibc bug 1423 for md5.h.
61967
61968 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
61969
61970         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
61971         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
61972         needed, since the source code now assumes these .h files.
61973
61974 2005-10-05  Derek Price  <derek@ximbiot.com>
61975
61976         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
61977
61978 2005-10-05  Bruno Haible  <bruno@clisp.org>
61979
61980         * modules/stdint (License): Change to LGPL.
61981
61982 2005-10-04  Simon Josefsson  <jas@extundo.com>
61983
61984         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
61985         D. Baushke" <mdb@gnu.org>.
61986
61987 2005-10-04  Bruno Haible  <bruno@clisp.org>
61988
61989         * lib/verify.h (verify_true): Provide alternative definition for C++.
61990
61991 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
61992
61993         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
61994         (SSIZE_MAX): New macro, if not already defined.
61995         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
61996         than 2 GiB.
61997
61998 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
61999
62000         Sync from coreutils.
62001         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
62002         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
62003         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
62004         ULLONG_MAX doesn't work with 2.7.2.1.
62005
62006 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62007
62008         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
62009         From Ben Pfaff.
62010
62011         * modules/exclude (Depends-on): Depend on verify.
62012         * modules/strtoimax (Depends-on): Likewise.
62013         * modules/utimecmp (Depends-on): Likewise.
62014
62015 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62016
62017         * lib/exclude.c: Include verify.h.
62018         (verify): Remove.  All callers changed to use verify.h's version.
62019         * lib/strtoimax.c: Likewise.
62020         * lib/utimecmp.c: Likewis.e
62021
62022         Sync from coreutils.
62023         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
62024         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
62025         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
62026         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
62027         bother returning ENOSYS if settimeofday or stime fails; just let
62028         them return whatever errno they want to return.
62029         * lib/utimens.c: Include unistd.h, for dup2.
62030         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
62031         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
62032
62033 2005-10-02  Jim Meyering  <jim@meyering.net>
62034
62035         Sync from coreutils.
62036         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
62037         from glibc-2.2.5 that fails for read-only files.
62038
62039 2005-10-02  Jim Meyering  <jim@meyering.net>
62040
62041         Sync from coreutils.
62042         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
62043         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
62044         `#if HAVE_CONFIG_H'.
62045         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
62046         Remove AT_FDCWD test.
62047         Do not consume the fd unless successful.
62048         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
62049         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
62050         block, so that we don't even try to compile it if settimeofday is
62051         available.  This works around a compilation failure on OSF1 V5.1,
62052         due to stime requiring a `long int*' while tv_sec is `int'.
62053
62054 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
62055
62056         Sync from coreutils.
62057         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
62058         against `yes', rather than just testing for nonempty.
62059
62060 2005-10-01  Simon Josefsson  <jas@extundo.com>
62061
62062         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
62063         and Darwin.
62064
62065         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
62066         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
62067         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
62068         freeaddrinfo and gai_strerror are declared by the POSIX headers.
62069         Check if struct addrinfo is declared.
62070
62071 2005-10-01  Simon Josefsson  <jas@extundo.com>
62072
62073         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
62074         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
62075         AI_* and EAI_* definitions.  Protect function declarations.
62076
62077 2005-10-01  Jim Meyering  <jim@meyering.net>
62078
62079         Sync from coreutils.
62080
62081         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
62082         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
62083         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
62084         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
62085         in the inet and nsl libraries.  Required on Solaris 5.7.
62086
62087 2005-10-01  Jim Meyering  <jim@meyering.net>
62088
62089         Sync from coreutils.
62090         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
62091         in the inet and nsl libraries.  Required on Solaris 5.7.
62092
62093 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
62094
62095         * lib/getdelim.c (getdelim): Remove unused variables.
62096
62097 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
62098
62099         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
62100         so that the code works even with ancient cpp.  Portability problem
62101         with GCC 2.7.2.1 reported by Thomas M.Ott.
62102
62103 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
62104
62105         * modules/regex (Depends-on): Add strcase.
62106
62107         * modules/gethostname (Licence): Change from GPL to LGPL, since
62108         gethostname.c is a trivial implementation of a standard library
62109         function.
62110         * modules/poll (License): Change from GPL to LGPL, since it's
62111         derived from LGPL code.
62112
62113 2005-09-27  Jim Meyering  <jim@meyering.net>
62114
62115         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
62116         HAVE_CONFIG_H.
62117
62118         * lib/intprops.h (signed_type_or_expr__): Define.
62119         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
62120         for unsigned types.
62121
62122 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
62123
62124         * lib/verify.h (verify_expr): Remove, replacing with:
62125         (verify_true): New macro that returns true instead of void.
62126         (verify_type__): Remove.
62127         (verify): Use verify_true rather than verify_type__.
62128
62129 2005-09-26  Bruno Haible  <bruno@clisp.org>
62130
62131         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
62132         is necessary.
62133         (lib_SOURCES): Remove mbchar.c.
62134         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
62135         (Files): Add m4/mbrtowc.m4.
62136         * modules/mbiter: Likewise.
62137         * modules/mbuiter: Likewise.
62138
62139 2005-09-26  Bruno Haible  <bruno@clisp.org>
62140
62141         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
62142         compile mbchar.c if they are not both present.
62143         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
62144         * m4/mbiter.m4 (gl_MBITER): Likewise.
62145         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
62146         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
62147         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
62148
62149 2005-09-25  Jim Meyering  <jim@meyering.net>
62150
62151         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
62152         also uses socklen_t.
62153
62154 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
62155
62156         * lib/utimens.c (ENOSYS): Define if not already defined.
62157         (futimens): Support having a null PATH if the file descriptor
62158         is nonnegative.
62159
62160         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
62161         Remove.
62162         (__attribute): Define to empty unless GCC 3.1 or later.
62163         This works around a core dump on OpenBSD 3.4, which has GCC
62164         2.95.3, which dumps core when given __attribute__(()).  It also
62165         simplifies other tests, since we really don't want to bother with
62166         worrying about which ancient version of GCC supported what.
62167         Original problem reported by Yoann Vandoorselaere, with part of
62168         the fix suggested by Derek Price.
62169
62170 2005-09-24  Jim Meyering  <jim@meyering.net>
62171
62172         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
62173         so we can once again use a positive bitfield width of 1 -- now we
62174         don't have to explain why we were using a bitfield width of 2.
62175
62176 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
62177
62178         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
62179         and similarly for the other external symbols.  Problem reported
62180         by James Gallager.
62181
62182         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
62183         bug reported by Jim Meyering.
62184
62185         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
62186         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
62187         not needed, since socklen is a prerequisite module.
62188
62189 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
62190
62191         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
62192         Problem reported by Eric Blake.
62193         (getaddrinfo): Initialize se so that it's not garbage.
62194         Redo internal storage allocation so that it doesn't make unportable
62195         assumptions about alignment.
62196         Fix a memory leak.
62197
62198         * lib/utimens.c (futimens): Use futimesat if available.
62199         Prefer it to futimes since it doesn't have the futimes bug.
62200
62201         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
62202         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
62203         Instead, declare a function that returns a pointer to an array,
62204         and use verify_type__ to declare the size of the array.
62205         Problem and germ of a solution reported by Bruno Haible.
62206         (verify_type__): Use 2, not 1, for bitfield size, to avoid
62207         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
62208
62209 2005-09-23  Jim Meyering  <jim@meyering.net>
62210
62211         Sync from coreutils.
62212         Correct build failure (socklen_t not defined) on at least
62213         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
62214         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
62215
62216 2005-09-23  Jim Meyering  <jim@meyering.net>
62217
62218         * modules/getaddrinfo (Depends-on): Add socklen.
62219
62220 2005-09-23  Bruno Haible  <bruno@clisp.org>
62221
62222         * tests/test-verify.c: New file.
62223
62224 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62225
62226         Sync from coreutils.
62227
62228         * modules/argmatch (Depends-on): Add verify.
62229         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
62230         unistd-safer.
62231         * modules/save-cwd (Depends-on): Likewise.
62232
62233         * modules/openat (Files): Add lib/openat-die.c.
62234         (Depends-on): Remove error, exitfail.
62235         Add dirname.
62236
62237         * modules/verify: New file.
62238         * MODULES.html.sh (Diagnostics <assert.h>): New section,
62239         with "verify" module.
62240
62241 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62242
62243         Sync from coreutils.
62244
62245         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
62246         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
62247         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
62248         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
62249         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
62250         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
62251         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
62252         Don't bother checking for string.h, stdlib.h, unistd.h.
62253         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
62254         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
62255         module's job.
62256         * m4/jm-macros.m4 (gl_MACROS): Likewise.
62257         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
62258
62259         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
62260         (gl_GETDATE): Use it.
62261
62262         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
62263
62264 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62265
62266         Sync from coreutils.
62267
62268         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
62269         stat-time.h.
62270         * lib/argmatch.h: Include verify.h
62271         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
62272         (ARGMATCH_ASSERT): Remove; unused.
62273         * lib/canonicalize.c: Assume STDC_HEADERS.
62274         * lib/exclude.c: Include "strcase.h".
62275         * lib/regex_internal.h [!defined _LIBC]: Likewise.
62276         * lib/getusershell.c: Include stdio--.h rather than stdio.h
62277         and stdio-safer.h.
62278         (getusershell): Call fopen, not fopen_safer.
62279         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
62280         Do not include unistd-safer.h.
62281         (save_cwd): Don't call fd_safer; no longer needed
62282         now that we include fcntl--.h.
62283
62284         * lib/getdate.y (relative_time): New type.
62285         (RELATIVE_TIME_0): New constant.
62286         (parser_control): Use relative_time instead of doing it ourselves.
62287         (%union): Add new relative_time rel member.
62288         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
62289         Now typeless.
62290         (relunit, relunit_snumber): Now of type rel.
62291         (zone, rel, relunit, get_date): Adjust to above changes.
62292
62293         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
62294         Do not include unistd-safer.h.
62295         (getloadavg): Don't call fd_safer; no longer needed
62296         now that we include fcntl--.h.
62297
62298         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
62299         (make_dir_parents): Treat ENOSYS like EEXIST.
62300
62301         Improve quality of diagnostics on restore_cwd failure.
62302         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
62303         (make_dir_parents): Last arg is now int * (for errno), not bool *.
62304         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
62305         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
62306         each time through the loop.  Do not diagnose restore_cwd failure;
62307         that is the caller's job (and perhaps the caller does not care).
62308
62309         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
62310         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
62311         If the file already exists but is not a directory, don't bother
62312         to try to make its parents.
62313         Close potential file descriptor leak if we can't chdir("/") (!).
62314         Don't always return true if chdir($PWD) fails; return true only
62315         if the requested action was done successfully (except for the
62316         chdir($PWD)).
62317         Don't log final directory unless we actually made it.
62318         Refactor to avoid duplicate code to fix up permissions.
62319         Don't attempt to fix up parent permissions if chdir($PWD) fails.
62320
62321         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
62322         to make it a bit faster and (I hope) clearer.
62323         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
62324         Fix bug in formats like %2N.
62325
62326         * lib/verify.h: New file.
62327
62328 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62329
62330         Sync from coreutils.
62331         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
62332
62333 2005-09-22  Jim Meyering  <jim@meyering.net>
62334
62335         Sync from coreutils.
62336
62337         * m4/lstat.m4 (gl_FUNC_LSTAT):
62338         Use AC_LIBSOURCES to require lstat.c and lstat.h.
62339         Remove obsolete comment.
62340         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
62341         * m4/xstrtod.m4: Likewise.
62342
62343         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
62344
62345 2005-09-22  Jim Meyering  <jim@meyering.net>
62346
62347         Sync from coreutils.
62348
62349         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
62350
62351         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
62352         the .tm_year member, since otherwise gcc-4.0 would now warn about
62353         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
62354
62355         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
62356         order to avoid an unsuppressible warning from gcc on 64-bit systems.
62357
62358         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
62359         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
62360         when run in a time zone for which daylight savings time is in effect
62361         for the starting date.
62362
62363         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
62364         stop us from restricting permissions of just-created absolute-named
62365         directories.
62366         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
62367         to restore initial working directory.
62368         * lib/mkdir-p.c (make_dir_parents): New parameter:
62369         different_working_dir, to tell caller if/when we change the working
62370         directory and are unable to return to the initial one.
62371         * lib/mkdir-p.h (make_dir_parents): Update prototype.
62372         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
62373         `return false'.  This fixes a bug introduced on 2004-07-30.
62374
62375         * lib/openat.c (fdopendir): Be sure to close the supplied
62376         file descriptor before returning.  This makes our replacement
62377         implementation a little closer to Solaris's, where fdopendir
62378         ties the file descriptor to the returned DIR* pointer.
62379         * lib/openat.c (unlinkat): New function.
62380         * lib/openat.h (unlinkat): Add prototype.
62381         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
62382         (openat_restore_fail): Rename from openat_restore_die.
62383         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
62384
62385         Provide an alternative to exiting immediately upon save_cwd or
62386         restore_cwd failure.  Now, an application can arrange e.g.,
62387         to perform a longjump in that case.
62388         * lib/openat.c: Include dirname.h.
62389         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
62390         (rpl_openat, fdopendir, fstatat): Call openat_save_die
62391         and openat_restore_die rather than calling error directly.
62392         Don't include "error.h" or "exitfail.h"; they're no longer needed.
62393
62394         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
62395         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
62396         define.
62397
62398         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
62399         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
62400                             int utc, int nanoseconds);
62401         Background:
62402         date should not have to allocate a megabyte of virtual memory to
62403         handle a format argument like +%1048575T.  When implemented with
62404         strftime, it must allocate such a buffer, use strftime to fill it
62405         in, print it, then free it.
62406         With fprintftime, it simply prints everything and exits.
62407         With no need for memory allocation, that's one fewer way to fail.
62408         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
62409         optional field width, not before, so we accept %9:z, not %:9z.
62410         (my_strftime): Be sure to use L_('x') for literals.
62411
62412         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
62413         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
62414         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
62415         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
62416         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
62417         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
62418         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
62419         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
62420         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
62421         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
62422         * lib/xgethostname.c, lib/xreadlink.c:
62423         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
62424
62425         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
62426         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
62427         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
62428         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
62429         and don't include <sys/file.h>).
62430
62431 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
62432
62433         Sync from coreutils.
62434
62435         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
62436         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
62437         [!LDAV_DONE]: Avoid unused variable warning.
62438
62439 2005-09-21  Bruno Haible  <bruno@clisp.org>
62440
62441         * lib/unicodeio.h (unicode_to_mb): New declaration.
62442
62443 2005-09-20  Derek Price  <derek@ximbiot.com>
62444
62445         * lib/getaddrinfo.c: Don't include <netdb.h> included from
62446         getaddrinfo.h.
62447
62448 2005-09-20  Bruno Haible  <bruno@clisp.org>
62449
62450         * gnulib-tool: Remove trailing slashes from the values specified for
62451         --source-base, --m4-base, --tests-base, --aux-dir.
62452         Suggested by Simon Josefsson <jas@extundo.com>.
62453
62454 2005-09-20  Bruno Haible  <bruno@clisp.org>
62455
62456         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
62457         func_modules_to_filelist, func_import, func_create_testdir): Make all
62458         sorting results locale-independent, so that gnulib-cache.m4 doesn't
62459         change when gnulib-tool is invoked in a different locale.
62460
62461 2005-09-19  Simon Josefsson  <jas@extundo.com>
62462
62463         * m4/socklen.m4: Fix typo.
62464
62465 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62466
62467         Use a consistent style for including <config.h>.
62468         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
62469         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
62470         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
62471         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
62472         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
62473         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
62474         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
62475         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
62476         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
62477         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
62478         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
62479         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
62480         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
62481         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
62482         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
62483         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
62484         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
62485         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
62486         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
62487         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
62488         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
62489         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
62490         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
62491         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
62492         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
62493         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
62494         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
62495         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
62496         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
62497         lib/xstrtoumax.c, lib/yesno.c:
62498         Standardize inclusion of config.h.
62499         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
62500         lib/inttostr.h:  Removed inclusion of config.h from header files.
62501         * lib/inttostr.c:  Adjusted in-tree users.
62502         * lib/timespec.h: Remove superfluous warning to include config.h.
62503         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
62504         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
62505         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
62506         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
62507         config.h with HAVE_CONFIG_H.
62508
62509 2005-09-19  Jim Meyering  <jim@meyering.net>
62510
62511         * modules/pathmax (License): Change to LGPL.
62512
62513 2005-09-19  Derek Price  <derek@ximbiot.com>
62514
62515         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
62516
62517 2005-09-19  Bruno Haible  <bruno@clisp.org>
62518
62519         * gnulib-tool (import): Provide default for --tests-base.
62520
62521 2005-09-19  Bruno Haible  <bruno@clisp.org>
62522
62523         * doc/quote.texi: New file, extracted from gnulib.texi.
62524         * doc/ctime.texi: New file, extracted from gnulib.texi.
62525         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
62526         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
62527         * doc/gnulib.texi: Include them.
62528
62529 2005-09-18  Bruno Haible  <bruno@clisp.org>
62530
62531         Portability fix.
62532         * gnulib-tool (func_readlink): New function.
62533         (func_ln_if_changed): Use it.
62534
62535 2005-09-18  Bruno Haible  <bruno@clisp.org>
62536
62537         * gnulib-tool: Support --with-tests also with --import.
62538         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
62539         (func_import): Use variables $testsbase and $inctests. Emit a
62540         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
62541         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
62542         SUBDIRS += $testsdir.
62543         (func_create_testdir): Update.
62544
62545 2005-09-18  Bruno Haible  <bruno@clisp.org>
62546
62547         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
62548         instead of $dry_run.
62549         (func_cp_if_changed, func_mv_if_changed): Remove functions.
62550         (func_ln_if_changed): Don't handle dry-run here.
62551         (func_import): In dry-run mode, detect more precisely which actions
62552         would be performed, and don't use "...ing" verbs.
62553
62554 2005-09-18  Bruno Haible  <bruno@clisp.org>
62555
62556         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
62557         (func_import): Use join on two temporary files instead of three nested
62558         loops, in order to determine which files are new or old.
62559
62560 2005-09-18  Bruno Haible  <bruno@clisp.org>
62561
62562         * gnulib-tool (func_import): Comment out code that spits out the
62563         new files with --dry-run.
62564
62565 2005-09-18  Bruno Haible  <bruno@clisp.org>
62566
62567         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
62568
62569 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
62570
62571         * lib/stat-time.h: New file.
62572         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
62573         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
62574         in a different way.
62575         (timespec_cmp): New function.
62576         * lib/utimecmp.c: Include stat-time.h.
62577         (SYSCALL_RESOLUTION): Depend on whether various struct stat
62578         members exist, not on the obsolescent ST_MTIM_NSEC.
62579         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
62580
62581 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
62582
62583         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
62584
62585 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
62586
62587         * MODULES.html.sh (File system functions): Add stat-time.
62588         * modules/stat-time: New file.
62589         * modules/timespec (Files): Remove m4/st_mtim.m4; this
62590         is now done in a different way, by the stat-time module.
62591         * modules/utimecmp (Depends-on): Add stat-time.
62592
62593 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
62594
62595         * m4/st_mtim.m4: Remove.  Superseded by...
62596         * m4/stat-time.m4: New file.
62597         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
62598         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
62599
62600 2005-09-15  Derek Price  <derek@ximbiot.com>
62601
62602         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
62603
62604 2005-09-15  Derek Price  <derek@ximbiot.com>
62605
62606         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
62607         * lib/regex_internal.c: Ditto, using this...
62608         (__GNUC_PREREQ): ...new macro.
62609         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
62610         using...
62611         (__GNUC_PREREQ): ...this new macro.
62612
62613         * lib/strstr.h: Include string.h. Define strstr as a macro here.
62614
62615 2005-09-15  Derek Price  <derek@ximbiot.com>
62616             Paul Eggert  <eggert@cs.ucla.edu>
62617
62618         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
62619         changes, consolidating in...
62620         * lib/regex_internal.h: ...this file.
62621
62622 2005-09-13  Jim Meyering  <jim@meyering.net>
62623
62624         * lib/canon-host.c: Filter through gnu indent and reword comments
62625         slightly.
62626         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
62627
62628 2005-09-13  Derek Price  <derek@ximbiot.com>
62629
62630         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
62631         failure.
62632         Reported by Jim Meyering  <jim@meyering.net>.
62633
62634 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
62635
62636         * lib/base64.c: Typo.
62637         (base64_encode): Put b64str in initialized data section.
62638
62639 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
62640
62641         Merge glibc and coreutils changes into gnulib, plus a few
62642         extra fixes.
62643         * lib/md5.c: Use #error rather than a string.
62644         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
62645         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
62646         (__attribute__): Define to empty for non recent-GCC.
62647         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
62648         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
62649         Renamed from their non-__ counterparts, with new macros replacing
62650         them if not _LIBC.  Add __THROW attribute.
62651         (rol): Remove.
62652         (struct md5_ctx): Align buffer if using GCC.
62653         * lib/sha1.h (struct sha1_ctx): Likewise.
62654         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
62655         The old name was backwards.
62656         (NOTSWAP): Remove; not used.
62657         (rol): New macro, moved here from md5.h.
62658         (sha1_process_block): Remove a FIXME that doesn't make sense.
62659
62660 2005-09-12  Derek Price  <derek@ximbiot.com>
62661
62662         Return usable errors from canon-host.
62663         * lib/canon-host.h: New file.
62664         * lib/canon-host.c (canon_host): Wrap...
62665         (canon_host_r): ...this new function, which now relies exclusively on
62666         getaddrinfo.
62667         (ch_strerror): New function.
62668         (last_cherror): New global.
62669         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
62670         interface.
62671         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
62672         void *.
62673         (freeaddrinfo): Free ai->ai_canonname when set.
62674
62675 2005-09-12  Derek Price  <derek@ximbiot.com>
62676
62677         Make canon-host require getaddrinfo.
62678         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
62679         AC_LIBSOURCE canon-host.h.  Call...
62680         (gl_PREREQ_CANON_HOST): ...this new function, which requires
62681         gl_GETADDRINFO.
62682         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
62683
62684 2005-09-12  Derek Price  <derek@ximbiot.com>
62685
62686         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
62687         LGPL.
62688         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
62689
62690 2005-09-12  Derek Price  <derek@ximbiot.com>
62691
62692         * lib/gai_strerror.c: Include config.h when available.  Include
62693         getaddrinfo.h before other headers to test interface.
62694         Reported by Larry Jones <lawrence.jones@ugs.com>.
62695
62696 2005-09-12  Derek Price  <derek@ximbiot.com>
62697             Paul Eggert  <eggert@cs.ucla.edu>
62698
62699         * modules/glob (Files): Add glob-libc.h.
62700
62701 2005-09-12  Derek Price  <derek@ximbiot.com>
62702             Paul Eggert  <eggert@cs.ucla.edu>
62703
62704         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
62705         glob_.h, glob-libc.h.
62706         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
62707
62708 2005-09-12  Derek Price  <derek@ximbiot.com>
62709             Paul Eggert  <eggert@cs.ucla.edu>
62710
62711         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
62712         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
62713         protecting things that should be done only in gnulib contexts.
62714         * lib/glob_.h: New file, containing only the glob things needed for
62715         gnulib.
62716         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
62717         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
62718         (glob, globfree, glob_pattern_p): Now defined simply in terms of
62719         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
62720         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
62721         and to respect the namespace rules better.
62722
62723 2005-09-08  Simon Josefsson  <jas@extundo.com>
62724
62725         * modules/socklen: New file.
62726
62727 2005-09-08  Simon Josefsson  <jas@extundo.com>
62728
62729         * m4/socklen.m4: New file.
62730
62731 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62732
62733         * modules/utimens (Files): Add m4/utimbuf.m4, since
62734         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
62735         Reported by Sergey Poznyakoff.
62736
62737 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62738
62739         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
62740         definitions, since that's the preferred style in glibc.
62741         Fix a minor spacing issue, and update copyright notice to match
62742         glibc's.
62743
62744 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62745
62746         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
62747
62748 2005-09-06  Simon Josefsson  <jas@extundo.com>
62749
62750         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
62751         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
62752
62753 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62754
62755         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
62756         warning.
62757
62758 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62759
62760         * config/srclist.txt: Add glibc bug 1302.
62761
62762 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
62763
62764         Change bitset word type from unsigned int to unsigned long int,
62765         as this has better performance on typical 64-bit hosts.
62766         Port bitset code to hosts with unusual word sizes.
62767         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
62768         (build_collating_symbol):
62769         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
62770         argument is a bitset.  This is merely a style issue, but it makes
62771         it clearer that an entire array is expected.
62772         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
62773         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
62774         Port to the case where bitset_word is not the same as unsigned int.
62775         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
62776         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
62777         Likewise.
62778         * lib/regexec.c (check_dst_limits_calc_pos_1,
62779         check_subexp_matching_top):
62780         (build_trtable, group_nodes_into_DFAstates):
62781         Likewise.
62782         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
62783         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
62784         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
62785         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
62786         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
62787         * lib/regcomp.c (optimize_subexps, lower_subexp):
62788         Work even if bitset_word has holes in its bitwise representation.
62789         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
62790         * lib/regexec.c (check_dst_limits_calc_pos_1,
62791         check_subexp_matching_top):
62792         Likewise.
62793         * lib/regex_internal.c (re_string_reconstruct):
62794         Don't assume UCHAR_MAX == 255.
62795         * lib/regex_internal.h (bitset_set_all): Likewise.
62796         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
62797         All uses changed.
62798         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
62799         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
62800         All uses changed.
62801         (BITSET_WORD_MAX): New macro.
62802         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
62803         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
62804         (bitset_empty, bitset_copy):
62805         Prefer sizeof (bitset) to multiplying it out ourselves.
62806         (bitset_not_merge): Remove; unused.
62807         (bitset_contain): Return bool, not unsigned int with one bit on.
62808         All callers changed.
62809         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
62810         alignment than re_node_set; do this by defining a new internal
62811         type struct dests_alloc and using it to allocate memory.
62812
62813 2005-09-05  Bruno Haible  <bruno@clisp.org>
62814
62815         * gnulib-tool (func_import): Fix comparison in handling of symbolic
62816         links.
62817
62818 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
62819
62820         * modules/size_max (Makefile.am): Add size_max.h
62821
62822 2005-09-04  Derek Price  <derek@ximbiot.com>
62823
62824         * gnulib-tool (func_import): Fix reversed $symbolic logic.
62825
62826 2005-09-03  Simon Josefsson  <jas@extundo.com>
62827
62828         * gnulib-tool: Fix typo.
62829
62830 2005-09-03  Simon Josefsson  <jas@extundo.com>
62831
62832         * config/srclist.txt: Add glibc bug 1293.
62833
62834 2005-09-03  Derek Price  <derek@ximbiot.com>
62835
62836         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
62837         From Larry Jones <lawrence.jones@ugs.com>.
62838
62839 2005-09-02  Simon Josefsson  <jas@extundo.com>
62840
62841         * modules/socklen: New file.
62842
62843 2005-09-02  Simon Josefsson  <jas@extundo.com>
62844
62845         * modules/havelib: New module.
62846
62847         * modules/gettext, modules/iconv, modules/lock, modules/readline:
62848         Use havelib.
62849
62850 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
62851
62852         Check for arithmetic overflow when calculating sizes, to prevent
62853         some buffer-overflow issues.  These patches are conservative, in the
62854         sense that when I couldn't determine whether an overflow was possible,
62855         I inserted a run-time check.
62856         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
62857         macros.
62858         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
62859         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
62860         (re_xnrealloc, re_x2nrealloc): New inline functions.
62861         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
62862         parse_bracket_exp):
62863         (build_equiv_class, build_charclass): Check for arithmetic overflow
62864         in size expression calculations.
62865         * lib/regex_internal.c (re_string_realloc_buffers):
62866         (build_wcs_upper_buffer, re_node_set_add_intersect):
62867         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
62868         (re_dfa_add_node, register_state): Likewise.
62869         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
62870         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
62871         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
62872         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
62873
62874 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
62875
62876         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
62877         m4/ulonglong.m4.  Problem reported by Martin Lambers.
62878
62879 2005-09-02  Bruno Haible  <bruno@clisp.org>
62880
62881         Support for lib vs. lib64 distinction on biarch platforms.
62882         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
62883         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
62884         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
62885
62886 2005-09-02  Bruno Haible  <bruno@clisp.org>
62887
62888         * gnulib-tool (import): In the other first-use case, provide defaults
62889         as well.
62890
62891 2005-09-02  Bruno Haible  <bruno@clisp.org>
62892
62893         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
62894         patches not yet found in the latest gettext release.
62895
62896 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
62897
62898         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
62899         to avoid a collision with bits/local_lim.h in glibc.
62900         All uses changed.  Problem reported by Dmitry V. Levin in
62901         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
62902
62903         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
62904         bugs in int versus size_t comparisons.
62905         (re_string_context_at): Fix bug where the code assumed that
62906         Idx is signed.
62907
62908         Use bool where appropriate.
62909         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
62910         All callers changed.
62911         (calc_eclosure_iter): Likewise, for ROOT arg.
62912         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
62913         (build_charclass_op): Likewise, for NON_MATCH arg.
62914         * lib/regex_internal.c (re_string_allocate, re_string_construct):
62915         (re_string_construct_common): Likewise, for ICASE arg.
62916         * lib/regexec.c (re_search_2_stub, re_search_stub):
62917         Likewise, for RET_LEN arg.
62918         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
62919         (set_regs): Likewise, for FL_BACKTRACK arg.
62920         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
62921         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
62922         (calc_eclosure_iter, parse_bracket_exp):
62923         Use bool for internal variables that are booleans.
62924         * lib/regexec.c (re_search_internal, check_matching,
62925         proceed_next_node):
62926         (set_regs, build_sifted_states, sift_states_bkref):
62927         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
62928         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
62929         (find_collation_sequence_value):
62930         Likewise.
62931         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
62932         (re_node_set_compare):
62933         Return bool, not int. All callers changed.
62934         * lib/regexec.c (check_halt_node_context, check_dst_limits):
62935         (build_trtable, check_node_accept): Likewise.
62936         * lib/regex_internal.h: Include stdbool.h.
62937
62938         Fix bugs uncovered when converting to bool.
62939         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
62940         failure instead of charging ahead blindly.
62941         * lib/regex_internal.c (register_state): Likewise.
62942         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
62943         for freeing internal storage.
62944         (group_nodes_into_DFA_states): Use unsigned int, not int, for
62945         bitset pieces used as boolean, to avoid undefined behavior
62946         on hosts that do int overflow checking.
62947
62948 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
62949
62950         * config/srclist.txt: Add glibc bugs 1285-1287.
62951
62952 2005-09-01  Jim Meyering  <jim@meyering.net>
62953
62954         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
62955         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
62956         Require gl_STAT_MACROS, too.
62957
62958 2005-09-01  Bruno Haible  <bruno@clisp.org>
62959
62960         * gnulib-tool (import): In the first-use case, provide defaults.
62961
62962 2005-09-01  Bruno Haible  <bruno@clisp.org>
62963
62964         * gnulib-tool (func_import): Remove the .tmp files.
62965
62966 2005-09-01  Bruno Haible  <bruno@clisp.org>
62967
62968         * gnulib-tool (func_import): Fix handling of symbolic links.
62969
62970 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
62971
62972         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
62973         old glibc regex code mishandles strings longer than 2**31 bytes.
62974         This patch fixes this when the regex code is used in gnulib
62975         (i.e., outside glibc).
62976
62977         This patch should not affect the use of the regex code inside
62978         glibc.  No doubt this problem also needs to be handled for glibc
62979         as well, but the result will be an incompatible change to the
62980         glibc ABI, and the old ABI will have to be supported too.  That
62981         can be the the subject for another patch.
62982
62983         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
62984         governing whether the rest of this patch is active.  By default,
62985         the macro is disabled and the patch has no effect.
62986         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
62987         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
62988         (struct re_pattern_buffer, re_search, re_search_2, re_match):
62989         (re_match_2, re_set_registers): Use the new types.
62990         * lib/regex_internal.h (Idx, re_hashval_t): New types.
62991         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
62992         New macros.
62993         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
62994         (re_string_context_at, bin_tree_t, re_dfastate_t):
62995         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
62996         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
62997         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
62998         (re_string_char_size_at, re_string_wchar_at):
62999         (re_string_elem_size_at):
63000         Use the new types and macros to port to 64-bit hosts.
63001         Use unsigned types for internal values, so that the code
63002         mostly works even for arrays larger than SSIZE_MAX.
63003         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
63004         (search_duplicated_node, calc_eclosure_iter, fetch_number):
63005         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
63006         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
63007         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
63008         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
63009         (calc_inveclosure, parse_dup_op, build_range_exp):
63010         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
63011         (fetch_number, create_token_tree, mark_opt_subexp):
63012         Likewise.
63013         * lib/regex_internal.c (re_string_construct_common,
63014         create_ci_newstate):
63015         (create_cd_newstate, re_string_allocate, re_string_construct):
63016         (re_string_realloc_buffers, build_wcs_upper_buffer):
63017         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
63018         (re_string_reconstruct, re_string_peek_byte_case):
63019         (re_string_fetch_byte_case, re_string_context_at):
63020         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
63021         (re_node_set_init_copy, re_node_set_add_intersect):
63022         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
63023         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
63024         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
63025         (re_acquire_state, re_acquire_state_context, register_state):
63026         Likewise.
63027         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
63028         search_cur_bkref_entry):
63029         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
63030         (re_search_internal, re_search_2_stub, re_search_stub)
63031         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
63032         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
63033         (update_cur_sifted_state, check_dst_limits):
63034         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
63035         (check_subexp_limits, sift_states_bkref, merge_state_array):
63036         (check_subexp_matching_top, get_subexp, get_subexp_sub):
63037         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
63038         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
63039         (expand_bkref_cache, check_node_accept_bytes):
63040         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
63041         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
63042         (acquire_init_state_context, check_halt_node_context):
63043         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
63044         (sift_states_backward, clean_state_log_if_needed):
63045         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
63046         (find_recover_state, transit_state_sb, transit_state_mb):
63047         (transit_state_bkref, build_trtable, match_ctx_clean):
63048         Likewise.
63049         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
63050         to work around an assumption that REG_MISSING is negative.
63051
63052         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
63053         (seek_collating_symbol_entry) [defined _LIBC]:
63054         (lookup_collation_sequence_value) [defined _LIBC]:
63055         (build_range_exp, build_collating_symbol) [defined _LIBC]:
63056         Use prototypes rather than old-style function definitions.
63057         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
63058         (transit_state_sb) [0]:
63059         (find_collation_sequence_value) [defined _LIBC]: Likewise.
63060
63061         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
63062         rm_eo.
63063
63064         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
63065         (optimize_subexps, lower_subexp):
63066         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
63067         since the signed shift might overflow.  Use 1u<<31 instead.
63068         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
63069         Likewise.
63070         * lib/regexec.c (check_dst_limits_calc_pos_1,
63071         check_subexp_matching_top): Likewise.
63072
63073         * lib/regcomp.c (optimize_subexps, lower_subexp):
63074         Use CHAR_BIT rather than 8, for clarity.
63075         * lib/regexec.c (check_dst_limits_calc_pos_1):
63076         (check_subexp_matching_top): Likewise.
63077         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
63078         have to worry about portability issues when shifting it left.
63079         Remove no-longer-needed test for table_size > 0.
63080         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
63081         in a word, as the resulting behavior is undefined.
63082         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
63083         in one case, a <= should have been an <, and in another case the
63084         whole test was missing.
63085         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
63086         the standard name CHAR_BIT.
63087         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
63088         this is not true on one's complement and signed-magnitude hosts.
63089
63090         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
63091         next_last_offset.
63092         (struct re_dfa_t): Remove unused member states_alloc.
63093         * lib/regcomp.c (init_dfa): Don't initialize unused members.
63094
63095 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63096
63097         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
63098         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
63099         and large-file glibc and in 32-bit large-file Solaris.
63100
63101 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63102
63103         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
63104         lengths fit in regoff_t; this isn't true if regoff_t is the same
63105         width as size_t.
63106         * lib/regex.c (re_search_internal): 5th arg is LAST_START
63107         (= START + RANGE) instead of RANGE.  This avoids overflow
63108         problems when regoff_t is the same width as size_t.
63109         All callers changed.
63110         (re_search_2_stub): Check for overflow when adding the
63111         sizes of the two strings.
63112         (re_search_stub): Check for overflow when adding START
63113         to RANGE; if it occurs, substitute the extreme value.
63114
63115 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63116
63117         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
63118
63119 2005-08-31  Jim Meyering  <jim@meyering.net>
63120
63121         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
63122         a pointer-to-const.
63123         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
63124         (register_state): Likewise.
63125         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
63126         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
63127         (group_nodes_into_DFAstates): Likewise.
63128
63129 2005-08-31  Jim Meyering  <jim@meyering.net>
63130
63131         * check-module: Add a FIXME comment.
63132
63133 2005-08-31  Eric Blake  <ebb9@byu.net>
63134
63135         * modules/unistd-safer (Files): Add unistd--.h.
63136         * modules/stdio-safer (Files): Add stdio--.h.
63137
63138 2005-08-31  Derek Price  <derek@ximbiot.com>
63139
63140         * lib/getdelim.c (getdelim): Return EOF on EOF.
63141         Reported by Larry Jones <lawrence.jones@ugs.com>.
63142
63143 2005-08-31  Bruno Haible  <bruno@clisp.org>
63144
63145         Avoid unnecessary diffs in the generated lib/Makefile.am.
63146         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
63147         the generated files.
63148         (func_import): Don't set cmd.
63149
63150 2005-08-31  Bruno Haible  <bruno@clisp.org>
63151
63152         * lib/strstr.c: Include <stddef.h>, for NULL.
63153         * lib/strcasestr.c: Likewise.
63154         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63155
63156 2005-08-31  Bruno Haible  <bruno@clisp.org>
63157
63158         * gnulib-tool: New option --macro-prefix.
63159         (func_import): Use macro_prefix.
63160         (import): Handle option --macro-prefix.
63161
63162 2005-08-31  Bruno Haible  <bruno@clisp.org>
63163
63164         * gnulib-tool (import): Rename most ac_* variables to cached_*.
63165         Also use new variables cached_lgpl, cached_libtool.
63166
63167 2005-08-31  Bruno Haible  <bruno@clisp.org>
63168
63169         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
63170         always instantiating them.
63171
63172 2005-08-31  Bruno Haible  <bruno@clisp.org>
63173
63174         * gnulib-tool (func_import): Read the previous cached settings
63175         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
63176         earlier added by gnulib but are now dropped. Warn when a gnulib file
63177         overwrites a non-gnulib file.
63178
63179 2005-08-31  Bruno Haible  <bruno@clisp.org>
63180
63181         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
63182         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
63183         projects that don't keep autogenerated files in CVS. Put into
63184         actioncmd only the specified modules, not the transitive closure.
63185
63186 2005-08-31  Bruno Haible  <bruno@clisp.org>
63187
63188         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
63189         Create directories that shall be filled.
63190         (import): Don't look for gl_* macros in configure.ac. Recurse across
63191         all directories containing a gnulib-cache.m4 files, if meaningful.
63192
63193 2005-08-31  Bruno Haible  <bruno@clisp.org>
63194
63195         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
63196         (import): Set seen_libtool when we see gl_LIBTOOL.
63197
63198 2005-08-31  Bruno Haible  <bruno@clisp.org>
63199
63200         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
63201         declaration macro definitions from generated gnulib.m4.
63202
63203 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
63204
63205         * lib/iconvme.h: Add prototype for iconv_alloc.
63206
63207 2005-08-29  Simon Josefsson  <jas@extundo.com>
63208
63209         * lib/iconvme.c: Fix errno.
63210
63211 2005-08-29  Bruno Haible  <bruno@clisp.org>
63212
63213         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
63214         that it works when the directory contains spaces.
63215
63216 2005-08-29  Bruno Haible  <bruno@clisp.org>
63217
63218         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
63219
63220 2005-08-29  Bruno Haible  <bruno@clisp.org>
63221
63222         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
63223         Emit more advice.
63224
63225 2005-08-29  Bruno Haible  <bruno@clisp.org>
63226         and Stepan Kasal  <kasal@ucw.cz>
63227
63228         * check-module: If more parameters are given, check each of them
63229         separately; add more exceptions, as noted by Jim Meyering.
63230         (check_module): New procedure.
63231         (%exempt_header): Now contains all exceptions.
63232
63233 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
63234
63235         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
63236
63237 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
63238
63239         * lib/iconvme.c: Split iconv_string into iconv_alloc.
63240
63241 2005-08-28  Bruno Haible  <bruno@clisp.org>
63242
63243         * m4/gnulib-tool.m4: New file.
63244
63245 2005-08-27  Jim Meyering  <jim@meyering.net>
63246
63247         * modules/unistd-safer (Files): Add pipe-safer.c.
63248         * modules/fcntl-safer (Files): Add creat-safer.c.
63249
63250 2005-08-27  Jim Meyering  <jim@meyering.net>
63251
63252         * m4/stdlib-safer.m4: New file.  From coreutils.
63253         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
63254         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
63255         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
63256         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
63257         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
63258
63259 2005-08-27  Jim Meyering  <jim@meyering.net>
63260
63261         * lib/fopen-safer.c: Merge minor changes from coreutils.
63262         * lib/dup-safer.c: Likewise.
63263         * lib/fd-safer.c: Likewise.
63264
63265         Merge from coreutils.
63266         * lib/stdio--.h: New file.
63267         * lib/stdlib--.h: New file.
63268         * lib/mkstemp-safer.c: New file.
63269
63270         GNU tar needs these.
63271         * lib/pipe-safer.c: New file.
63272         * lib/creat-safer.c: New file.
63273         * lib/fcntl--.h (creat): Define to creat_safer.
63274         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
63275         * lib/unistd--.h (pipe): Define to pipe_safer.
63276         * lib/unistd-safer.h: Declare pipe_safer.
63277
63278 2005-08-26  Simon Josefsson  <jas@extundo.com>
63279
63280         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
63281         Haible <bruno@clisp.org>.
63282
63283 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
63284
63285         * lib/regex_internal.h: Remove all references to
63286         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
63287         or better.
63288         (bitset_not, bitset_merge, bitset_not_merge):
63289         (bitset_mask, re_string_allocate, re_string_construct):
63290         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
63291         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
63292         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
63293         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
63294         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
63295         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
63296         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
63297         (re_acquire_state_context):
63298         Remove unnecessary forward decls.
63299         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
63300         Put __attribute at function definition,
63301         now that the function decl has been removed.
63302         * lib/regex_internal.c (re_string_peek_byte_case):
63303         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
63304         Likewise.
63305
63306 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
63307
63308         * m4/regex.m4: Add AC_PREREQ(2.50).
63309         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
63310
63311 2005-08-25  Simon Josefsson  <jas@extundo.com>
63312
63313         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
63314         __fsetlocking.
63315
63316 2005-08-25  Simon Josefsson  <jas@extundo.com>
63317
63318         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
63319         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
63320         GLIBC specific code.
63321
63322 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63323
63324         Make regex safe for g++.  This fixes one real bug (an "err"
63325         that should have been "*err").  g++ problem reported by
63326         Sam Steingold.
63327         * lib/regex_internal.h (re_calloc): New macro, consistent with
63328         re_malloc etc.  All callers of calloc changed to use re_calloc.
63329         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
63330         not int.  All callers changed.
63331         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
63332         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
63333         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
63334         (find_recover_state): Change "err" to "*err"; this fixes what
63335         appears to be a real bug.
63336         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
63337         versus int.
63338
63339 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63340
63341         * modules/regex (Depends-on): Add malloc, since the code
63342         assumes that !malloc(0) means failure.
63343
63344 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63345
63346         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
63347
63348         alloca modernization/simplification for regex.
63349         * lib/regex.c: Remove portability cruft for alloca.  This no longer
63350         needs to be at the start of the file, and can be moved into
63351         regex_internal.h and simplified.
63352         * lib/regex_internal.h: Include <alloca.h>.
63353         (__libc_use_alloca) [!defined _LIBC]: New macro.
63354         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
63355         now works outside glibc.
63356
63357 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63358
63359         * config/srclist.txt: Add glibc bugs 1241, 1245.
63360
63361 2005-08-25  Jim Meyering  <jim@meyering.net>
63362
63363         * lib/open-safer.c: Include <config.h>.
63364         Otherwise, we'd lose LARGEFILE support in any file using
63365         e.g. "fcntl--.h"
63366
63367 2005-08-25  Bruno Haible  <bruno@clisp.org>
63368
63369         * m4/minmax.m4: Require autoconf 2.52.
63370         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
63371         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
63372         alternatives of translit over the alphabet.
63373         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
63374
63375 2005-08-24  Simon Josefsson  <jas@extundo.com>
63376
63377         * tests/test-getpass.c: New file.
63378
63379 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
63380
63381         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
63382         for GNU regex features.
63383
63384 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
63385
63386         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
63387         * lib/regex.h (regerror): Likewise.
63388
63389         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
63390         requires this.  (The code never needed it.)
63391
63392         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
63393         All uses of recently-renamed identifiers changed to use the new,
63394         POSIX-compliant names.  The code will build and run just fine
63395         without these changes, but it's better to eat our own dog food
63396         and use the standard-conforming names.
63397
63398         * lib/regex.h: Fix a multitude of POSIX name space violations.
63399         These changes have an effect only for programs that define
63400         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
63401         do not change anything for programs compiled in the normal way.
63402         Also, there is no effect on the ABI.
63403
63404         (_REGEX_SOURCE): New macro.
63405         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
63406         defined and _GNU_SOURCE is not; this fixes a name space violation.
63407
63408         Rename the following macros to obey POSIX requirements.
63409         The old names are still visible as macros if _REGEX_SOURCE is defined.
63410         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
63411         RE_BACKSLASH_ESCAPE_IN_LISTS.
63412         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
63413         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
63414         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
63415         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
63416         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
63417         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
63418         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
63419         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
63420         (REG_INTERVALS): renamed from RE_INTERVALS.
63421         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
63422         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
63423         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
63424         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
63425         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
63426         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
63427         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
63428         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
63429         RE_UNMATCHED_RIGHT_PAREN_ORD.
63430         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
63431         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
63432         (REG_DEBUG): renamed from RE_DEBUG.
63433         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
63434         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
63435         unusual, since we can't clash with the POSIX REG_ICASE.
63436         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
63437         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
63438         (REG_NO_SUB): renamed from RE_NO_SUB.
63439         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
63440         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
63441         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
63442         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
63443         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
63444         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
63445         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
63446         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
63447         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
63448         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
63449         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
63450         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
63451         RE_SYNTAX_POSIX_MINIMAL_BASIC.
63452         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
63453         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
63454         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
63455         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
63456         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
63457         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
63458         (REG_FIXED): Renamed from REGS_FIXED.
63459         (REG_NREGS): Renamed from RE_NREGS.
63460
63461         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
63462         of other REG_* macros, since POSIX says the user is allowed to
63463         #undef these macros selectively.
63464
63465         (reg_errcode_t): Update comment stating what other tables need
63466         to be consistent.
63467
63468         Rename the following enum values to obey POSIX requirements.
63469         The old names are still visible as macros.
63470         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
63471         is not defined, since GNU is supposed to be a superset of POSIX as
63472         much as possible, and since we want reg_errcode_t to be a signed
63473         type for implementation consistency.
63474         (_REG_NOERROR): Renamed from REG_NOERROR.
63475         (_REG_NOMATCH): Renamed from REG_NOMATCH.
63476         (_REG_BADPAT): Renamed from REG_BADPAT.
63477         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
63478         (_REG_ECTYPE): Renamed from REG_ECTYPE.
63479         (_REG_EESCAPE): Renamed from REG_EESCAPE.
63480         (_REG_ESUBREG): Renamed from REG_ESUBREG.
63481         (_REG_EBRACK): Renamed from REG_EBRACK.
63482         (_REG_EPAREN): Renamed from REG_EPAREN.
63483         (_REG_EBRACE): Renamed from REG_EBRACE.
63484         (_REG_BADBR): Renamed from REG_BADBR.
63485         (_REG_ERANGE): Renamed from REG_ERANGE.
63486         (_REG_ESPACE): Renamed from REG_ESPACE.
63487         (_REG_BADRPT): Renamed from REG_BADRPT.
63488         (_REG_EEND): Renamed from REG_EEND.
63489         (_REG_ESIZE): Renamed from REG_ESIZE.
63490         (_REG_ERPAREN): Renamed from REG_ERPAREN.
63491         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
63492         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
63493         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
63494         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
63495
63496         (_REG_RE_NAME, _REG_RM_NAME): New macros.
63497         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
63498         changed.  But support the old name if the new one is not defined
63499         and if _REGEX_SOURCE.
63500
63501         Change the following member names in struct re_pattern_buffer.
63502         The old names are still supported if !_REGEX_SOURCE.
63503         The new names are always supported, regardless of _REGEX_SOURCE.
63504         (re_buffer): Renamed from buffer.
63505         (re_allocated): Renamed from allocated.
63506         (re_used): Renamed from used.
63507         (re_syntax): Renamed from syntax.
63508         (re_fastmap): Renamed from fastmap.
63509         (re_translate): Renamed from translate.
63510         (re_can_be_null): Renamed from can_be_null.
63511         (re_regs_allocated): Renamed from regs_allocated.
63512         (re_fastmap_accurate): Renamed from fastmap_accurate.
63513         (re_no_sub): Renamed from no_sub.
63514         (re_not_bol): Renamed from not_bol.
63515         (re_not_eol): Renamed from not_eol.
63516         (re_newline_anchor): Renamed from newline_anchor.
63517
63518         Change the following member names in struct re_registers.
63519         The old names are still supported if !_REGEX_SOURCE.
63520         The new names are always supported, regardless of _REGEX_SOURCE.
63521         (rm_num_regs): Renamed from num_regs.
63522         (rm_start): Renamed from start.
63523         (rm_end): Renamed from end.
63524
63525         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
63526         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
63527         Prepend __ to parameter names.
63528
63529         Undo yesterday's changes.
63530
63531 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
63532
63533         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
63534         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
63535         lib/regex.c.
63536
63537 2005-08-24  Jim Meyering  <jim@meyering.net>
63538
63539         Sync from coreutils.
63540         * m4/fcntl-safer.m4: New file.
63541
63542         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
63543         and object files for this module.
63544
63545 2005-08-24  Jim Meyering  <jim@meyering.net>
63546
63547         Sync from coreutils.
63548         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
63549
63550 2005-08-24  Jim Meyering  <jim@meyering.net>
63551
63552         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
63553         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
63554
63555 2005-08-24  Jim Meyering  <jim@meyering.net>
63556
63557         * modules/fcntl-safer: New module.
63558         * modules/fts (Depends-on): Add fcntl-safer.
63559         * MODULES.html.sh (File descriptor based Input/Output):
63560         Add fcntl-safer.
63561
63562 2005-08-24  Bruno Haible  <bruno@clisp.org>
63563
63564         Support for unit test modules.
63565         * modules/README: Mention tests modules.
63566         * modules/TEMPLATE-TESTS: New file.
63567         * gnulib-tool: New options --extract-tests-module, --with-tests and
63568         --tests-base (unused for the moment).
63569         (testsbase, inctests): New variables.
63570         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
63571         (func_verify_module): Exclude TEMPLATE-TESTS.
63572         (func_verify_nontests_module, func_verify_tests_module): New functions.
63573         (func_get_dependencies): Add implicit dependency for tests modules.
63574         (func_get_tests_module): New function.
63575         (func_modules_transitive_closure): When --with-tests was specified,
63576         include the unit tests as well, unless explicitly avoided.
63577         (func_emit_lib_Makefile_am): Ignore the tests modules here.
63578         (func_emit_tests_Makefile_am): New function.
63579         (func_create_testdir): When --with-tests was specified, emit a
63580         tests/ directory.
63581         * MODULES.html.sh (Future developments): Update.
63582
63583 2005-08-24  Bruno Haible  <bruno@clisp.org>
63584
63585         * modules/tls-tests: New file.
63586         * tests/test-tls.c: New file, from GNU gettext.
63587
63588 2005-08-24  Bruno Haible  <bruno@clisp.org>
63589
63590         * modules/lock-tests: New file.
63591         * tests/test-lock.c: New file, from GNU gettext.
63592
63593 2005-08-24  Bruno Haible  <bruno@clisp.org>
63594
63595         * lib/lock.h: Add multiple inclusion guard.
63596         * lib/tls.h: Add multiple inclusion guard.
63597
63598 2005-08-24  Bruno Haible  <bruno@clisp.org>
63599
63600         * gnulib-tool: Add support for the --aux-dir option to
63601         --create-testdir, --create-megatestdir, --test, --megatest.
63602         (func_create_testdir, func_create_megatestdir): Optionally emit a
63603         AC_CONFIG_AUX_DIR directive.
63604         (create-testdir, create-megatestdir, test, megatest): Provide a
63605         default value for $auxdir.
63606
63607 2005-08-24  Bruno Haible  <bruno@clisp.org>
63608
63609         * gnulib-tool (import): Use compound statement instead of subshell
63610         where possible.
63611
63612 2005-08-24  Bruno Haible  <bruno@clisp.org>
63613
63614         * gnulib-tool (import): Change --aux-dir default to "build-aux".
63615
63616 2005-08-24  Bruno Haible  <bruno@clisp.org>
63617
63618         * gnulib-tool (func_version): Update.
63619
63620 2005-08-24  Bruno Haible  <bruno@clisp.org>
63621
63622         * gnulib-tool (func_import, func_create_testdir,
63623         func_create_megatestdir): Quote all autoconf macro arguments.
63624
63625 2005-08-24  Bruno Haible  <bruno@clisp.org>
63626
63627         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
63628         option --force, because --force causes the aclocal.m4 of each
63629         subdirectory to be newer than the corresponding config.h.in.
63630
63631 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
63632
63633         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
63634         All contents moved to gl_REGEX.
63635         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
63636         assume that it does.
63637
63638 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
63639
63640         * lib/regex.h (REG_NOSYS)
63641         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
63642         Define, since POSIX requires it as of 2001.
63643         (_REG_ENOSYS)
63644         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
63645         New private symbol, used to keep the enum signed in all cases.
63646         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
63647         Youngman in
63648         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
63649
63650         * lib/regex_internal.c (re_string_skip_chars, register_state):
63651         (calc_state_hash):
63652         Remove forward decls; no longer needed now that we use prototypes.
63653         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
63654         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
63655         (clean_state_log_if_needed): Likewise.
63656
63657 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
63658
63659         * config/srclist.txt: Add glibc bugs 1231-1233.
63660
63661 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63662
63663         Fix problems reported by Sam Steingold in
63664         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
63665         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
63666         assumed that reg_errcode_t is a signed type, which is not
63667         necessarily true if _XOPEN_SOURCE is not defined.
63668         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
63669         since some compilers warn about it otherwise.
63670
63671 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63672
63673         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
63674         (init_word_char, create_initial_state, duplicate_node_closure):
63675         (fetch_token, peek_token_bracket, build_range_exp):
63676         (build_collating_symbol): Remove forward decls; no longer needed
63677         now that we use prototypes.
63678
63679         * lib/regcomp.c:
63680         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
63681         (re_compile_fastmap_iter, regcomp, regerror, regfree):
63682         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
63683         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
63684         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
63685         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
63686         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
63687         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
63688         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
63689         (build_range_exp, build_collating_symbol, parse_bracket_exp):
63690         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
63691         (build_charclass, build_charclass_op, fetch_number, create_tree):
63692         (create_token_tree, mark_opt_subexp, duplicate_tree):
63693         Use prototypes rather than old-style definitions.
63694
63695         * lib/regex_internal.c:
63696         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
63697         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
63698         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
63699         (re_string_reconstruct, re_string_peek_byte_case):
63700         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
63701         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
63702         (re_node_set_init_copy, re_node_set_add_intersect):
63703         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
63704         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
63705         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
63706         (re_acquire_state, re_acquire_state_context, register_state):
63707         (create_ci_newstate, create_cd_newstate, free_state):
63708         Likewise.
63709         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
63710         re_search_2):
63711         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
63712         (re_search_internal, prune_impossible_nodes):
63713         (acquire_init_state_context, check_matching, static):
63714         (check_halt_node_context, check_halt_state_context, proceed_next_node):
63715         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
63716         (update_regs, sift_states_backward, build_sifted_states):
63717         (clean_state_log_if_needed, merge_state_array):
63718         (update_cur_sifted_state, add_epsilon_src_nodes):
63719         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
63720         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
63721         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
63722         (find_recover_state, check_subexp_matching_top, transit_state_mb):
63723         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
63724         (check_arrival, check_arrival_add_next_nodes):
63725         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
63726         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
63727         (check_node_accept_bytes, check_node_accept, extend_buffers):
63728         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
63729         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
63730         (sift_ctx_init):
63731         Likewise.
63732
63733         * lib/regex_internal.h:
63734         (re_string_allocate, re_string_construct, re_string_reconstruct):
63735         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
63736         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
63737         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
63738         (re_string_context_at, re_string_peek_byte_case):
63739         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
63740         is defined, since we now use prototypes always.
63741
63742         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
63743         C89 or better.  All uses removed.
63744
63745 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63746
63747         * config/srclist.txt: Add glibc bugs 1220-1227.
63748
63749 2005-08-20  Jim Meyering  <jim@meyering.net>
63750
63751         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
63752         of unused local, dfa.
63753
63754 2005-08-20  Bruno Haible  <bruno@clisp.org>
63755
63756         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
63757
63758 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63759
63760         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
63761         (re_node_set_insert_last, re_dfa_add_node):
63762         Rename local variables to avoid GCC shadowing warnings.
63763
63764 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63765
63766         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
63767         [defined lint]: Suppress bogus uninitialized-variable warnings.
63768
63769         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
63770         and let the caller return REG_ESPACE if out of space.  This
63771         removes an uninitialied-variable warning with GCC 4.0.1, and also
63772         avoids taking the address of a local variable.  All callers
63773         changed.
63774
63775 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63776
63777         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
63778         $LIBCSRC/posix/regexec.c.
63779         Add glibc bug 1217 for regcomp.c.
63780
63781 2005-08-19  Jim Meyering  <jim@meyering.net>
63782
63783         * lib/regexec.c (proceed_next_node): Redo local variables to
63784         avoid GCC shadowing warnings.
63785
63786 2005-08-18  Bruno Haible  <bruno@clisp.org>
63787
63788         * lib/strstr.c (strstr): Fix return value in multibyte case.
63789         * lib/strcasestr.c (strcasestr): Likewise.
63790
63791 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
63792
63793         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
63794
63795 2005-08-17  Jim Meyering  <jim@meyering.net>
63796
63797         Make the %s format (seconds since the epoch) work for a negative
63798         number and when used with a zero-padded field width, e.g. %015s.
63799
63800         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
63801         label so that it precedes the code to set `digits'.  Otherwise,
63802         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
63803         print `00-22'.  Now, it prints `-0022', as it should.
63804
63805 2005-08-17  Bruno Haible  <bruno@clisp.org>
63806
63807         * modules/strstr (Files): Add m4/mbrtowc.m4.
63808         (Depends-on): Add mbuiter.
63809
63810 2005-08-17  Bruno Haible  <bruno@clisp.org>
63811
63812         * modules/strcasestr: New file.
63813         * MODULES.html.sh (String handling, based on ANSI C 89): Add
63814         strcasestr.
63815
63816 2005-08-17  Bruno Haible  <bruno@clisp.org>
63817
63818         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
63819
63820 2005-08-17  Bruno Haible  <bruno@clisp.org>
63821
63822         * modules/mbuiter: New file.
63823         * MODULES.html.sh (Extended multibyte and wide character utilities):
63824         Add mbuiter.
63825
63826 2005-08-17  Bruno Haible  <bruno@clisp.org>
63827
63828         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
63829         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
63830
63831 2005-08-17  Bruno Haible  <bruno@clisp.org>
63832
63833         * m4/strcasestr.m4: New file.
63834
63835 2005-08-17  Bruno Haible  <bruno@clisp.org>
63836
63837         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
63838         * lib/strstr.c: Completely rewritten, with multibyte locale support.
63839
63840 2005-08-17  Bruno Haible  <bruno@clisp.org>
63841
63842         * lib/strcasestr.h: New file.
63843         * lib/strcasestr.c: New file.
63844
63845 2005-08-17  Bruno Haible  <bruno@clisp.org>
63846
63847         * lib/strcasecmp.c: Use mbuiter.h.
63848
63849 2005-08-17  Bruno Haible  <bruno@clisp.org>
63850
63851         * lib/mbuiter.h: New file.
63852
63853 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
63854
63855         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
63856         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
63857         and gl_GETOPT are both invoked via different paths (as happens
63858         with GNU tar CVS because it uses both argp and getopt), the former
63859         wins.
63860
63861 2005-08-16  Bruno Haible  <bruno@clisp.org>
63862
63863         * modules/tls: New file.
63864         * MODULES.html.sh (Multithreading): Add tls.
63865
63866 2005-08-16  Bruno Haible  <bruno@clisp.org>
63867
63868         * modules/strnlen1: New file.
63869         * MODULES.html.sh (String handling): Add strnlen1.
63870
63871 2005-08-16  Bruno Haible  <bruno@clisp.org>
63872
63873         * modules/strcase (Files): Add m4/mbrtowc.m4.
63874         (Depends-on): Add strnlen1, mbchar.
63875
63876 2005-08-16  Bruno Haible  <bruno@clisp.org>
63877
63878         * modules/mbiter: New file.
63879         * MODULES.html.sh (Extended multibyte and wide character utilities):
63880         Add mbiter.
63881
63882 2005-08-16  Bruno Haible  <bruno@clisp.org>
63883
63884         * modules/mbfile: New file.
63885         * MODULES.html.sh (Extended multibyte and wide character utilities):
63886         Add mbfile.
63887
63888 2005-08-16  Bruno Haible  <bruno@clisp.org>
63889
63890         * modules/mbchar: New file.
63891         * MODULES.html.sh (Extended multibyte and wide character utilities):
63892         New section.
63893
63894 2005-08-16  Bruno Haible  <bruno@clisp.org>
63895
63896         * m4/tls.m4: New file, from GNU gettext.
63897
63898 2005-08-16  Bruno Haible  <bruno@clisp.org>
63899
63900         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
63901         always.
63902         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
63903
63904 2005-08-16  Bruno Haible  <bruno@clisp.org>
63905
63906         * m4/mbiter.m4: New file.
63907
63908 2005-08-16  Bruno Haible  <bruno@clisp.org>
63909
63910         * m4/mbfile.m4: New file.
63911
63912 2005-08-16  Bruno Haible  <bruno@clisp.org>
63913
63914         * m4/mbchar.m4: New file.
63915
63916 2005-08-16  Bruno Haible  <bruno@clisp.org>
63917
63918         * lib/tls.h: New file, from GNU gettext.
63919         * lib/tls.c: New file, from GNU gettext.
63920
63921 2005-08-16  Bruno Haible  <bruno@clisp.org>
63922
63923         * lib/strnlen1.h: New file.
63924         * lib/strnlen1.c: New file.
63925
63926 2005-08-16  Bruno Haible  <bruno@clisp.org>
63927
63928         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
63929         (mbi_init): Update.
63930         (mbi_avail, mbi_advance): Let the iteration end before the terminating
63931         NUL byte, not after it.
63932
63933 2005-08-16  Bruno Haible  <bruno@clisp.org>
63934
63935         * lib/strcase.h (strcasecmp): Add note in comments.
63936         * lib/strncasecmp.c: Use code from strcasecmp.c.
63937         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
63938         (strcasecmp): Work correctly in multibyte locales.
63939
63940 2005-08-16  Bruno Haible  <bruno@clisp.org>
63941
63942         * lib/mbiter.h: New file.
63943
63944 2005-08-16  Bruno Haible  <bruno@clisp.org>
63945
63946         * lib/mbfile.h: New file.
63947
63948 2005-08-16  Bruno Haible  <bruno@clisp.org>
63949
63950         * lib/mbchar.h: New file.
63951         * lib/mbchar.c: New file.
63952
63953 2005-08-16  Bruno Haible  <bruno@clisp.org>
63954
63955         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
63956         the valid ones. Makes the comparison operations transitive:
63957         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
63958         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
63959
63960 2005-08-15  Simon Josefsson  <jas@extundo.com>
63961
63962         * modules/ssize_t (License): Change to 'unlimited'.
63963
63964         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
63965
63966 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63967
63968         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
63969         Add comments for each pending glibc patch.
63970
63971 2005-08-15  Bruno Haible  <bruno@clisp.org>
63972
63973         * lib/regex.h (__restrict_arr): Don't define to __restrict if
63974         __cplusplus is defined.
63975
63976 2005-08-14  Jim Meyering  <jim@meyering.net>
63977
63978         Sync from coreutils.
63979
63980         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
63981         Use the hash-table-based cycle-detection code not just when
63982         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
63983         Reported by James Youngman in
63984         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
63985         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
63986         FTS_TIGHT_CYCLE_CHECK.
63987         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
63988         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
63989         once again.
63990         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
63991         * lib/fts.c (fd_safer): Remove decl.
63992         Include fcntl--.h rather than unistd-safer.h
63993         (fts_safe_changedir): Don't call fd_safer; no longer needed
63994         now that we include fcntl--.h.
63995
63996 2005-08-12  Simon Josefsson  <jas@extundo.com>
63997
63998         * modules/getndelim2: Use ssize_t module.
63999         * modules/getnline: Likewise.
64000         * modules/safe-read: Likewise.
64001         * modules/xreadlink: Likewise.
64002
64003         * modules/ssize_t: New file.
64004
64005 2005-08-12  Simon Josefsson  <jas@extundo.com>
64006
64007         * m4/readline.m4: Look for termcap, curses or ncurses if required.
64008
64009 2005-08-12  Simon Josefsson  <jas@extundo.com>
64010
64011         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64012         ssize_t.
64013
64014 2005-08-12  Simon Josefsson  <jas@extundo.com>
64015
64016         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
64017         readline, getdelim and check_version.
64018         (Support for systems lacking ISO C 99: Sizes of integer types):
64019         Add size_max.
64020
64021 2005-08-12  Bruno Haible  <bruno@clisp.org>
64022
64023         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
64024
64025 2005-08-11  Simon Josefsson  <jas@extundo.com>
64026
64027         * modules/readline: New file.
64028
64029         * modules/strnlen (Files): Add strnlen.h.
64030
64031 2005-08-11  Simon Josefsson  <jas@extundo.com>
64032
64033         * m4/readline.m4: New file.
64034
64035 2005-08-11  Simon Josefsson  <jas@extundo.com>
64036
64037         * lib/readline.h, readline.c: New file.
64038
64039 2005-08-11  Simon Josefsson  <jas@extundo.com>
64040
64041         * doc/gnulib.texi (Initial import, Finishing touches): Mention
64042         gl_AVOID.
64043
64044 2005-08-11  Bruno Haible  <bruno@clisp.org>
64045
64046         * lib/strnlen.h (strnlen): Change parameter name to match comment.
64047
64048 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
64049
64050         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
64051
64052 2005-08-10  Simon Josefsson  <jas@extundo.com>
64053
64054         * tests/test-iconvme.c: New file.
64055
64056 2005-08-10  Simon Josefsson  <jas@extundo.com>
64057
64058         * m4/strnlen.m4: New file.
64059
64060         * m4/strndup.m4: Don't check for strnlen declaration, done in
64061         strnlen.m4.
64062
64063 2005-08-10  Simon Josefsson  <jas@extundo.com>
64064
64065         * lib/strndup.c: Use strnlen.h.
64066
64067         * lib/strnlen.h: New file.
64068
64069 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
64070
64071         * README: Typos.
64072
64073 2005-08-02  Simon Josefsson  <jas@extundo.com>
64074
64075         * modules/readline: New file.
64076
64077 2005-08-02  Simon Josefsson  <jas@extundo.com>
64078
64079         * modules/getdelim: New file.
64080
64081         * modules/getline: Rewrite, don't use getndelim2.
64082
64083 2005-08-02  Simon Josefsson  <jas@extundo.com>
64084
64085         * m4/getline.m4: Separate out getdelim stuff into separate module.
64086
64087         * m4/getdelim.m4: New file.
64088
64089 2005-08-02  Simon Josefsson  <jas@extundo.com>
64090
64091         * lib/getline.h, getline.c: Rewrite.
64092
64093         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
64094
64095 2005-07-31  Bruno Haible  <bruno@clisp.org>
64096
64097         * lib/lock.h (gl_lock_initializer): New macro.
64098         (gl_lock_define_initialized): Use it.
64099         (gl_rwlock_initializer): New macro.
64100         (gl_rwlock_define_initialized): Use it.
64101         (gl_recursive_lock_initializer): New macro.
64102         (gl_recursive_lock_define_initialized): Use it.
64103
64104 2005-07-30  Karl Berry  <karl@gnu.org>
64105
64106         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
64107         Report from Ben Pfaff, regarding getopt.
64108
64109 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
64110
64111         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
64112         normal way.
64113         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
64114         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
64115         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
64116         (gl_GETOPT): Use the new macros.  Most of the implementation
64117         is moved to the new macros.  This is for programs like Emacs
64118         that don't want all the functionality of gl_GETOPT.
64119
64120 2005-07-26  Bruno Haible  <bruno@clisp.org>
64121
64122         * m4/lock.m4: Update from GNU gettext.
64123
64124 2005-07-26  Bruno Haible  <bruno@clisp.org>
64125
64126         * lib/lock.h: Update from GNU gettext.
64127         * lib/lock.c: Update from GNU gettext.
64128
64129 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
64130
64131         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
64132         obsolescent AC_TRY_RUN.  Include the default includes files, for
64133         'exit'.
64134
64135 2005-07-24  Bruno Haible  <bruno@clisp.org>
64136
64137         * modules/visibility: New file.
64138         * MODULES.html.sh (Misc): Add visibility.
64139
64140 2005-07-24  Bruno Haible  <bruno@clisp.org>
64141
64142         * m4/visibility.m4: New file.
64143
64144 2005-07-24  Bruno Haible  <bruno@clisp.org>
64145
64146         * doc/visibility.texi: New file.
64147
64148 2005-07-22  Bruno Haible  <bruno@clisp.org>
64149
64150         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
64151         $(ALLOCA_H), redundant through BUILT_SOURCES.
64152         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
64153         redundant through BUILT_SOURCES.
64154         * modules/byteswap (Makefile.am): Remove explicit dependency on
64155         $(BYTESWAP_H), redundant through BUILT_SOURCES.
64156         * modules/fnmatch (Makefile.am): Remove explicit dependency on
64157         $(FNMATCH_H), redundant through BUILT_SOURCES.
64158         * modules/getopt (Makefile.am): Remove explicit dependency on
64159         $(GETOPT_H), redundant through BUILT_SOURCES.
64160         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
64161         redundant through BUILT_SOURCES.
64162         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
64163         redundant through BUILT_SOURCES.
64164         * modules/stdbool (Makefile.am): Remove explicit dependency on
64165         $(STDBOOL_H), redundant through BUILT_SOURCES.
64166         * modules/stdint (Makefile.am): Remove explicit dependency on
64167         $(STDINT_H), redundant through BUILT_SOURCES.
64168         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
64169         Remove explicit dependency on $(SYSEXITS_H).
64170         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
64171
64172 2005-07-18  Simon Josefsson  <jas@extundo.com>
64173
64174         * lib/check-version.c (check_version): Accept identical versions too.
64175
64176 2005-07-18  Bruno Haible  <bruno@clisp.org>
64177
64178         * modules/lock: New file.
64179         * MODULES.html.sh (Multithreading): New section.
64180
64181 2005-07-18  Bruno Haible  <bruno@clisp.org>
64182
64183         * m4/lock.m4: New file, from GNU gettext.
64184
64185 2005-07-18  Bruno Haible  <bruno@clisp.org>
64186
64187         * lib/lock.h: New file, from GNU gettext.
64188         * lib/lock.c: New file, from GNU gettext.
64189
64190 2005-07-18  Bruno Haible  <bruno@clisp.org>
64191
64192         * lib/lock.h (gl_once_t): New type.
64193         (gl_once_define, gl_once): New macros.
64194         * lib/lock.c (fresh_once): New variable.
64195         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
64196         functions.
64197
64198 2005-07-16  Simon Josefsson  <jas@extundo.com>
64199
64200         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
64201         workaround, suggested by Bruno.
64202
64203 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
64204
64205         * modules/xalloc (Depends-on): Add xalloc-die.
64206         * modules/xvasprintf (Depends-on): Add xalloc-die.
64207
64208 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
64209
64210         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
64211         with a minor change.
64212
64213 2005-07-15  Bruno Haible  <bruno@clisp.org>
64214
64215         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
64216         When using lib/poll.c, define poll as rpl_poll.
64217
64218 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
64219
64220         * modules/argp (Depends-on): Remove unlocked-io.
64221
64222 2005-07-14  Derek Price  <derek@ximbiot.com>
64223
64224         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
64225         for glob symlink bug.
64226
64227 2005-07-14  Bruno Haible  <bruno@clisp.org>
64228
64229         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
64230         Instead, test for *_unlocked function declarations directly.
64231
64232 2005-07-11  Simon Josefsson  <jas@extundo.com>
64233
64234         * modules/size_max: New file.
64235
64236         * modules/xsize: Depend on size_max module for size_max.m4.
64237
64238 2005-07-11  Simon Josefsson  <jas@extundo.com>
64239
64240         * lib/size_max.h: New file.
64241
64242 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
64243
64244         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
64245         copyright symbol and the year.
64246         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
64247         (version_etc_va): Use parameterized copyright notice.
64248         Reword to conform to the current GNU coding standards.
64249
64250 2005-07-11  Karl Berry  <karl@gnu.org>
64251
64252         * doc/gnulib.texi (Quoting): new node.
64253         (Initial import): more info, from Patrice.
64254
64255 2005-07-11  Bruno Haible  <bruno@clisp.org>
64256
64257         * gnulib-tool (func_usage): Document option --avoid.
64258         (Command line options): Handle --avoid.
64259         (func_acceptable): New function.
64260         (func_modules_transitive_closure): Use it.
64261
64262 2005-07-11  Bruno Haible  <bruno@clisp.org>
64263
64264         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
64265         Reported by Jim Meyering.
64266
64267 2005-07-10  Bruno Haible  <bruno@clisp.org>
64268
64269         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
64270         Needed when size_t is smaller than 'unsigned int'.
64271         Reported by Paul Eggert.
64272
64273 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64274
64275         * modules/argp (Depends-on): Add unlocked-io
64276
64277 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64278
64279         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
64280         block of defines.
64281
64282 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
64283
64284         * config/srclist.txt: Comment out regcomp.c, since we have a porting
64285         fix now.
64286
64287 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
64288         and Paul Eggert  <eggert@cs.ucla.edu>
64289
64290         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
64291         in wint_t, not wchar_t.  Remove now-unnecessary cast.
64292
64293 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
64294
64295         * modules/regex (Files): Add lib/regex_internal.c,
64296         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
64297         (Depends-on): Add extensions.
64298         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
64299
64300 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
64301
64302         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
64303         pathconf.
64304         * m4/same.m4 (gl_SAME): Likewise.
64305         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
64306
64307         * m4/regex.m4: Adjust to new libc regex implementation.
64308         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
64309         all the .c and .h parts of (the new) regex.
64310         Quote the m4 stuff better.
64311         Check for RE_ICASE bug of old gnulib.
64312         Check for REG_STARTEND of recent libc.
64313         Rename local variables from jm_* to gl_*.
64314         Quote operand of "test -f".
64315         Say "recent enough" version of libc, not "version 2".
64316         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
64317         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
64318         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
64319         Remove check for btowc, isascii.
64320         Require AM_LANGINFO_CODESET.
64321
64322 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
64323
64324         * lib/regex.c, regex.h: Sync from libc.
64325         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
64326         * lib/regexec.c:
64327         New files, synced from libc, except that regex_internal.h
64328         currently has a small porting fix.
64329
64330 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
64331
64332         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
64333         regex_internal.c, regexec.c.
64334         Add regex_internal.h too, but as a comment, since the libc version
64335         is currently broken in gnulib mode.
64336
64337 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
64338
64339         Support programs like Emacs that use gnulib but not gettext.
64340         * MODULES.html.sh (Internationalization functions): Add gettext-h.
64341         * modules/gettext-h: New file.
64342         * modules/gettext (Files): Remove lib/gettext.h.
64343         (Depends-on): Add gettext-h.
64344         (Makefile.am): Remove lib_SOURCES.
64345         * modules/argmatch, modules/c-stack, modules/closeout:
64346         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
64347         * modules/execute, modules/file-type, modules/getaddrinfo:
64348         * modules/getopt, modules/human, modules/javacomp:
64349         * modules/javaexec, modules/mkdir-p, modules/obstack:
64350         * modules/openat, modules/pagealign_alloc, modules/pipe:
64351         * modules/quotearg, modules/regex, modules/rpmatch:
64352         * modules/unicodeio, modules/userspec, modules/version-etc:
64353         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
64354         * modules/xsetenv:
64355         Depend on gettext-h, not gettext.
64356
64357 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
64358
64359         * gnulib-tool (func_import): Add support for 'public domain' license.
64360         * modules/alloca, modules/atexit, modules/memmove:
64361         Now public domain, not GPL.
64362         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
64363         * modules/realloc, modules/strerror, modules/strtod:
64364         Now LGPL, not GPL.
64365
64366 2005-07-05  Bruno Haible  <bruno@clisp.org>
64367
64368         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
64369         autoconf CVS. Needed for mingw.
64370
64371 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
64372
64373         Remove the dependency of the strftime module on the tzset module.
64374         * modules/strftime (Depends-on): Remove dependency on tzset.
64375
64376 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
64377
64378         Remove the dependency of the strftime module on the tzset module.
64379         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
64380         gl_FUNC_TZSET_CLOBBER.
64381
64382 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
64383
64384         Remove the dependency of the strftime module on the tzset module.
64385         * lib/strftime.c (my_strftime)
64386         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
64387         Copy the input structure, to work around some of the bug with
64388         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
64389         Solaris releases, you should also use the tzset module, but we won't
64390         require it as a dependency any more since we don't want LGPLed code
64391         to depend on GPLed code.
64392
64393 2005-07-02  Jim Meyering  <jim@meyering.net>
64394
64395         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
64396         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
64397         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
64398         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
64399
64400 2005-07-02  Jim Meyering  <jim@meyering.net>
64401
64402         * lib/backupfile.c (backup_args): Change a `0' to NULL.
64403
64404 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
64405
64406         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
64407         declares only 'struct timespec;' (!).
64408
64409 2005-07-01  Jim Meyering  <jim@meyering.net>
64410
64411         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
64412         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
64413         * lib/save-cwd.c, tempname.c:
64414         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
64415         and don't include <sys/file.h>).
64416
64417 2005-06-29  Jim Meyering  <jim@meyering.net>
64418
64419         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
64420         type name.  Use the variable name instead.
64421         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
64422         Likewise.
64423
64424 2005-06-28  Simon Josefsson  <jas@extundo.com>
64425
64426         * modules/check-version (Files): Add check-version.m4.
64427
64428 2005-06-28  Simon Josefsson  <jas@extundo.com>
64429
64430         * m4/check-version.m4: New file, suggested by Jim Meyering
64431         <jim@meyering.net>.
64432
64433 2005-06-28  Simon Josefsson  <jas@extundo.com>
64434
64435         * lib/check-version.h, lib/check-version.c: New files.
64436
64437 2005-06-28  Simon Josefsson  <jas@extundo.com>
64438
64439         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
64440         collision with global variable.  Better indentation.  Don't
64441         increment buffer pointer beyond buffer end.  Based on comments
64442         from Paul Eggert <eggert@cs.ucla.edu>.
64443
64444         * lib/base64.h: Indent.
64445
64446 2005-06-28  Simon Josefsson  <jas@extundo.com>
64447
64448         * doc/gnulib.texi (Library version handling): New section.
64449
64450 2005-06-28  Jim Meyering  <jim@meyering.net>
64451
64452         * check-module (find_included_lib_files): Hard-code another
64453         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
64454         but modules/fts-lgpl (correctly) does not list those files.
64455
64456         * modules/canonicalize (Files): Add lib/pathmax.h.
64457
64458 2005-06-25  Simon Josefsson  <jas@extundo.com>
64459
64460         * modules/check-version: New file.
64461
64462 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
64463
64464         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
64465         initializer of struct addrinfo, as an indication that we don't
64466         care how many members the structure has.
64467
64468 2005-06-24  Derek Price  <derek@ximbiot.com>
64469         and Bruno Haible  <bruno@clisp.org>
64470
64471         Remove stat module & update lstat.
64472         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
64473         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64474         * m4/stat.m4: Remove this file.
64475
64476 2005-06-24  Derek Price  <derek@ximbiot.com>
64477         and Bruno Haible  <bruno@clisp.org>
64478
64479         Remove stat module & update lstat.
64480         * lib/stat.c: Remove this file...
64481         (slash_aware_lstat): ...moving this content and its support...
64482         * lib/lstat.c (rpl_lstat): ...into here.
64483         * lib/lstat.h: New file.
64484
64485 2005-06-24  Derek Price  <derek@ximbiot.com>
64486         and Bruno Haible  <bruno@clisp.org>
64487
64488         Remove stat module & update lstat.
64489         * config/srclist.txt (libc sources): Remove stat.
64490
64491 2005-06-24  Derek Price  <derek@ximbiot.com>
64492         and Bruno Haible  <bruno@clisp.org>
64493
64494         Remove stat module & update lstat.
64495         * MODULES.html.sh (stat): Remove.
64496         * MODULES.html: Regenerated.
64497         * modules/lstat (Description): Correct function name.
64498         (Files): Add "lstat.h".
64499         (Depends-on): Remove stat, add xalloc, stat-macros.
64500         * modules/stat: Remove this file.
64501         (Include): Add "lstat.h", remove <sys/stat.h>.
64502
64503 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64504
64505         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
64506         (ranged_convert): Don't save conversion in a temporary struct.
64507         This causes a warning with GCC 4.0.0, and anyway in the typical
64508         case it's not worth the extra 100 bytes or so of code.
64509         (ranged_convert, __mktime_internal): When calling a function via a
64510         pointer P, use P () rather than (*P) (), as we now assume C89 or
64511         better.
64512
64513 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
64514
64515         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
64516         "who -r" failed to give output.  Problem reported by Tim Waugh.
64517
64518         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
64519         (xcalloc): Use it to avoid needless tests.
64520         Problem reported by Jim Meyering.
64521
64522 2005-06-20  Derek Price  <derek@ximbiot.com>
64523
64524         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
64525         unnecessary for Autoconfs > 2.59c.
64526
64527 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
64528
64529         * lib/argp.h (__option_is_short): Check upper limit of
64530         __key. Isprint() requires its argument to have the value
64531         of an unsigned char or EOF.
64532
64533 2005-06-16  Jim Meyering  <jim@meyering.net>
64534
64535         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
64536         when either N or S is zero.
64537
64538 2005-06-16  Derek Price  <derek@ximbiot.com>
64539
64540         * m4/bison.m4: Declare YACC & YFLAGS precious.
64541
64542 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
64543
64544         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
64545         multibyte string or pattern, fall back on unibyte matching.
64546         Problem reported by James Youngman.
64547
64548 2005-06-08  Bruno Haible  <bruno@clisp.org>
64549
64550         * modules/csharpcomp: New file.
64551         * MODULES.html.sh (C#): Add csharpcomp.
64552
64553 2005-06-08  Bruno Haible  <bruno@clisp.org>
64554
64555         * m4/csharpcomp.m4: New file, from GNU gettext.
64556
64557 2005-06-08  Bruno Haible  <bruno@clisp.org>
64558
64559         * lib/csharpcomp.h: New file, from GNU gettext.
64560         * lib/csharpcomp.c: New file, from GNU gettext.
64561         * lib/csharpcomp.sh.in: New file, from GNU gettext.
64562
64563 2005-06-08  Bruno Haible  <bruno@clisp.org>
64564
64565         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
64566         warning on mingw.
64567
64568 2005-06-07  Derek Price  <derek@ximbiot.com>
64569
64570         Sync from CVS.
64571         * lib/glob_.h: Indent nested #ifdef.
64572
64573 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
64574
64575         Sync from coreutils.
64576         Use "file name" when talking about file names, instead of "filename"
64577         or "path", as per the GNU coding standards.
64578         * lib/mkdir-p.c: Renamed from makepath.c.
64579         (make_dir_parents): Renamed from make_path.  All callers changed.
64580         * lib/mkdir-p.h: Likewise.  All includers changed.
64581         * lib/filenamecat.c: Renamed from path-concat.c.
64582         (file_name_concat): Renamed from path_concat.  All callers changed.
64583         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
64584         * lib/filenamecat.h: Likewise.  All includers changed.
64585         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
64586         in comments or local variable names.
64587         * lib/basename.c: Likewise.
64588         * lib/canonicalize.c, canonicalize.h: Likewise.
64589         * lib/dirname.c, dirname.h: Likewise.
64590         * lib/euidaccess.c: Likewise.
64591         * lib/exclude.c: Likewise
64592         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
64593         * lib/fsusage.c, fsuage.h: Likewise.
64594         * lib/fts.c, fts_.h: Likewise.
64595         * lib/getcwd.c: Likewise.
64596         * lib/getloadavg.c: Likewise.
64597         * lib/mkstemp.c: Likewise.
64598         * lib/mountlist.c, mountlist.h: Likewise.
64599         * lib/openat.c, openat.h: Likewise.
64600         * lib/readlink-stub.c: Likewise.
64601         * lib/readutmp.c, readutmp.h: Likewise.
64602         * lib/rename.c: Likewise.
64603         * lib/rmdir.c: Likewise.
64604         * lib/same.c: Likewise.
64605         * lib/savedir.c: Likewise.
64606         * lib/stripslash.c: Likewise.
64607         * lib/tempname.c: Likewise.
64608         * lib/xreadlink.c: Likewise.
64609         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
64610         All uses changed.
64611         * lib/exclude.h: Likewise.
64612
64613         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
64614         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
64615         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
64616         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
64617         * lib/pathmax.h: Include <limits.h> unconditionally, since other
64618         files have been getting away with it for years (MORE/BSD 4.3
64619         is extinct now).
64620         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
64621         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
64622
64623         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
64624         Define to 256, not 255, as per modern POSIX.
64625
64626 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
64627
64628         Sync from coreutils.
64629         Use "file name" when talking about file names, instead of "filename"
64630         or "path", as per the GNU coding standards.
64631         * MODULES.html.sh: mkdir-p renamed from makepath.
64632         filenamecat renamed from path-concat.
64633         * modules/filenamecat: Renamed from modules/path-concat.
64634         (Files): filenamecat.h and filenamecat.c renamed from
64635         path-concat.h and path-concat.c.
64636         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
64637         (Include): filenamecat.h, not path-concat.h.
64638         * modules/mkdir-p: Renamed from modules/makepath.
64639         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
64640         makepath.c.
64641         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
64642         (Include): mkdir-p.h, not makepath.h.
64643
64644 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
64645
64646         Sync from coreutils.
64647         * m4/mkdir-p.m4: Renamed from makepath.m4.
64648         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
64649         Rename files from makepath.c to mkdir-p.c, and from
64650         makepath.h to mkdir-p.h.
64651         * m4/filenamecat.m4: Renamed from path-concat.m4.
64652         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
64653         Rename files from path-concat.c to filenamecat.c,
64654         and from path-concat.h to filenamecat.h.
64655         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
64656         "file name" in local variables or comments.
64657         * m4/rename.m4: Likewise.
64658
64659 2005-06-01  Bruno Haible  <bruno@clisp.org>
64660
64661         * modules/csharpexec: New file.
64662         * MODULES.html.sh (C#): New section.
64663
64664 2005-06-01  Bruno Haible  <bruno@clisp.org>
64665
64666         * m4/csharp.m4: New file, from GNU gettext.
64667         * m4/csharpexec.m4: New file, from GNU gettext.
64668
64669 2005-06-01  Bruno Haible  <bruno@clisp.org>
64670
64671         * lib/csharpexec.h: New file, from GNU gettext.
64672         * lib/csharpexec.c: New file, from GNU gettext.
64673         * lib/csharpexec.sh.in: New file, from GNU gettext.
64674
64675 2005-05-31  Derek Price  <derek@ximbiot.com>
64676             Paul Eggert  <eggert@cs.ucla.edu>
64677
64678         Sync from cvs.
64679         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
64680
64681 2005-05-31  Derek Price  <derek@ximbiot.com>
64682             Paul Eggert  <eggert@cs.ucla.edu>
64683
64684         Sync from cvs.
64685         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
64686
64687 2005-05-29  Derek Price  <derek@ximbiot.com>
64688
64689         * config/srclist.txt (glob_.h, glob.c): Add these files.
64690
64691 2005-05-29  Derek Price  <derek@ximbiot.com>
64692
64693         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
64694         * modules/glob: New file.
64695         * modules/getlogin_r: Add link to POSIX spec in description.
64696
64697 2005-05-29  Derek Price  <derek@ximbiot.com>
64698             Paul Eggert  <eggert@cs.ucla.edu>
64699
64700         * m4/glob.m4: New file.
64701
64702 2005-05-29  Derek Price  <derek@ximbiot.com>
64703             Paul Eggert  <eggert@cs.ucla.edu>
64704
64705         * lib/glob_.h, lib/glob.c: New files.
64706
64707 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
64708
64709         * modules/fts (Files): Remove m4/inttypes-pri.m4.
64710         * modules/fts-lgpl (Depends-on): Remove gettext.
64711
64712 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
64713
64714         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
64715         and don't require gt_INTTYPES_PRI.
64716
64717 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
64718
64719         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
64720
64721         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
64722         the configuration hassle isn't worth it.
64723         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
64724         (LONGEST_MODIFIER, PRIuMAX): Remove.
64725
64726 2005-05-27  Bruno Haible  <bruno@clisp.org>
64727
64728         * lib/getlogin_r.h: Remove second include of <stddef.h>.
64729
64730 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
64731
64732         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
64733         _POSIX_PTHREAD_SEMANTICS for Solaris.
64734
64735 2005-05-25  Derek Price  <derek@ximbiot.com>
64736
64737         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
64738
64739 2005-05-25  Derek Price  <derek@ximbiot.com>
64740             Paul Eggert  <eggert@cs.ucla.edu>
64741
64742         * modules/getlogin_r, m4/getlogin_r.m4: New files.
64743         * lib/getlogin_r.c, getlogin_r.h: New files.
64744
64745 2005-05-25  Bruno Haible  <bruno@clisp.org>
64746             Derek Price  <derek@ximbiot.com>
64747
64748         * lib/getlogin_r.h: Simplify API documentation.
64749
64750 2005-05-23  Derek Price  <derek@ximbiot.com>
64751
64752         * modules/minmax (Files): Add m4/minmax.m4.
64753         (configure.ac): Add gl_MINMAX.
64754
64755 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
64756
64757         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
64758         so that unistd-safer.h (GPL'ed code) need not be included.
64759
64760 2005-05-22  Bruno Haible  <bruno@clisp.org>
64761
64762         * m4/minmax.m4: New file.
64763         Based on a patch by Derek Price <derek@ximbiot.com>.
64764
64765 2005-05-22  Bruno Haible  <bruno@clisp.org>
64766
64767         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
64768         (INT64_MIN): Fix definition.
64769         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
64770
64771         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
64772         NEED_SIGNED_INT_TYPES.
64773
64774         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
64775         HAVE_SYSTEM_INTTYPES.
64776
64777 2005-05-22  Bruno Haible  <bruno@clisp.org>
64778
64779         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
64780         Also include <sys/param.h> if it defines MIN, MAX.
64781         Based on a patch by Derek Price <derek@ximbiot.com>.
64782
64783 2005-05-21  Jim Meyering  <jim@meyering.net>
64784
64785         * modules/fts (Files): Add m4/inttypes-pri.m4.
64786         (Depends-on): Add lstat and remove gettext.  Alphabetize.
64787
64788 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
64789
64790         New fts module.
64791         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
64792         (setup_dir, free_dir): New functions.
64793         (enter_dir, leave_dir): Define trivial
64794         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
64795         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
64796         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
64797         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
64798         Move to fts-cycle.c.
64799         (fts_open): Use setup_dir.
64800         (fts_close): Use free_dir.
64801         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
64802         This adds a label and some gotos, but the alternatives were messier.
64803         Check for memory allocation failure when entering a dir.
64804         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
64805         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
64806         (FTS): New member fts_cycle, that is a union that contains the
64807         old active_dir_ht and cycle_state.  All uses changed to mention
64808         fts_cycle.ht and fts_cycle.state.
64809         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
64810         fts.c, with the following changes:
64811         (setup_dir, free_dir): New functions.
64812         (enter_dir): Now returns bool.  Return true if successful, false
64813         if memory exhausted.  All callers changed.
64814         Do not bother partly cleaning up on
64815         memory allocation failure; that is free_dir's job.
64816         However, free ad if hash_insert fails, to avoid memory leak.
64817         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
64818         fts->fts_options to see which union member to use.
64819
64820 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
64821
64822         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
64823         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
64824
64825 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
64826
64827         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
64828
64829 2005-05-20  Jim Meyering  <jim@meyering.net>
64830
64831         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
64832         Now a macro, to pacify GCC.
64833
64834 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
64835
64836         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
64837         of -1.
64838
64839 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
64840
64841         * lib/chown.c (rpl_chown): Return -1 on failure.
64842
64843 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
64844
64845         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
64846         Don't check for stddef.h.
64847         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
64848         don't use its results.
64849         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
64850         since we include them unconditionally.  Don't require
64851         AM_STDBOOL_H, since stdbool is a prerequisite.
64852         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
64853         since we assume C89 or better.
64854         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
64855         as we don't use their results.
64856         Don't check for fchdir, memmove, memset, strrchr, as we use
64857         them unconditionally.
64858         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
64859         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
64860
64861 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
64862
64863         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
64864         Include <stddef.h> unconditionally, since we assume C89 now.
64865         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
64866         * lib/fts.c: Include fts_.h first, to check interface.
64867         Do not include intprops.h; no longer needed.
64868         Include cycle-check.h and hash.h, since fts_.h no longer does.
64869         Remove unnecessary casts of closedir to void.
64870         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
64871         decide whether to decrement nlinks.
64872         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
64873         (FTS): Use struct hash_table * instead of Hash_table, so that
64874         we no longer need to include hash.h here.
64875
64876 2005-05-18  Jim Meyering  <jim@meyering.net>
64877
64878         * modules/dirfd (License): Change to LGPL.  Most of the code
64879         is already in the public domain.
64880
64881 2005-05-18  Jim Meyering  <jim@meyering.net>
64882
64883         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
64884         Reported by Yoann Vandoorselaere.
64885
64886 2005-05-17  Jim Meyering  <jim@meyering.net>
64887
64888         * m4/fts.m4: New file, from coreutils.
64889
64890 2005-05-17  Jim Meyering  <jim@meyering.net>
64891
64892         * lib/fts.c, lib/fts_.h: New files, from coreutils.
64893
64894 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64895
64896         Sync from coreutils.
64897         * m4/unlinkdir.m4: New file.
64898
64899 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64900
64901         Sync from coreutils.
64902         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
64903         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
64904         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
64905         White space changes only.
64906         * lib/makepath.c (make_path): Port to hosts where leading "//" is
64907         special.
64908         * lib/yesno.c: Include getline.h, not ctype.h.
64909         (yesno): Don't remove leading white space; POSIX doesn't allow it.
64910         Use getline to remove arbitrary restriction on response length.
64911
64912 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64913
64914         * config/srclist-update: Spell out "Street" in FSF postal
64915         mail address; this is the style the FSF seems to prefer.
64916
64917         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
64918         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
64919         this updates FSF postal mail address.
64920
64921         Sync from coreutils.
64922         * modules/unlinkdir: New file.
64923         * modules/yesno (Depends-on): Add getline.
64924         * MODULES.html.sh (File system functions): Add unlinkdir.
64925
64926 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
64927
64928         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
64929         lib/strsep.h:
64930         Change the initial comment to refer to GPL, not LGPL.
64931         gnulib-tool will change it to LGPL as needed.
64932
64933         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
64934         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
64935         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
64936         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
64937         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
64938         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
64939         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
64940         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
64941         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
64942         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
64943         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
64944         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
64945         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
64946         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
64947         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
64948         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
64949         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
64950         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
64951         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
64952         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
64953         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
64954         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
64955         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
64956         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
64957         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
64958         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
64959         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
64960         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
64961         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
64962         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
64963         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
64964         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
64965         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
64966         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
64967         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
64968         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
64969         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
64970         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
64971         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
64972         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
64973         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
64974         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
64975         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
64976         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
64977         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
64978         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
64979         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
64980         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
64981         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
64982         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
64983         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
64984         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
64985         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
64986         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
64987         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
64988         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
64989         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
64990         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
64991         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
64992         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
64993         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
64994         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
64995         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
64996         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
64997         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
64998         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
64999         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
65000         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
65001         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
65002         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
65003         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
65004         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
65005         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
65006         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
65007         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
65008         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
65009         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
65010         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
65011         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
65012         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
65013         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
65014         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
65015         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
65016         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
65017         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
65018         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
65019         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
65020         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
65021         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
65022         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
65023         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
65024         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
65025         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
65026         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
65027         lib/yesno.c, lib/yesno.h:
65028         Update FSF postal mail address.
65029
65030 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
65031
65032         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
65033         tests/test-memmem.c, tests/test-stpncpy.c:
65034         Update FSF postal mail address.
65035
65036 2005-05-13  Bruno Haible  <bruno@clisp.org>
65037
65038         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
65039         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
65040         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
65041         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
65042         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
65043         Add support for 64-bit integers in the MSVC compiler.
65044
65045 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65046
65047         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
65048
65049 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
65050
65051         * gnulib-tool (func_import): Sort and uniquify recommended includes.
65052
65053 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
65054
65055         * doc/getdate.texi (General date syntax): Don't say that date
65056         date --iso-8601=ns generates acceptable dates; it doesn't yet.
65057         Problem reported by Nic Ferrier.
65058
65059 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65060
65061         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
65062         specified in ai_socktype. Fix invalid ai_protocol
65063         check. ai_protocol is usually set to 0 or depending on
65064         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
65065         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
65066         ai_socktype / ai_protocol in the returned addrinfo structure.
65067
65068 2005-05-10  Simon Josefsson  <jas@extundo.com>
65069
65070         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
65071         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
65072
65073 2005-05-10  Karl Berry  <karl@gnu.org>
65074
65075         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
65076         (from http://www.gnu.org/licenses).
65077         * doc/COPYING.LIB: also rename to COPYING.LESSER.
65078         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
65079         fdl.texi suffices.
65080
65081 2005-05-10  Karl Berry  <karl@gnu.org>
65082
65083         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
65084         (COPYING.DOC): remove.
65085
65086         * config/srclist-update: new FSF address.
65087
65088 2005-05-10  Derek Price  <derek@ximbiot.com>
65089
65090         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
65091         possible.
65092
65093 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65094             Bruno Haible  <bruno@clisp.org>
65095
65096         * modules/inet_ntop: New file.
65097         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65098         inet_ntop.
65099
65100 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65101             Bruno Haible  <bruno@clisp.org>
65102
65103         * m4/inet_ntop.m4: New file.
65104
65105 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65106             Bruno Haible  <bruno@clisp.org>
65107
65108         * lib/inet_ntop.h: New file.
65109         * lib/inet_ntop.c: New file, from glibc with modifications.
65110
65111 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
65112
65113         * modules/time_r (License): Change to LGPL.
65114         * modules/extensions (License): Change to LGPL.  Actually,
65115         the license is more permissive than that, but currently gnulib-tool
65116         doesn't know how to handle more-permissive licenses.
65117
65118         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
65119         Problem reported by Dave Love.
65120
65121 2005-05-08  Jim Meyering  <jim@meyering.net>
65122
65123         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
65124         blank.
65125
65126 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
65127
65128         * modules/argmatch (Depends-on): Add stdbool.
65129         * modules/backupfile (Depends-on): Likewise.
65130         * modules/chdir-long (Depends-on): Likewise.
65131         * modules/closeout (Depends-on): Likewise.
65132         * modules/cycle-check (Depends-on): Likewise.
65133         * modules/dirname (Depends-on): Likewise.
65134         * modules/fnmatch (Depends-on): Likewise.
65135         * modules/fsusage (Depends-on): Likewise.
65136         * modules/fwriteerror (Depends-on): Likewise.
65137         * modules/getcwd (Depends-on): Likewise.
65138         * modules/getloadavg (Depends-on): Likewise.
65139         * modules/hard-locale (Depends-on): Likewise.
65140         * modules/makepath (Depends-on): Likewise.
65141         * modules/mountlist (Depends-on): Likewise.
65142         * modules/nanosleep (Depends-on): Likewise.
65143         * modules/posixtm (Depends-on): Likewise.
65144         * modules/quotearg (Depends-on): Likewise.
65145         * modules/readtokens (Depends-on): Likewise.
65146         * modules/readtokens0 (Depends-on): Likewise.
65147         * modules/readutmp (Depends-on): Likewise.
65148         * modules/save-cwd (Depends-on): Likewise.
65149         * modules/strftime (Depends-on): Likewise.
65150         * modules/userspec (Depends-on): Likewise.
65151         * modules/utimecmp (Depends-on): Likewise.
65152         * modules/xgetcwd (Depends-on): Likewise.
65153         * modules/xnanosleep (Depends-on): Likewise.
65154         * modules/xstrtod (Depends-on): Likewise.
65155         * modules/yesno (Depends-on): Likewise.
65156
65157 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
65158
65159         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
65160         needless checks.
65161
65162 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65163
65164         Merge from coreutils.  Among other things,
65165         add bulletproofing for cases where stdin, stdout, or stderr are closed.
65166         * lib/fd-safer.c: New file.
65167         * lib/fcntl-safer.h, open-safer.c: Remove.
65168         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
65169         * lib/dup-safer.c: Include unistd-safer.h first.
65170         Don't include errno.h.
65171         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
65172         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
65173         * lib/file-type.c: Rely on file-type.h change.
65174         * lib/getloadavg.c: Include unistd-safer.h.
65175         (getloadavg): Use safer open.
65176         * lib/getusershell.c: Include "stdio-safer.h".
65177         (getusershell): Use safer fopen.
65178         * lib/long-options.c (long_options): Use NULL rather than 0.
65179         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
65180         'free'.
65181         * lib/modechange.c: Likewise.
65182         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
65183         (MODE_DONE): New constant.
65184         (struct mode_change): Remove 'next' member.
65185         (make_node_op_equals): New function; like the old one of the
65186         same name, except it allocates an array.
65187         (mode_compile, mode_create_from_ref): Use it.
65188         (mode_compile): Allocate result as an array, not a linked list.
65189         Parse octal string ourself, so that we catch mistakes like "+0".
65190         (mode_adjust): Arg is an array, not a linked list.
65191         * lib/modechange.c: Include stat-macros.h, xalloc.h.
65192         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
65193         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
65194         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
65195         Remove.  This is now stat-macros.h's job.
65196         (talloc): Remove.  All callers replaced by xalloc, so that
65197         our invokers don't have to worry about reporting memory failures.
65198         (make_node_op_equals): Remove.
65199         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
65200         New constants.
65201         (struct mode_change): Moved here from modechange.h.
65202         (mode_append_entry): Remove.
65203         (mode_compile): Remove MASKED_OPS arg, since it encouraged
65204         apps to have incorrect behavior.  Use simpler algorithm for head
65205         and tail.  Don't futz with umask; that's now the job of mode_adjust.
65206         Detect more invalid usages rather than having somewhat-random behavior.
65207         Don't insert an "a=" action, as that leads to incorrect behavior.
65208         (mode_compile, mode_create_from_ref): Return NULL on error instead
65209         of an enum, since now there's only one way to have an error.  All
65210         callers changed.
65211         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
65212         at the correct time.  Simplify calculation of "+u" and its ilk.
65213         Don't mishandle "+X".
65214         (mode_free): Remove "register" and localize decls.
65215         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
65216         (struct mode_change): Move to modechange.c; callers don't
65217         need to see this stuff.
65218         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
65219         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
65220         (mode_change, mode_adjust): Reflect the new signatures noted above.
65221         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
65222         that might redefine system include files.
65223         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
65224         (my_usleep): Use NULL rather than (void *) 0.
65225         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
65226         Use siginterrupt to specify that system calls should be interrupted.
65227         (rpl_nanosleep): Move initialization of suspended closer to call of
65228         my_usleep.
65229         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
65230         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
65231         (desirable_utmp_entry): New function.
65232         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
65233         using x2nrealloc, to simplify logic.
65234         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
65235         size calculation.  Do not assume utmp file is a regular file.
65236         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
65237         (READ_UTMP_CHECK_PIDS): New constant.
65238         * lib/save-cwd.c: Include unistd-safer.h.
65239         (save_cwd): Use fd_safer.
65240         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
65241         [!_LIBC] Include "stat-macros.h" instead.
65242         * lib/unistd-safer.h (fd_safer): New decl.
65243
65244 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65245
65246         * modules/getloadavg (Depends-on): Add unistd-safer.
65247         * modules/getusershell (Depends-on): Add stdio-safer.
65248         * modules/lstat (Depends-on): Remove xalloc.
65249         * modules/mkstemp (Depends-on): Add stat-macros.
65250         * modules/modechange (Depends-on): Remove xstrtol.
65251         Add stat-macros, xalloc.
65252         * modules/save-cwd (Depends-on): Add unistd-safer.
65253         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
65254         * modules/unistd-safer (Files): Add lib/fd-safer.c
65255         (Makefile.am): Remove lib_SOURCES.
65256
65257         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
65258         Remove fcntl-safer; unistd-safer supersedes it.
65259
65260 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65261
65262         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
65263         AC_HEADER_STAT.
65264         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
65265         (gl_PREREQ_CHOWN): Remove.
65266         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
65267         it.  Don't require AC_HEADER_STAT.
65268         (gl_PREREQ_LSTAT): Remove.
65269         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
65270         Don't require AC_HEADER_STAT.
65271         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
65272         (gl_PREREQ_RMDIR): Remove.
65273         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
65274         mention stat-macros.h or AC_HEADER_STAT, since we'll make
65275         the stat-macros module a prerequisite.
65276         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
65277         * m4/filemode.m4 (gl_FILEMODE): Likewise.
65278         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
65279         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
65280         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
65281         variable names.
65282         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
65283         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
65284         variable prefixes.
65285         * m4/fcntl-safer.m4: Remove.
65286         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
65287         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
65288         Invoke gl_PREREQ_FD_SAFER.
65289         (gl_PREREQ_FD_SAFER): New macro.
65290         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
65291         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
65292         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
65293         Remove duplicate call to AC_LIBOBJ(readutmp).
65294         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
65295
65296         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
65297         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
65298
65299 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65300
65301         * MODULES.html.sh (Misc): Add byteswap.
65302
65303 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
65304
65305         * modules/getcwd (Depends-on): Add extensions.
65306         * modules/openat (Depends-on): Likewise.
65307
65308 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
65309
65310         * modules/byteswap: New file.
65311
65312 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
65313
65314         * m4/byteswap.m4: New file.
65315
65316 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
65317
65318         * lib/byteswap_.h: New file.
65319
65320 2005-04-25  Karl Berry  <karl@gnu.org>
65321
65322         * m4/gettext.m4: Update from GNU gettext 0.14.4.
65323
65324 2005-04-25  Albert Chin  <china@thewrittenword.com>
65325
65326         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
65327         Toolkit C bug.
65328
65329 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
65330
65331         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
65332         (func_ln_if_changed) Remove forcibly for no error message
65333         in case file does not exist.
65334
65335 2005-04-19  Simon Josefsson  <jas@extundo.com>
65336
65337         * gnulib-tool (Options): Make --symlink mean --symbolic.
65338
65339 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
65340
65341         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
65342
65343 2005-04-16  Simon Josefsson  <jas@extundo.com>
65344
65345         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
65346
65347 2005-04-15  Simon Josefsson  <jas@extundo.com>
65348
65349         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
65350
65351 2005-04-15  Simon Josefsson  <jas@extundo.com>
65352
65353         * gnulib-tool: Rename --symlink to --symbolic.
65354
65355 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
65356
65357         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
65358         symbolic links to files instead of copying/moving.  Add --aux-dir,
65359         specifying directory relative --dir where auxiliary build tools
65360         are placed.
65361
65362 2005-04-14  Bruno Haible  <bruno@clisp.org>
65363
65364         * modules/allocsa (License): Change to LGPL.
65365         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
65366
65367 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
65368
65369         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
65370         that "UTC +1 second" continues to work.  Problem reported
65371         by Dmitry V. Levin.
65372         (relunit_snumber): New rule.
65373         (relunit): Use it.
65374
65375 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
65376
65377         * lib/getdate.y (universal_time_zone_table): New constant.
65378         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
65379         universal_time_zone_table.
65380         (lookup_zone): Prefer universal_time_zone_table to
65381         local_time_zone_table, so that "GMT" time stamps are allowed in
65382         London during the summer.  Problem reported by Ian Abbott.
65383
65384 2005-04-12  Jim Meyering  <jim@meyering.net>
65385
65386         * lib/human.c (humblock): Set *options even when returning due to
65387         xstrtoumax conversion failure.  Thanks to a used-uninitialized
65388         warning from gcc-4.
65389
65390 2005-04-09  Jim Meyering  <jim@meyering.net>
65391
65392         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
65393         -Wuninitialized: initialize tm0.tm_year.
65394
65395 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
65396
65397         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
65398         count, since there's no maximum.  All uses changed.
65399         Add member dsts_seen.
65400         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
65401         not being INT_MAX.
65402         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
65403         Use pc_rels_seen to decide whther a date is absolute.
65404
65405         * lib/getdate.y (number): Don't overwrite year.
65406         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
65407         check.
65408
65409 2005-04-02  Simon Josefsson  <jas@extundo.com>
65410
65411         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
65412         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
65413
65414 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
65415
65416         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
65417         where no absolute path name can be longer than PATH_MAX.
65418
65419 2005-03-27  Jim Meyering  <jim@meyering.net>
65420
65421         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
65422
65423 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
65424
65425         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
65426         "one's complement" -> "ones' complement" in comment, as per Knuth.
65427         "value of type" -> "type or expression" in comment.
65428         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
65429
65430 2005-03-26  Jim Meyering  <jim@meyering.net>
65431
65432         Comment nits.
65433         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
65434         Correct typos: s/or/of/.
65435
65436 2005-03-26  Jim Meyering  <jim@meyering.net>
65437
65438         * modules/check-include-files: Move to ../ and rename to...
65439         * check-module: ...this.
65440
65441 2005-03-25  Jim Meyering  <jim@meyering.net>
65442
65443         * modules/xvasprintf (Files): Add xalloc.h.
65444
65445 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
65446
65447         * modules/gettext (Files): config/config.rpath ->
65448         build-aux/config.rpath
65449         * modules/iconv (Files): Likewise.
65450         Problem reported by Oskar Liljeblad.
65451
65452 2005-03-23  Jim Meyering  <jim@meyering.net>
65453
65454         * modules/check-include-files: New script to check for
65455         missing dependencies, multiple includes, etc.
65456
65457         * modules/c-strtold (Depends-on): Add xalloc.
65458         * modules/c-strtod (Depends-on): Add xalloc.
65459         * modules/hash (Depends-on): Add xalloc.
65460         (Files): Remove lib/xalloc.h.
65461
65462         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
65463         * modules/userspec (Files): Add lib/inttostr.h.
65464
65465 2005-03-23  Jim Meyering  <jim@meyering.net>
65466
65467         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
65468
65469 2005-03-22  Jim Meyering  <jim@meyering.net>
65470
65471         * modules/stat-macros: New module.
65472         * modules/canonicalize, modules/euidaccess, modules/file-type,
65473         * modules/filemode, modules/lchown, modules/makepath,
65474         * modules/rmdir, modules/stat: Depend on new stat-macros module
65475         rather than listing lib/stat-macros.h manually.
65476         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
65477
65478 2005-03-22  Jim Meyering  <jim@meyering.net>
65479
65480         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
65481
65482 2005-03-22  Bruno Haible  <bruno@clisp.org>
65483
65484         * config/srclist.txt: Replace target directory 'config' with
65485         'build-aux'.
65486         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
65487         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
65488         ../build-aux/.
65489
65490 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
65491
65492         * modules/chdir-long (Depends-on): Add mempcpy.
65493
65494         * modules/acl, modules/backupfile, modules/c-strtod,
65495         modules/c-strtold, modules/canon-host, modules/canonicalize,
65496         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
65497         modules/exclude, modules/exitfail, modules/file-type,
65498         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
65499         modules/getdate, modules/getline, modules/getpagesize,
65500         modules/getpass, modules/getugroups, modules/group-member,
65501         modules/hard-locale, modules/hash, modules/human, modules/idcache,
65502         modules/inttostr, modules/long-options, modules/makepath,
65503         modules/md5, modules/memcasecmp, modules/memcoll,
65504         modules/modechange, modules/mountlist, modules/path-concat,
65505         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
65506         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
65507         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
65508         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
65509         modules/strftime, modules/strndup, modules/strverscmp,
65510         modules/timespec, modules/unlocked-io, modules/userspec,
65511         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
65512         modules/yesno:
65513         Remove lib_SOURCES line from Makefile.am section, as this is now
65514         done automatically by the corresponding Autoconf macro.
65515
65516 2005-03-21  Jim Meyering  <jim@meyering.net>
65517
65518         Changes imported from coreutils.
65519
65520         * lib/cycle-check.c: Don't include xalloc.h.
65521
65522         * lib/path-concat.c: Don't include assert.h.
65523         (path_concat): Remove assertion that would have triggered
65524         for ABASE starting with more than one slash.
65525         Reported by Andreas Schwab.
65526
65527         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
65528         properly when ABASE is an absolute file name.
65529         Correct the description of this function.
65530         Include <assert.h>.
65531         Add an assertion and a test driver.
65532         This fixes a bug introduced on 2004-07-02.
65533         Andreas Schwab reported the resulting failure of cp --parents:
65534         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
65535
65536 2005-03-21  Jim Meyering  <jim@meyering.net>
65537
65538         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
65539         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
65540
65541 2005-03-21  Jim Meyering  <jim@meyering.net>
65542         and  Paul Eggert  <eggert@cs.ucla.edu>
65543
65544         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
65545         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
65546         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
65547         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
65548         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
65549         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
65550         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
65551         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
65552         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
65553         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
65554         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
65555         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
65556         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
65557         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
65558         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
65559         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
65560         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
65561         for these modules.
65562
65563 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
65564
65565         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
65566         (which shouldn't happen), generate nothing instead of returning 0
65567         immediately, so that nstrftime (NULL, ...) doesn't return 0.
65568
65569 2005-03-16  Bruno Haible  <bruno@clisp.org>
65570
65571         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
65572         HAVE_LONGLONG_64BIT.
65573
65574 2005-03-16  Bruno Haible  <bruno@clisp.org>
65575
65576         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
65577         HAVE_LONGLONG_64BIT.
65578
65579 2005-03-16  Bruno Haible  <bruno@clisp.org>
65580
65581         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
65582         HAVE_LONGLONG_64BIT.
65583
65584 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
65585
65586         * lib/strftime.c (my_strftime): Prepend space to format so that we can
65587         reliably distinguish strftime failure from empty output on POSIX
65588         hosts.
65589
65590 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
65591
65592         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
65593         (iconv_string): Don't guess a size-zero buffer, as that might cause
65594         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
65595         result would be 'too large', where 'too large' is (heuristically)
65596         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
65597         overflow concerns.  This will prevent some unwanted malloc failures
65598         when the inputs are very large.
65599
65600 2005-03-15  Karl Berry  <karl@gnu.org>
65601
65602         * config/srclist.txt (config.rpath): from gettext.
65603         * config/config.rpath: update.
65604
65605 2005-03-15  Bruno Haible  <bruno@clisp.org>
65606
65607         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
65608         to 'negate'.
65609
65610         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
65611         variable.
65612
65613         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
65614         results.
65615
65616 2005-03-14  Simon Josefsson  <jas@extundo.com>
65617
65618         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
65619         <fx@gnu.org>.
65620
65621 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
65622
65623         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
65624         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
65625         intprops.h.
65626         * lib/strtol.c: Likewise.
65627
65628 2005-03-14  Jim Meyering  <jim@meyering.net>
65629
65630         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
65631         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
65632         to be nonzero so that we (and caller) can detect the difference
65633         between a valid zero-length expansion and an error return, even
65634         when the underlying strftime fails before writing anything into
65635         that location.
65636
65637 2005-03-14  Bruno Haible  <bruno@clisp.org>
65638
65639         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
65640         Update from GNU gettext 0.14.3.
65641
65642 2005-03-10  Jim Meyering  <jim@meyering.net>
65643
65644         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
65645
65646 2005-03-10  Jim Meyering  <jim@meyering.net>
65647
65648         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
65649         so that this module works on systems without fchdir.
65650
65651 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
65652
65653         Factor int-properties macros into a single file, except for
65654         glibc-related files.
65655         * lib/intprops.h: New file.
65656         * lib/getloadavg.c: Include it instead of limits.h.
65657         (INT_STRLEN_BOUND): Remove.
65658         * lib/human.c: Include intprops.h.
65659         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
65660         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
65661         302/1000.
65662         * lib/inttostr.h: Include intprops.h instead of limits.h.
65663         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
65664         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
65665         for consistency with intprops.h.
65666         (time_t_is_integer, twos_complement_arithmetic): Use them.
65667         * lib/sig2str.h: Include <signal.h>, intprops.h.
65668         (INT_STRLEN_BOUND): Remove.
65669         * lib/strftime.c (TYPE_SIGNED): Remove.
65670         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
65671         * lib/strtol.c: Adjust comments to match intprops.h.
65672         * lib/userspec.c: Include intprops.h.
65673         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
65674         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
65675         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
65676         instead of rolling our own expressions.
65677         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
65678
65679         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
65680         instead of int.
65681         (my_strftime): Do not mishandle years close to INT_MAX, by doing
65682         the right thing even if adding 1900 would overflow.  Similarly
65683         for tm_mon + 1 and tm_yday + 1.
65684         Make %Y always equivalent to %C%y, and similarly for %G and %g.
65685         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
65686         (DO_SIGNED_NUMBER): New macro.
65687         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
65688
65689 2005-03-07  Bruno Haible  <bruno@clisp.org>
65690
65691         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
65692
65693 2005-03-07  Bruno Haible  <bruno@clisp.org>
65694
65695         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
65696
65697 2005-03-04  Derek R. Price  <derek@ximbiot.com>
65698
65699         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
65700         (func_import): Only replace files via --import when they have actually
65701         changed.
65702
65703 2005-03-03  Derek R. Price  <derek@ximbiot.com>
65704
65705         * m4/mmap-anon.m4: New file.
65706         * m4/pagealign_alloc.m4: New file.
65707
65708 2005-03-03  Derek R. Price  <derek@ximbiot.com>
65709             Bruno Haible  <bruno@clisp.org>
65710
65711         * modules/pagealign_alloc: New file.
65712         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
65713
65714 2005-03-03  Derek R. Price  <derek@ximbiot.com>
65715             Bruno Haible  <bruno@clisp.org>
65716
65717         * lib/pagealign_alloc.h: New file.
65718         * lib/pagealign_alloc.c: New file.
65719
65720 2005-03-03  Bruno Haible  <bruno@clisp.org>
65721
65722         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
65723         Use an all-permissive copyright notice, recommended by RMS.
65724
65725 2005-03-02  Bruno Haible  <bruno@clisp.org>
65726
65727         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
65728         of AIX, the replacement has to be done only after <string.h> is
65729         included, therefore not in config.h. stpncpy.h does the replacement,
65730         and stpncpy.c uses it.
65731
65732 2005-03-02  Bruno Haible  <bruno@clisp.org>
65733
65734         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
65735         stpncpy.c uses it.
65736
65737 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65738
65739         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
65740         The workaround isn't strictly needed for POSIX conformance, and
65741         it's too much of a pain to configure and maintain.  We'll ask
65742         people to fix their kernels instead.
65743         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
65744         (NANOSLEEP_BUG_WORKAROUND): Remove.
65745         (xnanosleep): Remove the workaround.
65746
65747 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65748
65749         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
65750         Reported by Derek Price.
65751         (Include): Add "timespec.h".
65752
65753         * modules/xnanosleep (Depends-on): Remove gethrxtime.
65754
65755 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65756
65757         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
65758         to detect nanosleep bug.
65759
65760 2005-03-01  Bruno Haible  <bruno@clisp.org>
65761
65762         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
65763
65764 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
65765
65766         * modules/gethrxtime: New file.
65767         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
65768         (Depends-on): Add gethrxtime.
65769         (configure.ac): Add gl_XNANOSLEEP.
65770         (Makefile.am): Remove lib_SOURCES line.
65771
65772 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
65773
65774         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
65775         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
65776
65777 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
65778
65779         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
65780         * lib/timespec.h (gettime): Return void, since it always
65781         succeeds now.  All uses changed.
65782         * lib/gettime.c (gettime) Likewise.
65783         [HAVE_NANOTIME]: Prefer nanotime.
65784         Assume gettimeofday succeeds, as POSIX requires.
65785         Assime time () succeeds, since other code already does.
65786         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
65787         (timespec_subtract): Remove.
65788         (NANOSLEEP_BUG_WORKAROUND): New constant.
65789         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
65790         things considerably.  Use it only on GNU/Linux hosts, since the
65791         workaround shouldn't be needed elsewhere.
65792
65793 2005-02-24  Bruno Haible  <bruno@clisp.org>
65794
65795         * modules/gettext (Files): Add m4/glibc2.m4.
65796
65797 2005-02-24  Bruno Haible  <bruno@clisp.org>
65798
65799         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
65800         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
65801         * m4/progtest.m4:
65802         Update from GNU gettext 0.14.2.
65803         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
65804
65805 2005-02-24  Bruno Haible  <bruno@clisp.org>
65806
65807         * lib/localcharset.c: Update from GNU gettext 0.14.2.
65808         * lib/config.charset: Update from GNU gettext 0.14.2.
65809
65810 2005-02-24  Bruno Haible  <bruno@clisp.org>
65811
65812         * lib/gettext.h: Update from GNU gettext 0.14.2.
65813
65814 2005-02-23  Simon Josefsson  <jas@extundo.com>
65815
65816         * m4/iconvme.m4: New file.
65817
65818 2005-02-23  Jim Meyering  <jim@meyering.net>
65819
65820         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
65821         change.
65822         Thanks to Bruno Haible for catching it.
65823
65824 2005-02-22  Simon Josefsson  <jas@extundo.com>
65825
65826         * modules/iconvme: New file.
65827
65828         * MODULES.html.sh: Add iconvme.
65829
65830 2005-02-22  Simon Josefsson  <jas@extundo.com>
65831
65832         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
65833
65834 2005-02-22  Simon Josefsson  <jas@extundo.com>
65835
65836         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
65837
65838 2005-02-22  Jim Meyering  <jim@meyering.net>
65839
65840         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
65841         s/ifndef/ifdef/.
65842
65843 2005-02-20  Neil Conway  <neilc@samurai.com>
65844
65845         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
65846         returned by OSX/Darwin if the specified buffer is not large
65847         enough for the hostname.
65848
65849 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65850
65851         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
65852         pass it to _help, otherwise the latter coredumps trying to
65853         dereference state.root_argp.
65854
65855 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
65856
65857         * modules/chdir-long (Depends-on): Add memrchr.
65858         * modules/memrchr (Files): Add lib/memrchr.h.
65859         (Include): "memrchr.h".
65860
65861 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
65862
65863         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
65864
65865 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
65866
65867         * lib/memrchr.h: New file.
65868         * lib/chdir-long.c: Include it.
65869         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
65870         Don't bother including stddef.h.
65871
65872 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
65873
65874         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
65875         inclusion.
65876         Include <sys/types.h>, for dev_t.
65877         (ME_DUMMY, ME_REMOTE): Move from here....
65878         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
65879         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
65880         Dmitry V. Levin.
65881         Include mountlist.h first, to test the interface.
65882
65883 2005-01-29  Bruno Haible  <bruno@clisp.org>
65884
65885         * lib/progname.c (program_name): Initialize.
65886         Needed when linking statically on MacOS X.
65887
65888 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
65889
65890         Sync from coreutils.
65891         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
65892         (Depends-on): Add c-strtod.
65893         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
65894
65895 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
65896
65897         Sync from coreutils.
65898         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
65899
65900         Remove files that are specific to coreutils.
65901         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
65902
65903 2005-01-28  Bruno Haible  <bruno@clisp.org>
65904
65905         * modules/javacomp: New file.
65906         * MODULES.html.sh (Java): Add javacomp.
65907
65908 2005-01-28  Bruno Haible  <bruno@clisp.org>
65909
65910         * m4/javacomp.m4: New file, from GNU gettext.
65911
65912 2005-01-28  Bruno Haible  <bruno@clisp.org>
65913
65914         * lib/javacomp.sh.in: New file, from GNU gettext.
65915         * lib/javacomp.h: New file, from GNU gettext.
65916         * lib/javacomp.c: New file, from GNU gettext.
65917
65918 2005-01-26  Simon Josefsson  <jas@extundo.com>
65919
65920         * lib/gai_strerror.c: Use GPL in header.
65921
65922 2005-01-26  Bruno Haible  <bruno@clisp.org>
65923
65924         * modules/javaexec: New file.
65925         * MODULES.html.sh (Java): Add javaexec.
65926
65927 2005-01-26  Bruno Haible  <bruno@clisp.org>
65928
65929         * m4/javaexec.m4: New file, from GNU gettext.
65930
65931 2005-01-26  Bruno Haible  <bruno@clisp.org>
65932
65933         * lib/javaexec.sh.in: New file, from GNU gettext.
65934         * lib/javaexec.h: New file, from GNU gettext.
65935         * lib/javaexec.c: New file, from GNU gettext.
65936
65937 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65938
65939         * modules/lchown (Depends-on): Remove lchown.h
65940
65941 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65942
65943         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
65944         must be defined if the header file was not found, in order
65945         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
65946
65947 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65948
65949         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
65950         initializers for struct pentry_state.
65951         (__argp_error): Check return value of __asprintf
65952         (__argp_failure): Translate error message
65953
65954         * lib/argp-parse.c: Removed braces around the expansion of N_()
65955
65956 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
65957
65958         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
65959         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
65960         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
65961         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
65962         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
65963         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
65964         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
65965         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
65966         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
65967         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
65968         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
65969         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
65970         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
65971         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
65972         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
65973         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
65974         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
65975         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
65976         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
65977         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
65978         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
65979         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
65980         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
65981         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
65982         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
65983         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
65984         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
65985         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
65986         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
65987         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
65988         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
65989         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
65990         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
65991         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
65992         xstrtol.m4, xstrtoumax.m4, yesno.m4:
65993         Use an all-permissive copyright notice, recommended by RMS.
65994
65995 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
65996
65997         * modules/chdir-long (Depends-on): Remove mempcpy.
65998
65999 2005-01-21  Jim Meyering  <jim@meyering.net>
66000
66001         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
66002         same value as for Solaris 9.
66003
66004         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
66005         component length.  This included changing the parameter to be
66006         of type `char *' rather than `char const *'.
66007         * lib/chdir-long.h (chdir_long): Update prototype.
66008
66009         * lib/openat.c (fdopendir, fstatat): New functions.
66010         * lib/openat.h: Include headers required for use of DIR and struct
66011         stat.
66012         [AT_SYMLINK_NOFOLLOW]: Define.
66013         (fdopendir, fstatat): Add prototypes.
66014
66015 2005-01-21  Bruno Haible  <bruno@clisp.org>
66016
66017         * modules/classpath: New file.
66018         * MODULES.html.sh (Java): Add classpath.
66019
66020 2005-01-21  Bruno Haible  <bruno@clisp.org>
66021
66022         * lib/classpath.h: New file, from GNU gettext.
66023         * lib/classpath.c: New file, from GNU gettext.
66024
66025 2005-01-20  Simon Josefsson  <jas@extundo.com>
66026
66027         * modules/version-etc-fsf: New file.
66028
66029 2005-01-20  Simon Josefsson  <jas@extundo.com>
66030
66031         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
66032         * lib/version-etc.c: Remove version_etc_copyright.
66033         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
66034         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
66035
66036 2005-01-20  Simon Josefsson  <jas@extundo.com>
66037
66038         * lib/base64.h (isbase64): Add.
66039
66040         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
66041         using a unsigned prototype, don't inline.
66042         (base64_decode): Use it.
66043
66044 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66045
66046         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
66047         it.
66048
66049 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66050
66051         * lib/save-cwd.c (save_cwd): Remove code to support the case
66052         where fchdir is missing or flaky.
66053
66054 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66055
66056         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
66057
66058 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
66059
66060         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
66061         AC_LIBSOURCES now does this.
66062         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
66063         with new ullong_max module.
66064
66065 2005-01-19  Bruno Haible  <bruno@clisp.org>
66066
66067         * modules/sh-quote: New file.
66068         * MODULES.html.sh (Executing programs): Add sh-quote.
66069
66070 2005-01-19  Bruno Haible  <bruno@clisp.org>
66071
66072         * lib/sh-quote.h: New file, from GNU gettext.
66073         * lib/sh-quote.c: New file, from GNU gettext.
66074
66075 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66076
66077         Merge from coreutils.
66078         * m4/ullong_max.m4: New file.
66079         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
66080         (gl_MACROS): Assume localeconv exists.
66081
66082 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66083
66084         Merge changes from coreutils, as described below in several
66085         changelogs dated today.
66086
66087         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
66088         (O_DIRECTORY): Remove; not needed here, since "." must be
66089         a directory.  All uses removed.
66090         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
66091         universal on Suns, and we also need to test for IRIX.
66092         Revamp code to use 'if' rather than '#if'.
66093         Avoid unnecessary comparison of cwd->desc to 0.
66094
66095         * lib/utimens.c (futimens): Robustify the previous patch, by checking
66096         for known valid error numbers rather than observed invalid ones.
66097
66098 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66099
66100         * modules/ullong_max: New file.
66101
66102         * modules/chdir-long, modules/openat: New files.
66103         * modules/save-cwd (Depends-on): Depend on chdir-long.
66104         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
66105
66106 2005-01-18  Jim Meyering  <jim@meyering.net>
66107
66108         Merge from coreutils.
66109         * m4/chdir-long.m4, m4/openat.m4: New files.
66110         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
66111         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
66112         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
66113         is sane and DOES follow symlinks.  Besides, testing 20 different
66114         systems found no broken chown implementations.
66115         Prompted by a change in rsync's copy of this macro.
66116         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
66117
66118         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
66119
66120         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
66121         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
66122         NULL-means-set-to-current-time semantics.
66123         Remove temporary file immediately, rather than waiting
66124         for configure's at-exit trap code to do it.
66125
66126 2005-01-18  Jim Meyering  <jim@meyering.net>
66127
66128         * lib/version-etc.c (version_etc_copyright): Update copyright date.
66129
66130         * lib/utimens.c (futimens): Account for the fact that futimes
66131         can also fail with errno == ENOSYS or errno == ENOENT.
66132         Patch from Dmitry V. Levin.
66133
66134         Change the name of the robust chdir function from chdir to chdir_long.
66135         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
66136         (restore_cwd): Use chdir_long, not chdir.
66137         * lib/chdir-long.c: Renamed from chdir.c.
66138         * lib/chdir-long.h: Renamed from chdir.h.
66139         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
66140         Hurd.
66141
66142 2005-01-18  Bruno Haible  <bruno@clisp.org>
66143
66144         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
66145         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
66146         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
66147         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
66148         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
66149         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
66150         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
66151         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
66152         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
66153         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
66154         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
66155         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
66156         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
66157         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
66158         Use an all-permissive copyright notice, recommended by RMS.
66159
66160 2005-01-18  Bob Proulx  <bob@proulx.com>
66161
66162         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
66163         simplify offsetof() macro construct to avoid compile failure with
66164         native HP-UX 11.0 ANSI C compiler.
66165
66166 2005-01-17  Bruno Haible  <bruno@clisp.org>
66167
66168         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
66169         redundant because stpncpy.m4 takes care of it.
66170
66171 2005-01-17  Bruno Haible  <bruno@clisp.org>
66172
66173         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
66174
66175 2005-01-17  Bruno Haible  <bruno@clisp.org>
66176
66177         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
66178         used.
66179
66180 2005-01-17  Bruno Haible  <bruno@clisp.org>
66181
66182         * lib/fwriteerror.h (fwriteerror): Change specification to include
66183         fclose.
66184         * lib/fwriteerror.c: Include <stdbool.h>.
66185         (fwriteerror): At the end, close the file stream. Record whether
66186         stdout was already closed.
66187
66188 2005-01-17  Bruno Haible  <bruno@clisp.org>
66189
66190         * lib/execute.c (environ): Declare if needed.
66191         * lib/pipe.c (environ): Likewise.
66192         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
66193
66194 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66195
66196         * modules/argp: Depend on vsnprintf
66197
66198 2005-01-10  Jim Meyering  <jim@meyering.net>
66199
66200         * modules/closeout (Depends-on): Add atexit.
66201
66202 2005-01-06  Bruno Haible  <bruno@clisp.org>
66203
66204         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
66205
66206 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
66207
66208         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
66209         definitions to be after all include files, to avoid collisions.
66210         Problem reported by Bob Proulx.
66211
66212 2005-01-04  Jim Meyering  <jim@meyering.net>
66213
66214         Changes imported from coreutils.
66215         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
66216         as the mkstemp template, use a temporary directory and an
66217         8.3-friendly template to avoid trouble on systems like DJGPP.
66218         Reported by Juan M. Guerrero via Stepan Kasal.
66219         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
66220         close. Remove the temporary directory right away, rather than waiting
66221         for configure's at-exit trap code to do it.
66222         Suggestion from Stepan Kasal.
66223
66224 2005-01-01  Simon Josefsson  <jas@extundo.com>
66225
66226         * gnulib-tool: Print #include directives when --import'ing.
66227
66228 2004-12-28  Simon Josefsson  <jas@extundo.com>
66229
66230         * tests/test-base64.c: Include required header files.  Remove
66231         unused variables.
66232
66233 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
66234
66235         * modules/error (Depends-on): Remove gettext.
66236
66237 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
66238
66239         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
66240         not needed.  This removes a dependency on the gettext module.
66241         [defined _LIBC]: Do not include <libintl.h>; not needed.
66242
66243 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
66244
66245         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
66246         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
66247
66248 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
66249
66250         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
66251         HAVE_DECL_STRTOLD.
66252
66253 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66254
66255         * modules/getdate (Depends-on): Remove alloca-opt.
66256
66257 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66258
66259         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
66260
66261 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66262
66263         * lib/argp-parse.c: Include <stddef.h>.
66264         (alignof, alignto): New macros.
66265         (parser_init): Don't assume that void * is aligned sufficiently
66266         for struct option.
66267
66268         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
66269         need to extend the stack.
66270         (YYINITDEPTH): New macro, so that the initial stack isn't overly
66271         large.
66272
66273 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66274
66275         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
66276
66277 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
66278
66279         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
66280         (2004-10-24) change.  Apparently this was a false alarm.
66281
66282         * modules/getdate: Depend on alloca-opt, not alloca.
66283
66284 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
66285
66286         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
66287         Remove now-obsolete comment about AIX.
66288         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
66289         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
66290         (YYMAXDEPTH): New macro.
66291
66292 2004-12-18  Simon Josefsson  <jas@extundo.com>
66293
66294         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
66295
66296 2004-12-18  Bruno Haible  <bruno@clisp.org>
66297
66298         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
66299
66300 2004-12-18  Bruno Haible  <bruno@clisp.org>
66301
66302         * lib/fatal-signal.c (fatal_signals): Make non-const.
66303         (init_fatal_signals): New function.
66304         (uninstall_handlers, install_handlers): Ignore signals that were set to
66305         SIG_IGN.
66306         (at_fatal_signal): Call init_fatal_signals.
66307         (init_fatal_signal_set): Likewise. Ignore signals that were set to
66308         SIG_IGN.
66309         Reported by Paul Eggert.
66310
66311 2004-12-18  Bruno Haible  <bruno@clisp.org>
66312
66313         * doc/alloca.texi: New file.
66314         * doc/alloca-opt.texi: New file.
66315
66316 2004-12-17  Jim Meyering  <jim@meyering.net>
66317
66318         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
66319         Otherwise, install-sh could exit with improper exit status when
66320         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
66321
66322 2004-12-16  Simon Josefsson  <jas@extundo.com>
66323
66324         * tests/test-base64.c: Add license.
66325
66326 2004-12-15  Stepan Kasal  <address@hidden>
66327
66328         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
66329
66330 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
66331
66332         * modules/getcwd (Files): Add m4/d-ino.m4.
66333         Suggested by Mark D. Baushke.
66334
66335 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
66336
66337         * lib/getdate.y (textint): New member "negative".
66338         (time_zone_hhmm): New function.
66339         Expect 14 shift-reduce conflicts, not 13.
66340         (o_colon_minutes): New rule.
66341         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
66342         (yylex): Set the "negative" member of signed numbers.
66343
66344 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
66345
66346         * doc/getdate.texi (Time of day items, Time zone items):
66347         Describe new formats +00:00, UTC+00:00.
66348
66349 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
66350
66351         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
66352         spurious "-l"s.  Problem reported by Stepan Kasal.
66353
66354 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
66355
66356         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
66357         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
66358
66359 2004-12-04  Simon Josefsson  <jas@extundo.com>
66360
66361         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
66362         Vandoorselaere <yoann@prelude-ids.org>.
66363
66364 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
66365
66366         Changes imported from coreutils.
66367         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
66368         exist.
66369         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
66370
66371 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
66372
66373         Changes imported from coreutils.
66374         * lib/hard-locale.c: Assume <locale.h> exists.
66375         Include "strdup.h".
66376         (GLIBC_VERSION): New macro.
66377         (hard_locale): Assume setlocale exists.
66378         Rewrite to avoid #ifdef.
66379         Use strdup rather than malloc + strcpy.
66380         * lib/human.c: Assume <locale.h> exists.
66381         (human_readable): Assume localeconv exists.
66382
66383 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
66384
66385         * modules/hard-locale (Depends-on): Add strdup.
66386
66387 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
66388
66389         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
66390         convert T2, not T.  (Imported from libc.)
66391
66392 2004-11-30  Simon Josefsson  <jas@extundo.com>
66393
66394         * modules/restrict (License): Change to LGPL.
66395
66396 2004-11-30  Simon Josefsson  <jas@extundo.com>
66397
66398         * m4/restrict.m4: Add copyright and copying conditions.
66399
66400 2004-11-30  Simon Josefsson  <jas@extundo.com>
66401
66402         * m4/base64.m4: New file.
66403
66404 2004-11-30  Simon Josefsson  <jas@extundo.com>
66405
66406         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
66407         base64.
66408
66409         * tests/test-base64.c: New file.
66410
66411         * modules/base64: New file.
66412
66413 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
66414
66415         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
66416         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
66417
66418         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
66419
66420 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
66421
66422         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
66423         (__getcwd.c): Don't restore errno; glibc doesn't.
66424         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
66425         first, falling back to our code only if its results look suspicious.
66426         Ensure that the resulting buffer is only as large as necessary.
66427
66428         * lib/readutmp.c: Include readutmp.h first.
66429         Include <errno.h>, since readutmp.h no longer does that.
66430         * lib/readutmp.h: Don't include <errno.h>,
66431         <sys/param.h>, <time.h>; not needed to establish interface.
66432         (errno): Remove decl.
66433         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
66434         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
66435         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
66436
66437 2004-11-28  Simon Josefsson  <jas@extundo.com>
66438
66439         * lib/base64.h, base64.c: New file.
66440
66441 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
66442
66443         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
66444
66445 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
66446
66447         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
66448         (Depends-on): Remove pathmax, same.  Add mempcpy.
66449         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
66450         (Makefile.am): Append getcwd.h to lib_SOURCES.
66451         (Include): Add getcwd.h.
66452         (Maintainer): Change from Jim Meyering to "all, glibc",
66453         since getdate now uses intended-for-glibc code.
66454         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
66455         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
66456
66457 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
66458
66459         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
66460         HP's ANSI C compiler.
66461         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
66462         Declaring int functions causes warnings on some modern systems and
66463         shouldn't be needed to compile on ancient ones.
66464         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
66465         defined.
66466
66467         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
66468         with the following changes.
66469         (__set_errno): Parenthesize properly.
66470         Include <stdbool.h>.
66471         (MIN, MAX, MATCHING_INO): New macros.
66472         (__getcwd): Define with prototype, not K&R form.
66473         Use heuristics to allocate default buffer on stack if possible.
66474         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
66475         behavior, and to avoid the PATH_MAX limit when computing
66476         ../../../../...
66477         Use MATCHING_INO to compare inode number to file.
66478         Check for arithmetic overflow in size calculations.
66479         Fix bug in reallocation of dot array that caused getcwd to fail
66480         on directories nested deeper than 75.
66481         Be more careful about saving errno on error.
66482         Do not use realloc; use only free+malloc, as this is a bit
66483         more flexible and avoids a needless copy operation.
66484         Do not inspect st_dev and st_ino for symbolic links; POSIX
66485         doesn't specify the latter.
66486         Check for closedir errors.
66487         Avoid needless casts.
66488         Use "#ifdef weak_alias" around weak_alias, to be like other
66489         glibc code.
66490         The following changes to getcwd.c have effect only when used in
66491         gnulib; they have no effect inside glibc proper.
66492         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
66493         as alloca isn't used.
66494         (alloca, __alloca): Likewise.
66495         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
66496         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
66497         unconditionally, as gnulib assumes C89 or better.
66498         Do not include <sys/param.h>.
66499         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
66500         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
66501         better.
66502         (NULL) [!defined NULL]: Remove; we assume C89 or better.
66503         Include <dirent.h> in a way that is compatible with modern Autoconf.
66504         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
66505         New macros, if not already defined.
66506         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
66507         Use "_LIBC", not "defined _LIBC", for consistency.
66508         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
66509         a mempcpy module.
66510         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
66511         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
66512         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
66513         credit only to Jim Meyering and adjust the copyright dates.
66514         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
66515         <stdlib.h>, <unistd.h>, "pathmax.h".
66516         Instead, include "xgetcwd.h" (first) and "getcwd.h".
66517         (INITIAL_BUFFER_SIZE): Remove.
66518         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
66519
66520 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
66521
66522         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
66523         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
66524         Use the _ONCE methods, for efficiency.
66525         Check for fcntl.h.  In test program, include <errno.h>
66526         and <fcntl.h> if available.  Remove old K&R cruft from
66527         test program.  Check for common errors in GNU/Linux,
66528         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
66529         don't do AC_LIBOBJ, as that's getcwd.m4's job.
66530         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
66531         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
66532         name accordingly.
66533         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
66534         accommodate new getcwd.c.
66535         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
66536         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
66537         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
66538         that's all we need now.
66539
66540 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66541
66542         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
66543         argp-parse.c depends on getopt internals, that means we should
66544         always use our getopt, to be on the safe side.
66545         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
66546         order not to spoil the result of an eventual previous invocation
66547         of gl_GETOPT_SUBSTITUTE.
66548
66549 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66550
66551         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
66552         redefinition warnings. To avoid them, include the defines
66553         in `#if !defined __need_getopt ... #endif'. The only place
66554         where __getopt_argv_const is used is in definitions
66555         of getopt_long and getopt_long_only below, which are as well
66556         protected by `#ifndef __need_getopt'.
66557         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
66558         __need_getopt after including <stdio.h> and <unistd.h> These
66559         headers might have defined it.
66560
66561 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
66562
66563         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
66564
66565 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
66566
66567         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
66568         (futimens): New function, which uses futimes if available.
66569         (futimens, utimens): Support timespec==NULL, with same semantics
66570         as utime and utimens.
66571         * lib/utimens.h (futimens): New decl.
66572
66573 2004-11-23  Jim Meyering  <jim@meyering.net>
66574
66575         * lib/getopt_.h: Remove trailing blanks.
66576
66577 2004-11-23  Jim Meyering  <jim@meyering.net>
66578
66579         * lib/__fpending.c: Add comment.
66580
66581 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
66582
66583         * modules/canonicalize (Depends-on): Add xreadlink.
66584         Problem reported by James Youngman.
66585
66586 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
66587
66588         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
66589         New macros.
66590         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
66591         optopt): Use them instead of invoking ## directly; otherwise, the
66592         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
66593
66594 2004-11-19  Bruno Haible  <bruno@clisp.org>
66595
66596         * lib/strtok_r.c: Move comments from here...
66597         * lib/strtok_r.h: ... to here.
66598
66599 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
66600
66601         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
66602         implementations that mishandle size_t overflow.
66603
66604 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
66605
66606         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
66607         might fail.  Problem reported by Yoann Vandoorselaere.
66608         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
66609         implementations that mishandle size_t overflow.
66610
66611 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66612
66613         * modules/canon-host (Depends-on): Add strdup.
66614
66615 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66616
66617         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
66618
66619 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66620
66621         * lib/canon-host.c: Include "strdup.h".
66622         (canon_host): Use getaddrinfo if available, so that IPv6 works.
66623         Use strdup instead of malloc/strcpy to duplicate strings.
66624
66625         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
66626         (human_space_before_unit): New constant.
66627         * lib/human.c (human_readable): Support it.
66628
66629         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
66630         (xgetcwd): Set errno correctly when failing.
66631         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
66632         the failure is actually due to a PATH_MAX problem.
66633
66634         Further getopt changes to make it more likely that glibc will
66635         buy the changes back.
66636         * lib/getopt.c (POSIXLY_CORRECT): New constant.
66637         (getopt): Use it, so to preserve glibc semantic
66638         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
66639         when compiling for libc.
66640         * lib/getopt_.h (__getopt_argv_const): Bring it back.
66641         (getopt_long, getopt_long_only): Use it.
66642
66643         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
66644         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
66645         (getopt): Argv is now char * const *, as per standard.
66646         (_getopt_internal_r, _getopt_internal): Argv is now char **,
66647         not char *__getopt_argv_const *.
66648         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
66649         _getopt_long_only_r): Likewise.
66650         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
66651         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
66652         _getopt_long_r, _getopt_long_only_r): Likewise.
66653         * lib/getopt_.h (__getopt_argv_const): Remove.
66654         (getopt): Argv is now char * const *, as per standard.
66655
66656         * lib/getdate.y (tORDINAL): New token.
66657         (day, relunit): Allow it for relative times.
66658         (relative_time_table): Use tORDINAL for ordinals.
66659
66660 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66661
66662         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
66663         Document that "second" isn't allowed as an ordinal number.
66664
66665 2004-11-16  Jim Meyering  <jim@meyering.net>
66666
66667         * modules/closeout (Depends-on): Add fpending.
66668
66669 2004-11-15  Jim Meyering  <jim@meyering.net>
66670
66671         * lib/closeout.c: Include "__fpending.h" once again.
66672         Include <stdbool.h>.
66673         (close_stdout): Don't fail just because stdout was closed initially,
66674         since some programs don't write to stdout in the normal course of
66675         operation (other than --version and --help), and we don't want this
66676         function to make e.g. `touch file >&-' fail.
66677         But do fail if it was closed and someone has tried to write to it.
66678         E.g., `printf foo >&-' must fail.
66679
66680 2004-11-13  Jim Meyering  <jim@meyering.net>
66681
66682         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
66683
66684 2004-11-12  Simon Josefsson  <jas@extundo.com>
66685
66686         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
66687         small doc fix is still pending.
66688
66689 2004-11-11  Simon Josefsson  <jas@extundo.com>
66690
66691         * modules/strtok_r: New file.
66692
66693         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66694         strtok_r.
66695
66696 2004-11-11  Simon Josefsson  <jas@extundo.com>
66697
66698         * m4/strtok_r.m4: New file.
66699
66700         * m4/getopt.m4: Replace opterr.
66701
66702 2004-11-11  Simon Josefsson  <jas@extundo.com>
66703
66704         * lib/strtok_r.h, strtok_r.c: New file.
66705
66706 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
66707
66708         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
66709         of replacing opterr, getopt, etc.  This should handle the
66710         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
66711
66712 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
66713
66714         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
66715         we can stop lying to compilers about the constness of argv when we
66716         are compiled outside glibc.
66717         (getopt, getopt_long, getopt_long_only): Use it.
66718         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
66719         _getopt_internal, getopt): Likewise.
66720         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
66721         _getopt_long_only_r): Likewise.
66722         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
66723         _getopt_long_r, _getopt_long_only_r): Likewise.
66724
66725         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
66726         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
66727         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
66728         the other external symbols.
66729         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
66730         declaration, since the above renaming now works around collisions.
66731
66732 2004-11-11  Jim Meyering  <jim@meyering.net>
66733
66734         * lib/linebreak.c: Remove trailing blanks.
66735         * lib/alloca_.h: Likewise.
66736         * lib/acosl.c: Likewise.
66737         * lib/euidaccess.c: Likewise.
66738         * lib/allocsa.h: Likewise.
66739
66740 2004-11-10  Simon Josefsson  <jas@extundo.com>
66741
66742         * m4/getaddrinfo.m4: New file.
66743
66744 2004-11-10  Simon Josefsson  <jas@extundo.com>
66745
66746         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
66747
66748 2004-11-10  Simon Josefsson  <jas@extundo.com>
66749
66750         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66751         getaddrinfo.
66752
66753         * modules/getaddrinfo: New file.
66754
66755 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66756
66757         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
66758
66759 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66760
66761         * lib/mktime.c (SHR): New macro, which is a portable
66762         substitute for >> that should work even on Crays.
66763         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
66764         Problem reported by Mark D. Baushke in
66765         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
66766         * lib/getdate.y (SHR): Likewise.
66767         (tm_diff): Use it.
66768         * lib/strftime.c (SHR): Likewise.
66769         (tm_diff): Use it.
66770         * lib/quotearg.c (struct quoting_options): Use unsigned int for
66771         quote_these_too, so that right shifts are well defined.  All uses
66772         changed.
66773
66774 2004-11-10  Jim Meyering  <jim@meyering.net>
66775
66776         Ensure that no close failure goes unreported.
66777         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
66778         return early when it seems there's nothing to flush.
66779         Don't include __fpending.h.
66780
66781 2004-11-10  Jim Meyering  <jim@meyering.net>
66782
66783         * modules/closeout (Depends-on): Remove fpending.
66784
66785 2004-11-10  Jim Meyering  <jim@meyering.net>
66786
66787         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
66788
66789 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
66790
66791         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
66792         gl_FUNC_STRFTIME.
66793         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
66794         and AC_REQUIRE when possible, to avoid duplicate checks.
66795         Check for <wchar.h>.
66796
66797 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
66798
66799         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
66800
66801 2004-11-09  Bruno Haible  <bruno@clisp.org>
66802
66803         * m4/sockpfaf.m4: New file.
66804
66805 2004-11-05  Bruno Haible  <bruno@clisp.org>
66806
66807         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
66808         Reported by Mark D. Baushke <mdb@cvshome.org>.
66809
66810 2004-11-04  Bruno Haible  <bruno@clisp.org>
66811
66812         2004-09-11  Bruno Haible  <bruno@clisp.org>
66813                 * allocsa.valgrind: New file.
66814         2004-02-06  Bruno Haible  <bruno@clisp.org>
66815                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
66816                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
66817                 Reported by Christopher Seip <chris.seip@hp.com>.
66818
66819 2004-11-04  Bruno Haible  <bruno@clisp.org>
66820
66821         * modules/allocsa (Files): Add lib/allocsa.valgrind.
66822         (Makefile.am): Distribute it.
66823
66824 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
66825
66826         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
66827         with errno == ERANGE if the buffer is too small.
66828         Problem reported by Mark D. Baushke.
66829
66830 2004-11-03  Albert Chin  <china@thewrittenword.com>
66831             Paul Eggert  <eggert@cs.ucla.edu>
66832
66833         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
66834         equivalent, substitute $ac_type for equivalent type rather than
66835         blindly using uint32_t *always* which won't work if uint32_t is not
66836         available.  Define _UINT32_T to work around typedef of uint32_t if
66837         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
66838         2.5.1.
66839
66840 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
66841
66842         * m4/jm-macros.m4: Sync from coreutils.
66843         (gl_MACROS): Check for mbrlen, for pathchk.
66844         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
66845
66846 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
66847
66848         * lib/xreadlink.c (MAXSIZE): New macro.
66849         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
66850         size does not exceed MAXSIZE.  Avoid cast.
66851         As suggested by Mark D. Baushke in
66852         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
66853         if readlink fails with buffer size just under MAXSIZE, try again
66854         with MAXSIZE.
66855
66856 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
66857
66858         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
66859
66860 2004-11-02  Derek R. Price  <derek@ximbiot.com>
66861         and  Paul Eggert  <eggert@cs.ucla.edu>
66862
66863         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
66864         (get_date): Overparenthesize to avoid GCC warning.
66865
66866 2004-11-02  Bruno Haible  <bruno@clisp.org>
66867
66868         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
66869         returns void.
66870
66871 2004-11-02  Bruno Haible  <bruno@clisp.org>
66872
66873         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
66874         function returns void.
66875
66876 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
66877
66878         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
66879         fflush_unlocked, flockfile, funlockfile, funlockfile,
66880         fputs_unlocked, putc_unlocked.
66881
66882 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
66883
66884         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
66885         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
66886         already declared.
66887
66888 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
66889
66890         * modules/getdate (Files): Add doc/getdate.texi.
66891         (Depends-on): Add setenv, xalloc.
66892
66893 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
66894
66895         * lib/getdate.y: Add support for TZ="foo" within a date string.
66896         Fix some bugs near time_t boundaries.  Reject dates with
66897         out-of-range components, e.g., "Sept 31".
66898         Include <stdlib.h>, "setenv.h", "xalloc.h".
66899         (ISDIGIT_LOCALE): Remove; unused.
66900         Note that the TZ and time functions used here are not reentrant.
66901         (mktime_ok, get_tz): New functions.
66902         (TZBUFSIZE): New constant.
66903         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
66904         This requires that we sometimes generate our own TZ="XXX..." setting.
66905
66906 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
66907
66908         * doc/getdate.texi: New file, from coreutils with modifications for
66909         the new TZ parsing.
66910
66911 2004-10-27  Derek R. Price  <derek@ximbiot.com>
66912
66913         * lib/mktime.c (not_equal_tm): Remove redundant check.
66914
66915 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66916
66917         * modules/regex (lib_SOURCES): Add regex.c.
66918         Reported by James Youngman in
66919         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
66920
66921 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66922
66923         * lib/getdate.y: Use Bison 1.875 features, and some minor
66924         code cleanups.  This change does not affect semantics.
66925         Don't include <stdlib.h>; no longer needed.
66926         Don't include unlocked-io.h; only the "#if TEST" code uses
66927         stdio, and performance isn't crucial there.
66928         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
66929         Bison 1.875 features as described below.
66930         All uses of "PC." replaced by "pc->".
66931         (YYSTYPE): Add a forward declaration.
66932         (yylex, yyerror): Use full prototypes in forward decls.
66933         Use "%pure-parser" rather than obsolescent "%pure_parser".
66934         Use %parse-param and %lex-param instead of obsolescent
66935         YYPARSE_PARAM and YYLEX_PARAM.
66936         (meridian_table, month_and_day_table, time_units_table,
66937         relative_time_table, time_zone_table, military_table,
66938         lookup_zone, lookup_word, get_date):
66939         Use NULL instead of 0 where appropriate.
66940         (to_hour): Avoid abort (), to avoid a dependency on
66941         stdlib.h.
66942         (yyerror, yylex): Now accepts parser_control * arg.
66943         (main) [TEST]: Use '\0' rather than 0 for char.
66944
66945 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
66946
66947         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
66948
66949 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
66950
66951         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
66952         It's now the caller's responsibility to handle the case where
66953         !HAVE_GETPAGESIZE && !defined getpagesize.
66954
66955         * lib/mktime.c (leapyear): Arg is long int, not int.
66956
66957 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
66958
66959         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
66960
66961 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
66962
66963         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
66964         missing.  Problem reported by James Youngman.
66965
66966 2004-10-16  Simon Josefsson  <jas@extundo.com>
66967
66968         * gnulib-tool: Fix comments.  Fix parse problem.
66969         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
66970
66971 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
66972
66973         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
66974         implementation of getopt_long.  Problem reported by Alexander Taler in:
66975         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
66976
66977 2004-10-15  Bruno Haible  <bruno@clisp.org>
66978
66979         * gnulib-tool: Untabify. Initialize supplied_libname.
66980         (func_usage): More homogenous output.
66981         (func_modules_transitive_closure, func_modules_to_filelist,
66982         func_emit_lib_Makefile_am): New functions.
66983         (func_import): New function, extracted from big case statement. Use
66984         func_get_license, func_modules_transitive_closure,
66985         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
66986         opt_lgpl. Don't use test -a, as it's not portable.
66987         (func_create_testdir): Use func_modules_transitive_closure,
66988         func_modules_to_filelist, func_emit_lib_Makefile_am.
66989
66990 2004-10-15  Bruno Haible  <bruno@clisp.org>
66991
66992         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
66993
66994 2004-10-15  Bruno Haible  <bruno@clisp.org>
66995
66996         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
66997         the portions belonging to each module.
66998         Suggested by Derek Robert Price <derek@ximbiot.com>.
66999
67000 2004-10-12  Simon Josefsson  <jas@extundo.com>
67001
67002         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
67003         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
67004         to real functions.
67005
67006 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67007
67008         * modules/vsnprintf: New file.
67009
67010 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67011
67012         * m4/vsnprintf.m4: New file.
67013
67014 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67015
67016         * lib/vsnprintf.h: New file.
67017         * lib/vsnprintf.c: New file.
67018
67019 2004-10-11  Bruno Haible  <bruno@clisp.org>
67020
67021         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
67022         vsnprintf.
67023
67024 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
67025
67026         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
67027
67028 2004-10-07  Bruno Haible  <bruno@clisp.org>
67029
67030         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
67031         fits into the provided buffer.
67032
67033 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67034
67035         * lib/diacrit.c, diacrit.h: Add GPL notice.
67036
67037         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
67038         notice.
67039         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
67040         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
67041         This avoids a potential constant-folding bug.
67042
67043 2004-10-05  Bruno Haible  <bruno@clisp.org>
67044
67045         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
67046         for the declaration of strsep.
67047
67048 2004-10-05  Bruno Haible  <bruno@clisp.org>
67049
67050         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
67051
67052 2004-10-04  Simon Josefsson  <jas@extundo.com>
67053
67054         * modules/memmem: New file.
67055         * tests/test-memmem.c: New file.
67056         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
67057
67058 2004-10-04  Simon Josefsson  <jas@extundo.com>
67059
67060         * m4/memmem.m4: New file.
67061
67062 2004-10-04  Simon Josefsson  <jas@extundo.com>
67063
67064         * lib/memmem.h: New file.
67065         * lib/memmem.c: New file, taken from glibc.
67066
67067 2004-10-04  Simon Josefsson  <jas@extundo.com>
67068
67069         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
67070         '#ifdef USE_UNLOCKED_IO'.
67071
67072 2004-10-04  Simon Josefsson  <jas@extundo.com>
67073
67074         * config/srclist.txt: Add memmem from glibc.
67075
67076 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67077
67078         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
67079
67080         * modules/argmatch, modules/argp, modules/closeout, modules/error,
67081         modules/exclude, modules/getdate, modules/getline,
67082         modules/getndelim2, modules/getpass, modules/getpass-gnu,
67083         modules/getusershell, modules/linebuffer, modules/md5,
67084         modules/mountlist, modules/posixtm, modules/readtokens,
67085         modules/readutmp, modules/regex, modules/sha1,
67086         modules/version-etc, modules/yesno:
67087         Remove dependency on unlocked-io.
67088
67089 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67090
67091         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
67092
67093         * m4/unlocked-io.m4: Add copyright notice.
67094         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
67095
67096 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67097
67098         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
67099         * lib/xmalloc.c (xmemdup): Likewise.
67100         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
67101         XFREE): Remove these long-obsolescent macros.
67102         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
67103         * lib/xstrdup.c: Remove.
67104
67105         * lib/regex.c (re_comp): Cast gettext return value to char *,
67106         Problem reported by Martin Neitzel via Mark D. Baushke.
67107
67108 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67109
67110         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
67111         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
67112         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
67113         regex.c, sha1.c, version-etc.c, yesno.c:
67114         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
67115         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
67116         the includer's responsibility.
67117
67118         Sync from coreutils.
67119
67120         * lib/modechange.c (mode_compile): Don't decrement a pointer that
67121         points to the start of a string, as the C Standard says the
67122         resulting behavior is undefined.
67123
67124         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
67125         simple -> simple_backups, numbered_existing ->
67126         numbered_existing_backups, numbered -> numbered_backups
67127         to avoid shadowing problems.  All uses changed.
67128         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
67129         * lib/backupfile.c (check_extension, numbered_backup):
67130         Rename locals to avoid shadowing 'basename'.
67131         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
67132         once.
67133
67134         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
67135         * lib/.cvsignore: Add getopt.h.
67136
67137 2004-10-04  Bruno Haible  <bruno@clisp.org>
67138
67139         * modules/README: New file.
67140         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
67141         not a module.
67142
67143 2004-10-02  Jim Meyering  <jim@meyering.net>
67144
67145         * lib/dirfd.h, getpagesize.h: Add copyright notice.
67146
67147 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67148
67149         * modules/strsep: New file.
67150
67151 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67152
67153         * m4/strsep.m4: New file.
67154
67155 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67156
67157         * lib/strsep.h: New file.
67158         * lib/strsep.c: New file.
67159
67160 2004-10-01  Simon Josefsson  <jas@extundo.com>
67161
67162         * lib/snprintf.c (snprintf): Handle size==0.
67163
67164 2004-10-01  Simon Josefsson  <jas@extundo.com>
67165             Bruno Haible  <bruno@clisp.org>
67166
67167         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
67168         (snprintf): Declare 'args'.
67169
67170 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
67171
67172         * lib/snprintf.c: Remove comments as to why each header is needed.
67173
67174 2004-10-01  Bruno Haible  <bruno@clisp.org>
67175
67176         * MODULES.html.sh: Add strsep.
67177
67178 2004-09-30  Simon Josefsson  <jas@extundo.com>
67179
67180         * modules/snprintf: New file.
67181
67182 2004-09-30  Simon Josefsson  <jas@extundo.com>
67183
67184         * m4/snprintf.m4: New file.
67185
67186 2004-09-30  Simon Josefsson  <jas@extundo.com>
67187
67188         * lib/snprintf.h, lib/snprintf.c: New files.
67189
67190 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67191
67192         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
67193         (hol_entry_help): Never translate an empty string.
67194         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
67195         * lib/argp.h (OPTION_NO_TRANS): New option.
67196
67197 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
67198
67199         * modules/argp (Maintainer): Replace Simon Josefsson
67200         by Sergey Poznyakoff.
67201
67202 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
67203
67204         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
67205         changes merged back into glibc.
67206
67207 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
67208
67209         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
67210
67211 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
67212
67213         * lib/xvasprintf.c: Include xalloc.h.
67214         (xvasprintf): Use xalloc_die, not xmalloc_die.
67215
67216 2004-09-29  Bruno Haible  <bruno@clisp.org>
67217
67218         * modules/alloca-opt: New file, derived from modules/alloca.
67219         * modules/allocsa: Depend on alloca-opt instead of alloca.
67220         * modules/setenv: Likewise.
67221         * modules/vasnprintf: Likewise.
67222         * MODULES.html.sh: Add alloca-opt.
67223
67224 2004-09-28  Simon Josefsson  <jas@extundo.com>
67225
67226         * gnulib-tool: New parameter --lgpl, to asseert that modules are
67227         LGPL, and to replace license template from GPL to LGPL.
67228
67229 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
67230
67231         * modules/dummy: Change license to LGPL.
67232
67233 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
67234
67235         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
67236
67237 2004-09-24  Simon Josefsson  <jas@extundo.com>
67238
67239         * modules/minmax (License): Change from GPL to LGPL.
67240
67241 2004-09-23  Simon Josefsson  <jas@extundo.com>
67242
67243         * gnulib-tool (--import): Typo.
67244
67245 2004-09-23  Simon Josefsson  <jas@extundo.com>
67246
67247         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
67248
67249 2004-09-22  Bruno Haible  <bruno@clisp.org>
67250
67251         * modules/*: Add 'License' field.
67252         * gnulib-tool: Accept --extract-license option.
67253         (func_get_license): New function.
67254
67255 2004-09-21  Bruno Haible  <bruno@clisp.org>
67256
67257         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
67258         Reported by Simon Josefsson.
67259
67260 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67261
67262         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
67263         gl_AC_TYPE_LONG_LONG.
67264
67265 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67266
67267         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
67268
67269 2004-09-18  Simon Josefsson  <jas@extundo.com>
67270         and  Paul Eggert  <eggert@cs.ucla.edu>
67271
67272         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
67273         calls with autoreconf.  Define GL_LIB.
67274
67275 2004-09-14  Karl Berry  <karl@gnu.org>
67276
67277         * config/srclist.txt: unsync setenv.c, sigh.
67278
67279 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
67280
67281         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
67282         Problem reported by Bruno Haible in:
67283         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
67284
67285 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
67286
67287         * config/srclist.txt: Comment out argp-pvh.c.
67288
67289 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
67290
67291         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
67292         in case some system header has #define'd it.  Problem reported by
67293         Soeren D. Schulze in
67294         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
67295
67296 2004-09-09  Karl Berry  <karl@gnu.org>
67297
67298         * regex.[ch]: delete from the root.  These were supposed to be
67299                 synced with emacs cvs, but this has not happened for about
67300                 a year, and anyway nothing else uses emacs regex.[ch].
67301                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
67302                 lib/regex[.ch] is untouched.
67303
67304 2004-09-09  Bruno Haible  <bruno@clisp.org>
67305
67306         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
67307
67308 2004-09-09  Bruno Haible  <bruno@clisp.org>
67309
67310         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
67311         modifications.
67312         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
67313
67314 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
67315
67316         * modules/xvasprintf: New file.
67317         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
67318
67319 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
67320
67321         * lib/xvasprintf.h: New file.
67322         * lib/xvasprintf.c: New file.
67323         * lib/xasprintf.c: New file.
67324
67325 2004-09-08  Bruno Haible  <bruno@clisp.org>
67326
67327         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
67328
67329 2004-09-08  Bruno Haible  <bruno@clisp.org>
67330
67331         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
67332         length is > INT_MAX.
67333         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
67334         more.
67335
67336 2004-09-08  Bruno Haible  <bruno@clisp.org>
67337
67338         * lib/stdint_.h: New file, taken from GNU clisp.
67339
67340 2004-09-08  Bruno Haible  <bruno@clisp.org>
67341             Oskar Liljeblad  <oskar@osk.mine.nu>
67342
67343         * modules/stdint: New file.
67344         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
67345
67346 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67347
67348         Import from coreutils.
67349         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
67350         strings on unbounded length.  alloca's performance benefits aren't
67351         that important here.
67352         (V_STRDUP): Remove.
67353         (parse_with_separator): New function, with most of the internals
67354         of the old parse_user_spec.  Allow user to omit both user and group,
67355         for compatibility with FreeBSD.
67356         Clone only the user name, not the entire spec.
67357         Do not set *uid, *gid unless entirely successful.
67358         Avoid memory leak in some failing cases.
67359         Fix regression for USER.GROUP reported by Dmitry V. Levin in
67360         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
67361         (parse_user_spec): Rewrite to use parse_with_separator.
67362
67363 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67364
67365         * modules/userspec: Don't depend on alloca.
67366
67367 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67368
67369         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
67370
67371 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
67372
67373         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
67374         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
67375         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
67376
67377 2004-08-16  Simon Josefsson  <jas@extundo.com>
67378
67379         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
67380         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
67381         Add --dry-run for --import.
67382         Let user provided command line parameters override configure.ac
67383         settings.
67384
67385 2004-08-12  Simon Josefsson  <jas@extundo.com>
67386
67387         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
67388         as discussed with Paul Eggert in threads rooted at
67389         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
67390         and
67391         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
67392         Before, the test was empty, and relied on ELIDE_CODE in source
67393         code.)
67394         (gl_PREREQ_GETOPT): New macro.
67395         (gl_GETOPT): Use them.
67396
67397 2004-08-12  Simon Josefsson  <jas@extundo.com>
67398
67399         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
67400         * lib/getopt_.h: Renamed from getopt.h.
67401
67402 2004-08-12  Simon Josefsson  <jas@extundo.com>
67403
67404         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
67405         Change default library name from libfoo to libgnu.
67406         Now, if you have a configure.ac that says:
67407                 gl_SOURCE_BASE(gl)
67408                 gl_M4_BASE(gl/m4)
67409                 gl_MODULES(error getopt etcetera)
67410                 gl_INIT
67411         you can import all you need by running:
67412                 ../gnulib/gnulib-tool --import
67413
67414         * modules/getopt (Files): Rename getopt.h to getopt_.h.
67415         (Makefile.am): Rewrite, use logic from argz.
67416         (Include): Use <getopt.h> instead of "getopt.h".
67417
67418 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
67419
67420         * modules/argp (Files): Add m4/unlocked-io.m4.
67421         (Depends-on): Add extensions.
67422
67423 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
67424
67425         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
67426         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
67427         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
67428         Check for program_invocation_name, program_invocation_short_name,
67429         flockfile, funlockfile, features.h, _getopt_long_only_r.
67430
67431 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
67432
67433         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
67434         its complicated substitute.
67435         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
67436         and program_invocation_name.
67437         (__argp_basename) [!_LIBC]: Remove; the only use was
67438         replaced by its body.
67439         (__argp_short_program_name): Change condition from
67440         !defined __argp_short_program_name to
67441         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
67442         to match argp-namefrob.h.
67443         (__argp_failure): Don't assume strerror_r returns char *.
67444         * lib/argp-parse.c (N_): Define unconditionally.
67445         (argp_default_options): Fill out initializers with 0 to avoid
67446         gcc warnings.
67447
67448 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
67449
67450         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
67451         getopt1.c.
67452
67453 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
67454
67455         Merge from coreutils.
67456
67457         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
67458
67459         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
67460         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
67461
67462 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
67463
67464         Merge from coreutils.
67465
67466         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
67467         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
67468         for Reliant Unix 5.43.
67469
67470         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
67471         (union fooround): Use uintmax_t, not long int.
67472         The rest is a merge from libc:
67473         [defined _LIBC]: Include <shlib-compat.h>.
67474         (_obstack) [defined _LIBC]: Remove after 2.3.4.
67475
67476         * lib/settime.c (settime): Recode to avoid warning with
67477         Sun Forte C 6U2.
67478
67479         * lib/strverscmp.c: Convert to UTF-8.
67480
67481 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
67482
67483         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
67484         m4/uintmax_t.m4.
67485
67486 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
67487
67488         * modules/xalloc-die: New file.
67489         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
67490
67491         * modules/md5 (Files): Add m4/uint32_t.m4.
67492         * modules/sha1: Renamed from modules/sha.
67493         (Files):
67494         Rename lib/sha.h to lib/sha1.h.
67495         Rename lib/sha.c to lib/sha1.c.
67496         Rename m4/sha.m4 to m4/sha1.m4.
67497         (lib_SOURCES): Likewise.
67498         (configure.ac): Rename gl_SHA to gl_SHA1.
67499         (Include): sha.h -> sha1.h.
67500
67501 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
67502
67503         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
67504         * m4/sha1.m4: Renamed from sha.m4.
67505         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
67506
67507 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
67508
67509         * lib/obstack.h (obstack_empty_p):
67510         Don't assume that chunk->contents is suitably aligned.
67511         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
67512         Likewise. Problem reported by Benno in
67513         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
67514
67515         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
67516         readable.  This could be improved further but it'd take some work.
67517
67518 2004-08-08  Simon Josefsson  <jas@extundo.com>
67519
67520         * modules/xgethostname (Depends-on): Remove exit and error (not
67521         used).
67522
67523         * modules/getpass-gnu: Add getpass.h.
67524         (Depends-on): Add stdbool.
67525         * modules/getpass: Add getpass.h.
67526
67527 2004-08-08  Simon Josefsson  <jas@extundo.com>
67528
67529         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
67530         Check getpass declaration.
67531
67532 2004-08-08  Simon Josefsson  <jas@extundo.com>
67533
67534         * lib/xgethostname.c: Don't include error.h (not used).
67535
67536         * lib/getpass.h: Add.
67537         * lib/getpass.c: Include getpass.h first.
67538
67539 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
67540
67541         * lib/xalloc-die.c: New file.
67542         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
67543         All uses removed.
67544         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
67545         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
67546         xalloc-die.c.
67547         (_, N_, xalloc_die): Move to xalloc-die.c.
67548         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
67549         so that we needn't mess with xalloc_msg_memory_exhausted.
67550
67551         * lib/sha1.h: Renamed from sha.h.
67552         (SHA1_H): Renamed from _SHA_H.
67553         (sha1_ctx): Renamed from sha_ctx.
67554         (sha1_init_ctx): Renamed from sha_init_ctx.
67555         (sha1_process_block): Renamed from sha_process_block.
67556         (sha1_process_bytes): Renamed from sha_process_bytes.
67557         (sha1_finish_ctx): Renamed from sha_finish_ctx.
67558         (sha1_read_ctx): Renamed from sha_read_ctx.
67559         (sha1_stream): Renamed from sha_stream.
67560         (sha1_buffer): Renamed from sha_buffer.
67561         * lib/sha1.c: Likewise; renamed from sha.c.
67562         Do not include <sys/types.h>.
67563         Include <stddef.h> rather than <stdlib.h>.
67564
67565 2004-08-08  Bruno Haible  <bruno@clisp.org>
67566
67567         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
67568         FILESYSTEM_PREFIX_LEN.
67569         * lib/progreloc.c: Likewise.
67570         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
67571
67572 2004-08-06  Simon Josefsson  <jas@extundo.com>
67573
67574         * modules/progname (Depends-on): Don't depend on stdbool.
67575
67576 2004-08-06  Simon Josefsson  <jas@extundo.com>
67577
67578         * modules/getsubopt: New file.
67579         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67580         getsubopt.
67581
67582 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67583
67584         More merge from coreutils.
67585
67586         * m4/utimens.m4, m4/utimecmp.m4: New files.
67587         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
67588         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
67589         prereq.m4, sha.m4: Import changes from coreutils.
67590
67591 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67592
67593         More merge from coreutils.
67594         * modules/raise, modules/readtokens0, modules/utimens:
67595         * modules/utimecmp, module/xnanosleep: New files.
67596         * modules/strftime: Add lib/strftime.h.
67597         Change include from <time.h> to "strftime.h".
67598         * modules/yesno: Add lib/yesno.h.
67599         * modules/backupfile: Remove lib/addext.c.
67600         * modules/euidaccess: Add stat-macros.h.
67601         * modules/canonicalize, modules/euidaccess,
67602         modules/filemode, modules/lchown, modules/makepath,
67603         modules/rmdir, modules/stat: Likewise.
67604
67605 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67606
67607         Merge from tar.
67608         * lib/argp-help.c (make_hol, hol_append): Don't assume that
67609         SIZE_MAX is a valid preprocessor constant.
67610         (__argp_basename): Change from "#ifndef _LIBC"
67611         to "#ifndef __argp_short_program_name", so that
67612         we don't compile these functions for tar.
67613
67614         More merges from coreutils.
67615         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
67616         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
67617         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
67618         * lib/addext.c: Remove; no longer needed.
67619         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
67620         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
67621         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
67622         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
67623         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
67624         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
67625         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
67626         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
67627         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
67628         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
67629         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
67630         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
67631         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
67632         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
67633         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
67634         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
67635         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
67636         Import changes from coreutils.
67637
67638 2004-08-05  Simon Josefsson  <jas@extundo.com>
67639
67640         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
67641
67642 2004-08-05  Simon Josefsson  <jas@extundo.com>
67643
67644         * m4/getsubopt.m4: New file.
67645
67646 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
67647
67648         Merge from coreutils.
67649
67650         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
67651         * m4/getcwd-path-max.m4: New files.
67652
67653         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
67654         FILESYSTEM_PREFIX_LEN ->
67655         FILE_SYSTEM_PREFIX_LEN.
67656         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
67657         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
67658         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
67659         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
67660
67661         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
67662         prerequisite modules now handle the DOS stuff.
67663         Don't check for unistd.h.
67664
67665 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
67666
67667         Merge from coreutils.
67668
67669         * lib/.gdb-history: Remove; this doesn't belong here.
67670
67671         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
67672         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
67673         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
67674         * lib/getcwd.c: New files.
67675
67676         * lib/dirname.h: Include <stdbool.h>.
67677         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
67678         for consistency with POSIX terminology.  All uses changed.
67679         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
67680         (strip_trailing_slashes): Use bool for booleans.
67681         * lib/stripslash.c (strip_trailing_slashes): Likewise.
67682
67683         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
67684         sometimes returns a positive errno value even when it succeeds.
67685         (print_errno_message) [!LIBC]: Fall back on strerror if
67686         __strerror_r fails.
67687
67688         * lib/path-concat.c (mempcpy): Don't define if a system header defines
67689         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
67690         (longest_relative_suffix): New function.
67691         (path_concat): Use it.  Assume first argument is not NULL.
67692         Port to DOS.  Omit redundant separators.
67693         Report an error instead of returning NULL.
67694         Use mempcpy instead of memcpy.
67695         (xpath_concat): Remove: not declared or used.
67696
67697         * lib/same.h: Include <stdbool.h>
67698         (same_name): Return bool, not int.
67699         * lib/same.c (same_name): Likewise.
67700         (errno): Don't declare; we assume C89 or better now.
67701
67702         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
67703         if not already defined.
67704
67705         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
67706         * lib/dup-safer.c (errno): Likewise.
67707
67708 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
67709
67710         Merge from coreutils.
67711         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
67712         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
67713         * modules/path-concat: Don't depend on strdup.
67714
67715 2004-08-03  Simon Josefsson  <jas@extundo.com>
67716
67717         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
67718         * lib/progname.h: Don't include stdbool.h.
67719
67720 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
67721
67722         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
67723         * MODULES.html.sh (func_all_modules): Remove fatal.
67724
67725 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
67726
67727         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
67728
67729 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
67730
67731         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
67732         working.
67733
67734 2004-08-02  Simon Josefsson  <jas@extundo.com>
67735
67736         * lib/getsubopt.h: New file, with comments from Bruno Haible.
67737         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
67738         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
67739
67740 2004-08-01  Simon Josefsson  <jas@extundo.com>
67741
67742         * lib/xgetdomainname.c: Include stdlib.h, for free().
67743
67744 2004-07-19  Bruno Haible  <bruno@clisp.org>
67745
67746         * MODULES.html.sh (func_all_modules): Add dummy.
67747
67748 2004-07-16  Simon Josefsson  <jas@extundo.com>
67749
67750         * modules/dummy: New file.
67751
67752 2004-07-16  Simon Josefsson  <jas@extundo.com>
67753
67754         * lib/dummy.c: New file.
67755
67756 2004-07-16  Bruno Haible  <bruno@clisp.org>
67757
67758         * lib/backupfile.h: Add extern "C" for C++.
67759         * lib/closeout.h: Likewise.
67760         * lib/copy-file.h: Likewise.
67761         * lib/findprog.h: Likewise.
67762         * lib/full-write.h: Likewise.
67763         * lib/pathname.h: Likewise.
67764         * lib/progname.h: Likewise.
67765         * lib/stpcpy.h: Likewise.
67766         * lib/stpncpy.h: Likewise.
67767         * lib/strcase.h: Likewise.
67768         * lib/strstr.h: Likewise.
67769         * lib/xalloc.h: Likewise.
67770
67771         * lib/mbswidth.h: Add extern "C" for C++.
67772         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
67773
67774 2004-07-13  Robert Millan  <robertmh@gnu.org>
67775
67776         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
67777
67778 2004-07-09  Simon Josefsson  <jas@extundo.com>
67779
67780         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
67781         failed without this.)
67782
67783 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
67784
67785         * modules/chown (Files): Add lib/fchown-stub.c, since
67786         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
67787
67788 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
67789
67790         * lib/fchown-stub.c: New file.
67791
67792 2004-06-24  Jim Meyering  <jim@meyering.net>
67793
67794         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
67795
67796 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67797
67798         * modules/argz: Omit "#include".
67799
67800         * MODULES.html.sh (func_all_modules): Add calloc, to match
67801         2004-06-01 addition of calloc module.
67802
67803 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67804
67805         * m4/argz.m4: New file, which is autoupdated from libtool.
67806
67807 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67808
67809         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
67810         libtool.
67811
67812 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67813
67814         * config/srclist-update: Don't insist on "USA." before the
67815         close-comment, as libtool omits the period and puts the */ on a
67816         separate line.
67817         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
67818         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
67819
67820 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
67821
67822         * modules/argz: New file.
67823         * MODULES.html.sh (func_all_modules): Add argz.
67824
67825 2004-06-12  Jim Meyering  <jim@meyering.net>
67826         and  Paul Eggert  <eggert@cs.ucla.edu>
67827
67828         * modules/hash (Files): Add lib/xalloc.h.
67829         * modules/pipe (Depends-on): Add wait-process.
67830         * modules/stat (Depends-on): Add xalloc.
67831         * modules/userspec (Files): Add lib/userspec.h.
67832         * modules/xstrto
67833
67834         Upgrade from gettext-0.13.
67835         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
67836         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
67837         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
67838
67839 2004-06-10  Jim Meyering  <jim@meyering.net>
67840
67841         * lib/calloc.c: New file.
67842
67843 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
67844
67845         * lib/getdate.y (yylex): Allow space between sign and number.
67846         Problem reported by Dan Jacobson.
67847
67848 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
67849
67850         Merge from coreutils CVS.
67851
67852         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
67853         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
67854         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
67855         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
67856         xstrtol.m4: Fix copyright date and/or serial number.
67857
67858         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
67859         See if we need an fchown replacement.
67860         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
67861         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
67862         and use the replacement function if we detect either defect.
67863
67864         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
67865         gl_UTIMECMP.
67866
67867 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
67868         and  Jim Meyering  <jim@meyering.net>
67869
67870         Merge from coreutils CVS.
67871
67872         * lib/stat-macros.h: New file, with contents from file-type.h
67873         and coreutils' system.h.
67874         * lib/file-type.c: Include "stat-macros.h".
67875         * lib/file-type.h (file_type): Move all macro definitions to new file,
67876         stat-macros.h.
67877
67878         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
67879         Wrap old code with this conditional.
67880         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
67881         function that does not dereference symlinks.
67882         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
67883
67884         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
67885         dependency problems.
67886         (xreadlink): Accept new arg SIZE, for efficiency.
67887         All decls and uses changed.
67888         * lib/xreadlink.h: Include <stddef.h>, for size_t.
67889
67890         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
67891         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
67892
67893         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
67894         sysexits.h.
67895
67896 2004-06-01  Jim Meyering  <jim@meyering.net>
67897
67898         * m4/calloc.m4: New file.
67899
67900 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
67901
67902         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
67903         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
67904         Also, fix a typo in a diagnostic.
67905
67906 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
67907
67908         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
67909         or AC_FUNC_REALLOC.
67910
67911 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
67912
67913         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
67914         macros to be defined.
67915         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
67916         the allocator returns NULL because the requested size is zero.
67917
67918 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67919
67920         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
67921         var.  Add comment explaining why libc still defines it.  This
67922         merges the following patch from glibc:
67923         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
67924
67925 2004-05-20  Andreas Schwab  <schwab@suse.de>
67926
67927         * m4/free.m4: Replace free if it not known to work, not the other
67928         way round.
67929
67930 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
67931
67932         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
67933         present in glibc since revision 1.1 of this file.
67934         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
67935         obstack_alignment_mask, obstack_alloc, obstack_base,
67936         obstack_blank, obstack_blank_fast, obstack_chunk_size,
67937         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
67938         obstack_grow0, obstack_init, obstack_int_grow,
67939         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
67940         obstack_next_free, obstack_object_size, obstack_ptr_grow,
67941         obstack_ptr_grow_fast, obstack_room): Remove declarations of
67942         nonexistent functions.
67943
67944 2004-05-18  Karl Berry  <karl@gnu.org>
67945
67946         * config/srclist.txt: break link for vasnprintf.c.
67947
67948 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
67949
67950         Port obstack to the AS/400, where pointers are 16 bytes wide and
67951         you cannot cast an integer to a valid pointer.  This patch is
67952         currently waiting to be integrated into glibc; see
67953         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
67954
67955         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
67956         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
67957         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
67958         (struct obstack): temp member is now a union of a pointer and
67959         an integer, instead of an integer.  All integer uses changed.
67960         This does not affect the physical layout of struct obstack,
67961         except on hosts (like the AS/400) where the size or alignment of
67962         void * is greater than that of ptrdiff_t.
67963         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
67964         __STDC__)]: Store temporary in pointer member of union, not
67965         integer member.
67966         * lib/obstack.c: Include <stddef.h>, for offsetof.
67967         (struct fooalign): Remove; it doesn't need a name.
67968         (union fooround): Change double to long double, and add void *.
67969         (DEFAULT_ALIGNMENT): Use offsetof to compute.
67970         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
67971         not a macro.  Hence the values are always int; so remove all
67972         casts-to-int in uses.
67973
67974 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
67975
67976         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
67977         we can get this patch merged into glibc.
67978
67979 2004-05-17  Derek R. Price  <derek@ximbiot.com>
67980             Paul Eggert  <eggert@cs.ucla.edu>
67981
67982         * m4/argp: Depend on alloca.
67983
67984 2004-05-17  Derek R. Price  <derek@ximbiot.com>
67985             Paul Eggert  <eggert@cs.ucla.edu>
67986
67987         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
67988         freecoding.
67989
67990 2004-05-17  Bruno Haible  <bruno@clisp.org>
67991
67992         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
67993         precision that consists of a '.' followed by an empty digit string.
67994         Patch by Tor Lillqvist <tml@iki.fi>.
67995
67996 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
67997
67998         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
67999         for backward compatibility with older code.  We need our own
68000         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
68001         it under some other name, and our alloca.h will define it.
68002
68003 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
68004             Derek Price  <derek@ximbiot.com>
68005
68006         * lib/alloca.c: Include <alloca.h>, to get our interface.
68007         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
68008         include <alloca.h> first.  Use C89 prototype for alloca; this
68009         requires including <stddef.h> for size_t.  Use extern "C" if C++.
68010         Use #elif for simplicity, since we can assume C89 now.
68011         Don't try to source the system alloca.h since it will not be found
68012         and to prevent recursively including its replacement.
68013         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
68014         * lib/regex.c: Likewise.
68015
68016 2004-05-16  Derek Price  <derek@ximbiot.com>
68017             Paul Eggert  <eggert@cs.ucla.edu>
68018
68019         getline cleanup.  This changes the getndelim2 API: both order of
68020         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
68021         no delimiter).
68022
68023         * lib/getline.c: Don't include stddef.h or stdio.h, since our
68024         interface does that.
68025         (getline): Always use getdelim, so that we don't have two
68026         copies of this code.
68027         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
68028         if available.
68029         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
68030         (GETNDELIM2_MAXIMUM): New macro.
68031         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
68032         instead of the old practice of delim2==0.  All callers changed.
68033         Return -1 on overflow, instead of returning junk.
68034         Do not set *linesize unless allocation succeeds.
68035         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
68036         that we include sys/types.h.
68037         * lib/getnline.h: Likewise.
68038         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
68039         (getndelim2): Reorder arguments.
68040         * lib/getnline.c (getnline, getndelim):
68041         Don't discard the NMAX argument.
68042         (getnline): Invoke getndelim, to avoid code duplication.
68043         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
68044         of (size_t) -1 by callers of the getnline family.
68045
68046 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68047
68048         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
68049         Check for gettimeofday.
68050         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
68051         Check for settimeofday, stime.
68052
68053 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68054
68055         * lib/nanosleep.c (suspended): Change its type from int to
68056         sig_atomic_t volatile.
68057         (first_call): Make it private to rpl_nanosleep, and have it
68058         be zero initially as that's a bit faster.
68059         (my_usleep): Round up fractional times instead of truncating them,
68060         as this is the usual meaning for 'sleep'.
68061
68062         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
68063         doesn't work.
68064         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
68065         (ENOSYS): Define if not defined.
68066         (settime): Fall back on stime if it exists and settimeofday fails.
68067         But don't bother with fallbacks if a method fails with errno == EPERM.
68068
68069 2004-05-11  Jim Meyering  <jim@meyering.net>
68070
68071         Prior to this change, the save_cwd caller required read access to the
68072         current directory on most systems (ones with the fchdir function).
68073
68074         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
68075         fails, try write-only, and finally, resort to using xgetcwd.
68076
68077 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
68078
68079         * lib/obstack.c, obstack.h: Import changes from libc.
68080
68081 2004-04-28  Bruno Haible  <bruno@clisp.org>
68082
68083         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
68084         also implicitly appends .exe to executables.
68085         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
68086         accepts Windows pathnames.
68087         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
68088         Treat Cygwin like Windows, since it now accepts Windows pathnames.
68089         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
68090         Treat Cygwin like Windows, since it now accepts Windows pathnames.
68091         Reported by Derek Robert Price <derek@ximbiot.com>.
68092
68093 2004-04-21  Karl Berry  <karl@gnu.org>
68094
68095         * config/srclist.txt (localcharset.c): break sync.
68096
68097 2004-04-20  Paul Eggert  <eggert@twinsun.com>
68098
68099         * m4/host-os.m4: Add a copyright notice.
68100
68101 2004-04-20  Jim Meyering  <jim@meyering.net>
68102
68103         Change UTILS_ to gl_ in AC_DEFINE'd names.
68104         Change utils_- and jm_-prefixed variables, too.
68105         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
68106         UTILS_FUNC_MKDIR_TRAILING_SLASH.
68107         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
68108
68109         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
68110         Don't emit trailing blanks.
68111         Also rename jm_-prefixed variables to have gl_ prefix.
68112
68113         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
68114         Also rename jm_-prefixed variables to have gl_ prefix.
68115
68116         * m4/jm-macros.m4: Reflect the renamings.
68117         * m4/prereq.m4: Likewise.
68118
68119 2004-04-20  Jim Meyering  <jim@meyering.net>
68120
68121         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
68122         memory.
68123
68124 2004-04-20  Jim Meyering  <jim@meyering.net>
68125             Bruno Haible  <bruno@clisp.org>
68126
68127         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
68128         memory when realloc fails.
68129
68130 2004-04-19  Jim Meyering  <jim@meyering.net>
68131
68132         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
68133         now that readutmp.c may call `free (0)'.
68134
68135 2004-04-19  Bruno Haible  <bruno@clisp.org>
68136
68137         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
68138         * m4/inttypes_h.m4: Likewise.
68139         * m4/stdint_h.m4: Likewise.
68140         * m4/intmax_t.m4: Likewise.
68141         * m4/uintmax_t.m4: Likewise.
68142
68143 2004-04-18  Jim Meyering  <jim@meyering.net>
68144
68145         * m4/prereq.m4: Don't forbid jm_ prefix.
68146
68147         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
68148         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
68149         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
68150         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
68151         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
68152         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
68153         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
68154         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
68155         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
68156         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
68157         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
68158         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
68159         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
68160         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
68161         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
68162         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
68163         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
68164         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
68165         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
68166
68167 2004-04-18  Jim Meyering  <jim@meyering.net>
68168
68169         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
68170         failure, don't leak memory and do call END_UTMP_ENT.
68171
68172 2004-04-16  Jim Meyering  <jim@meyering.net>
68173
68174         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
68175         coreutils' stat program.
68176         (gl_PREREQ): Don't require jm_PREREQ_STAT.
68177
68178 2004-04-11  Paul Eggert  <eggert@twinsun.com>
68179
68180         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
68181         C89.
68182         (CHAR_BIT): Remove, since we assume C89.
68183         Include <stdint.h> if available, as per current Autoconf CVS advice.
68184
68185 2004-03-31  Jim Meyering  <jim@meyering.net>
68186
68187         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
68188         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
68189         * m4/xalloc.m4: Likewise.
68190
68191 2004-03-30  Paul Eggert  <eggert@twinsun.com>
68192
68193         Merge from coreutils.
68194
68195         * m4/inttostr.m4: New file.
68196         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
68197         Require AM_STDBOOL_H and gl_TIMESPEC instead.
68198         Require gl_CLOCK_TIME.
68199         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
68200
68201 2004-03-30  Paul Eggert  <eggert@twinsun.com>
68202
68203         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
68204         not bool, to be more consistent with Unix conventions.
68205         Suggested by Bruno Haible.
68206
68207         Merge from coreutils.
68208
68209         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
68210         * lib/umaxtostr.c: New files.
68211
68212         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
68213         the usual <time.h> dance.
68214         (get_date): Change signature to support fractional time stamps.
68215         All callers changed.
68216         * lib/getdate.y: Include "getdate.h" first, as we can now
68217         assume C89 and don't need to worry about 'const'.
68218         Similarly, include "unlocked-io.h" near start, not in middle.
68219         Include <limits.h>.
68220         (textint.value): Use long int rather than int.
68221         (textint.digits): Use size_t rather than int.
68222         (BILLION, LOG10_BILLION): New constants.
68223         (parser_control): New member rel_ns.  Members day_ordinal,
68224         time_zone, month, day, hour, minutes, rel_year, rel_month,
68225         rel_day, rel_hour, rel_minutes, rel_seconds
68226         are now long int, not int.  Member seconds is now struct timespec,
68227         not int.  New member timespec_seen.  Members dates_seen, days_seen,
68228         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
68229         not int.
68230         (%union.intval): Now long int, not int.
68231         New member timespec.
68232         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
68233         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
68234         (spec): Now is a timespec or an item list.
68235         (timespec, items): New nonterminals.
68236         (time, rel, relunit, number, get_date):
68237         Add support for fractional seconds.
68238         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
68239         (gmtime, localtime, mktime): Remove decls; not needed with C89.
68240         (to_hour): First arg is now long int, not int.
68241         (to_year): Returns long int, not int.
68242         Don't treat year -70 like 70.
68243         (tm_diff): Returns long int, not int.
68244         (lookup_word): Use bool instead of int when appropriate.
68245         (yylex): Use size_t for count, not int.
68246         Detect overflow when parsing large integer constants.
68247         Add support for fractions.
68248         (get_date): Make pointers 'const' if possible.
68249         Use more-portable code to detect integer overflow.
68250         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
68251         Don't use ctime; it's not reliable if the year has >4 digits.
68252
68253         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
68254         This is for compatibility with BSD.
68255
68256         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
68257         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
68258         From coreutils' system.h.
68259
68260         * lib/userspec.c: Don't include "posixver.h".
68261         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
68262         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
68263         compatible extension.  Simplify code by removing a boolean int
68264         that was always nonzero if a string was nonnull.
68265
68266 2004-03-30  Jim Meyering  <jim@meyering.net>
68267
68268         Merge from coreutils.
68269
68270         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
68271         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
68272         on some systems one must include <grp.h> before it.
68273         Reported by Christian Krackowizer.
68274
68275 2004-03-30  Jim Meyering  <jim@meyering.net>
68276
68277         Merge from coreutils.
68278
68279         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
68280
68281         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
68282         an empty input stream.
68283
68284         * lib/readtokens.c: Include <stdbool.h>.
68285         (readtoken): Use `size_t' rather than int/long.
68286         All callers adjusted.
68287         Use `bool' rather than `int' where appropriate.
68288         Use memset rather than an explicit loop.
68289         Use x2nrealloc rather than xrealloc.
68290         Allow the use of `\0' as a delimiter.
68291         (readtokens): Likewise.
68292         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
68293
68294 2004-03-30  Jim Meyering  <jim@meyering.net>
68295
68296         * m4/realloc.m4: Remove file, since now it does no more than
68297         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
68298         the `configure.ac' section of module/realloc.
68299         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
68300
68301 2004-03-30  Bruno Haible  <bruno@clisp.org>
68302
68303         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
68304         nonnull.
68305
68306 2004-03-29  Paul Eggert  <eggert@twinsun.com>
68307
68308         Merge changes to getloadavg.c from coreutils and Emacs.
68309
68310         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
68311         Define to an expression, not to the empty string.
68312         Include cloexec.h and xalloc.h.
68313         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
68314         Use set_cloexec_flag rather than rolling our own.
68315         * lib/cloexec.c, lib/cloexec.h: New files.
68316
68317 2004-03-29  Paul Eggert  <eggert@twinsun.com>
68318
68319         * m4/cloexec.m4: New file.
68320
68321 2004-03-18  Paul Eggert  <eggert@twinsun.com>
68322
68323         * lib/getopt.h: Sync with libc CVS.
68324
68325 2004-03-18  Paul Eggert  <eggert@twinsun.com>
68326             Bruno Haible  <bruno@clisp.org>
68327
68328         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
68329         mbswidth.
68330
68331 2004-03-18  Paul Eggert  <eggert@twinsun.com>
68332             Bruno Haible  <bruno@clisp.org>
68333
68334         * lib/mbswidth.h: Include <wchar.h> only if
68335         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
68336         <wchar.h>.
68337         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
68338
68339 2004-03-09  Paul Eggert  <eggert@twinsun.com>
68340
68341         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
68342         Sync with libc CVS.
68343         * lib/getopt_int.h: New file, also synced from libc.
68344
68345 2004-03-09  Paul Eggert  <eggert@twinsun.com>
68346
68347         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
68348         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
68349         Bring back getopt.c, getopt.h, getopt1.c.
68350
68351 2004-03-07  Paul Eggert  <eggert@twinsun.com>
68352
68353         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
68354         All uses changed.  Check for sa_sigaction member; this fixes
68355         a bug first reported by Jason Andrade in
68356         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
68357
68358 2004-03-07  Paul Eggert  <eggert@twinsun.com>
68359
68360         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
68361         '#if' expressions.  Unlike the code it replaces, it does not
68362         depend on (defined _SC_PAGESIZE).  However, it does depend on
68363         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
68364         first reported by Jason Andrade in
68365         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
68366
68367 2004-02-25  Simon Josefsson  <jas@extundo.com>
68368
68369         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
68370
68371 2004-02-25  Simon Josefsson  <jas@extundo.com>
68372
68373         * lib/strdup.h: New file.
68374         * lib/strdup.c: Include it.
68375         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
68376         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
68377
68378 2004-02-23  Karl Berry  <karl@gnu.org>
68379
68380         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
68381         (from fencepost.gnu.org:/gd/gnuorg).
68382
68383 2004-02-23  Karl Berry  <karl@gnu.org>
68384
68385         * config/srclistvars.sh (GNUORG) [karl]: redefine.
68386         * config/srclist.txt: add maintain/standards documents.
68387
68388 2004-02-18  Bruno Haible  <bruno@clisp.org>
68389
68390         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
68391         Reported by Derek Robert Price <derek@ximbiot.com>.
68392
68393 2004-02-16  Karl Berry  <karl@gnu.org>
68394
68395         * config/mkinstalldirs, install-sh: update from automake.
68396
68397 2004-02-06  Karl Berry  <karl@gnu.org>
68398
68399         * m4/po.m4: update from gettext 0.14.1.
68400
68401 2004-02-06  Karl Berry  <karl@gnu.org>
68402
68403         * lib/config.charset: update from gettext 0.14.1.
68404
68405 2004-02-05  Paul Eggert  <eggert@twinsun.com>
68406
68407         Add comments and code, prompted by suggestions from Bruno Haible
68408         for sh-quote.
68409         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
68410         describing the enum quoting_style values.
68411         * lib/quotearg.c (quotearg_alloc): New function.
68412         (quotearg_buffer_restyled): Treat lone { and } as special.
68413         Treat = as special.  Work around bug with older shells
68414         that "see" a '\' that is really the 2nd byte of a multibyte char.
68415         Quote empty string with shell_quoting_style.
68416
68417 2004-02-03  Bruno Haible  <bruno@clisp.org>
68418
68419         * m4/pipe.m4: New file, from GNU gettext.
68420
68421 2004-02-03  Bruno Haible  <bruno@clisp.org>
68422
68423         * lib/pipe.h: New file, from GNU gettext.
68424         * lib/pipe.c: New file, from GNU gettext.
68425
68426 2004-01-27  Bruno Haible  <bruno@clisp.org>
68427
68428         * m4/execute.m4: New file, from GNU gettext.
68429
68430 2004-01-27  Bruno Haible  <bruno@clisp.org>
68431
68432         * lib/execute.h: New file, from GNU gettext.
68433         * lib/execute.c: New file, from GNU gettext.
68434         * lib/w32spawn.h: New file, from GNU gettext.
68435
68436 2004-01-24  Paul Eggert  <eggert@twinsun.com>
68437
68438         Merge from diffutils.
68439
68440         * lib/file-type.c (file_type): Add typed memory objects.
68441         * lib/file-type.h (S_TYPEISTMO): New macro.
68442
68443         * lib/c-stack.h (c_stack_action): Remove argv argument.
68444         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
68445         (die): Don't calculate message unless segv_action returns.
68446         (get_stack_location, min_address_from_argv, max_address_from_argv,
68447         volatile stack_base, volatile_stack_size): Remove.
68448         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
68449         that every segmentation violation is a stack overflow.  (Ouch!)
68450         See Debian bug 136249 (still outstanding) for more info about why
68451         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
68452
68453 2004-01-24  Paul Eggert  <eggert@twinsun.com>
68454
68455         Exit-status fix from coreutils.
68456
68457         Use exit_failure consistently in place of EXIT_FAILURE,
68458         so that program exit statuses are consistent on failure.
68459
68460         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
68461         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
68462         * lib/argmatch.h: Comment fix to match the above.
68463         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
68464         Now a macro referring to exit_failure, instead of a separate
68465         variable.  Include "exitfail.h" to get it.
68466         * lib/xstrtol.h: Include "exitfail.h".
68467         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
68468
68469         * lib/long-options.c (parse_long_options): Use prototype
68470         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
68471         for clarity.
68472
68473 2004-01-21  Jim Meyering  <jim@meyering.net>
68474
68475         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
68476         so as not to conflict with a different-sized __mktime_internal
68477         function in GNU libc.
68478         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
68479         Problem building statically-linked `ls' reported by Michael Brunnbauer.
68480
68481 2004-01-20  Karl Berry  <karl@gnu.org>
68482
68483         * config/config.guess: update from config.
68484
68485         * config/srclistvars.sh: GNUWWWLICENSES for karl.
68486
68487 2004-01-20  Bruno Haible  <bruno@clisp.org>
68488
68489         Safer stack allocation.
68490         * lib/setenv.c: Include allocsa.h.
68491         (alloca): Remove fallback definition.
68492         (freea): Remove macro.
68493         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
68494         instead of freea.
68495
68496 2004-01-20  Bruno Haible  <bruno@clisp.org>
68497
68498         * m4/eealloc.m4: New file, from GNU gettext.
68499
68500 2004-01-20  Bruno Haible  <bruno@clisp.org>
68501
68502         * m4/allocsa.m4: New file, from GNU gettext.
68503
68504 2004-01-20  Bruno Haible  <bruno@clisp.org>
68505
68506         * lib/xallocsa.h: New file, from GNU gettext.
68507         * lib/xallocsa.c: New file, from GNU gettext.
68508
68509 2004-01-20  Bruno Haible  <bruno@clisp.org>
68510
68511         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
68512
68513 2004-01-20  Bruno Haible  <bruno@clisp.org>
68514
68515         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
68516         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
68517         specially.
68518
68519 2004-01-20  Bruno Haible  <bruno@clisp.org>
68520
68521         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
68522         patch.
68523
68524 2004-01-20  Bruno Haible  <bruno@clisp.org>
68525
68526         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
68527
68528 2004-01-20  Bruno Haible  <bruno@clisp.org>
68529
68530         * lib/eealloc.h: New file.
68531
68532 2004-01-20  Bruno Haible  <bruno@clisp.org>
68533
68534         * lib/binary-io.h: Avoid warnings on Cygwin.
68535
68536 2004-01-20  Bruno Haible  <bruno@clisp.org>
68537
68538         * lib/allocsa.h: New file, from GNU gettext.
68539         * lib/allocsa.c: New file, from GNU gettext.
68540
68541 2004-01-18  Karl Berry  <karl@gnu.org>
68542
68543         * doc/gpl.texi, doc/lgpl.texi: new files.
68544
68545 2004-01-18  Karl Berry  <karl@gnu.org>
68546
68547         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
68548         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
68549
68550 2004-01-15  Paul Eggert  <eggert@twinsun.com>
68551
68552         Merge from coreutils.
68553
68554         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
68555         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
68556         (gl_DEFAULT_POSIX2_VERSION): Move
68557         the documentation from 'configure' into 'config.hin',
68558         so that 'configure --help' isn't burdened by it and
68559         we don't have to worry about its formatting there.
68560         Reword the documentation so that it's more succinct
68561         and can be run together into a single paragraph.
68562         * m4/same.m4 (gl_SAME): Check for pathconf.
68563
68564 2004-01-15  Paul Eggert  <eggert@twinsun.com>
68565
68566         Merge from coreutils.
68567
68568         * lib/posixver.c: Include posixver.h.
68569
68570         * lib/same.c: Include <stdbool.h>, <limits.h>.
68571         (_POSIX_NAME_MAX): Define if not defined.
68572         (MIN): New macro.
68573         (same_name): If file names are silently truncated, report
68574         that the file names are the same if they are the same after
68575         the silent truncation.
68576
68577         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
68578         conversion function.
68579         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
68580         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
68581         longer needed.
68582
68583 2004-01-15  Jim Meyering  <jim@meyering.net>
68584
68585         Merge from coreutils.
68586
68587         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
68588         if no library is required.
68589         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
68590         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
68591         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
68592         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
68593         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
68594         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
68595         value, $ac_cv_search_crypt, if it's "none required".
68596         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
68597         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
68598         not gl_FUNC_GETLOADAVG.
68599         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
68600         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
68601
68602 2004-01-15  Jim Meyering  <jim@meyering.net>
68603
68604         Merge from coreutils.
68605
68606         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
68607         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
68608         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
68609
68610         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
68611         optional configure-time default.
68612
68613         * lib/version-etc.c (version_etc_copyright): Update copyright date.
68614
68615         * lib/xreadlink.c (xreadlink): Correct outdated comment.
68616
68617 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
68618
68619         Merge from coreutils.
68620
68621         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
68622         value, $ac_cv_search_nanosleep, if it's "none required".
68623
68624 2004-01-14  Paul Eggert  <eggert@twinsun.com>
68625
68626         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
68627         with like-named macro in fnmatch.c.
68628         (EXT): Use an internal constant instead.
68629
68630         Merge fnmatch patches from glibc.
68631         * lib/fnmatch.c (mbsinit): Remove define.
68632         Add libc_hidden_ver (__fnmatch, fnmatch).
68633         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
68634         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
68635
68636 2004-01-14  Karl Berry  <karl@gnu.org>
68637
68638         * config/install-sh: update from automake.
68639
68640 2004-01-13  Karl Berry  <karl@gnu.org>
68641
68642         * config/install-sh: update from automake.
68643
68644 2004-01-09  Karl Berry  <karl@gnu.org>
68645
68646         * config/install-sh: update from automake.
68647
68648 2004-01-05  Karl Berry  <karl@gnu.org>
68649
68650         * config/config.{sub,guess}: update from config.
68651
68652 2003-12-31  Karl Berry  <karl@gnu.org>
68653
68654         * config/depcomp: update from automake.
68655
68656 2003-12-14  Karl Berry  <karl@gnu.org>
68657
68658         * lib/config.charset: update from gettext-runtime.
68659
68660 2003-12-03  Paul Eggert  <eggert@twinsun.com>
68661
68662         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
68663         Bug reported by Alfred M. Szmidt.
68664
68665 2003-12-03  Bruno Haible  <bruno@clisp.org>
68666
68667         * m4/gettext.m4: Upgrade from gettext-0.13.
68668         * m4/po.m4: Upgrade from gettext-0.13.
68669         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
68670         * m4/intmax.m4: New file, from gettext-0.13.
68671         * m4/printf-posix.m4: New file, from gettext-0.13.
68672
68673 2003-11-29  Karl Berry  <karl@gnu.org>
68674
68675         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
68676
68677 2003-11-25  Paul Eggert  <eggert@twinsun.com>
68678             Bruno Haible  <bruno@clisp.org>
68679
68680         * lib/printf-parse.h: Don't include sys/types.h.
68681         (ARG_NONE): New macro.
68682         (char_directive): Change type of *arg_index fields to size_t.
68683         * lib/printf-parse.c: Don't include sys/types.h.
68684         (SSIZE_MAX): Remove macro.
68685         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
68686         Remove unnecessary overflow check.
68687         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
68688         fields.
68689
68690 2003-11-25  Bruno Haible  <bruno@clisp.org>
68691
68692         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
68693
68694 2003-11-25  Bruno Haible  <bruno@clisp.org>
68695
68696         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
68697         gt_TYPE_SSIZE_T.
68698
68699 2003-11-24  Paul Eggert  <eggert@twinsun.com>
68700
68701         * modules/alloca: Remove dependency on xalloc.
68702
68703 2003-11-24  Paul Eggert  <eggert@twinsun.com>
68704
68705         * lib/alloca.c: Remove dependency on xalloc module.
68706         (xalloc_die): Remove.
68707         (memory_full) [!defined emacs]: New macro.
68708         [!defined emacs]: Don't include xalloc.h.
68709         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
68710         address arithmetic overflows.  Change datatypes a bit to avoid
68711         unnecessary casts.
68712
68713 2003-11-22  Jim Meyering  <jim@meyering.net>
68714
68715         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
68716         s/size/size_t/.
68717
68718 2003-11-21  Karl Berry  <karl@gnu.org>
68719
68720         * config/config.{sub,guess}: update from config.
68721
68722 2003-11-18  Karl Berry  <karl@gnu.org>
68723
68724         * config/config.{sub,guess}: update from config.
68725
68726         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
68727
68728 2003-11-17  Paul Eggert  <eggert@twinsun.com>
68729
68730         * README: Mention that S+T cannot overflow if S is the size of
68731         an existing object and T is sufficiently small.
68732
68733 2003-11-17  Jim Meyering  <jim@meyering.net>
68734
68735         On systems without utime and without a utimes function capable of
68736         dealing with a NULL struct utimbuf* argument, this utime replacement
68737         could -- in unusual circumstances -- leak a file descriptor.
68738         * lib/utime.c: Include <unistd.h> and <errno.h>.
68739         (utime_null): Be sure to close `fd' and to preserve errno.
68740         Reported by Geoff Collyer via Arnold Robbins.
68741
68742 2003-11-17  Bruno Haible  <bruno@clisp.org>
68743
68744         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
68745         (Depends-on): Add xsize.
68746
68747 2003-11-17  Bruno Haible  <bruno@clisp.org>
68748
68749         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
68750
68751 2003-11-17  Bruno Haible  <bruno@clisp.org>
68752
68753         * lib/vasnprintf.c (alloca): Remove fallback definition.
68754         (freea): Remove definition.
68755         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
68756         Reported by Paul Eggert.
68757
68758 2003-11-16  Paul Eggert  <eggert@twinsun.com>
68759             Bruno Haible  <bruno@clisp.org>
68760
68761         Protect against address arithmetic overflow.
68762         * lib/printf-args.h: Include stddef.h.
68763         (arguments): Change type of field 'count' to size_t.
68764         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
68765         'unsigned int' where appropriate.
68766         * lib/printf-parse.h: Include sys/types.h.
68767         (char_directive): Change type of *arg_index fields to ssize_t.
68768         (char_directives): Change type of fields 'count', max_*_length to
68769         size_t.
68770         * lib/printf-parse.c: Include sys/types.h and xsize.h.
68771         (SSIZE_MAX): Define fallback value.
68772         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
68773         instead of 'int' where appropriate. Check a_allocated, d_allocated
68774         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
68775         * lib/vasnprintf.c: Include xsize.h.
68776         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
68777         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
68778         overflow. Avoid wraparound when converting a width or precision from
68779         decimal to binary.
68780
68781 2003-11-16  Bruno Haible  <bruno@clisp.org>
68782
68783         Update from GNU gettext.
68784         * lib/printf-parse.c: Generalize to it can be compiled for wide
68785         strings.
68786         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
68787         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
68788         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
68789         SNPRINTF): New macros.
68790         Don't include <alloca.h> if the file is used inside libintl.
68791         (local_wcslen): New function, for Solaris 2.5.1.
68792         (VASNPRINTF): Use it instead of wcslen.
68793
68794 2003-11-16  Bruno Haible  <bruno@clisp.org>
68795
68796         * lib/xsize.h (xmax): New function.
68797         (xsum, xsum3, xsum4): Declare as "pure" functions.
68798
68799 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68800
68801         * modules/xalloc (Files): Undo latest change, since xalloc.h
68802         no longer needs SIZE_MAX or PTRDIFF_MAX.
68803
68804 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68805
68806         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
68807         gl_PTRDIFF_MAX.
68808
68809 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68810
68811         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
68812         "return", to pacify some unknown compiler.  Problem reported
68813         by Joerg Schilling.
68814
68815 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68816
68817         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
68818         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
68819         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
68820         heuristic is just as accurate as far as we know, and it removes a
68821         dependency on size_max.m4 and ptrdiff_max.m4.
68822
68823 2003-11-11  Bruno Haible  <bruno@clisp.org>
68824
68825         * modules/xsize (Files): Add m4/size_max.m4.
68826         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
68827
68828 2003-11-11  Bruno Haible  <bruno@clisp.org>
68829
68830         * m4/size_max.m4: New file.
68831         * m4/ptrdiff_max.m4: New file.
68832         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
68833         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
68834         (gl_XALLOC): Invoke it.
68835
68836 2003-11-11  Bruno Haible  <bruno@clisp.org>
68837
68838         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
68839         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
68840         defined.
68841
68842 2003-11-10  Paul Eggert  <eggert@twinsun.com>
68843
68844         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
68845         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
68846         rejected some allocations of exactly SIZE_MAX - 2 bytes.
68847         From Bruno Haible.
68848         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
68849         not (size_t) -1, since it's defined here.
68850
68851 2003-11-09  Karl Berry  <karl@gnu.org>
68852
68853         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
68854
68855 2003-11-06  Paul Eggert  <eggert@twinsun.com>
68856
68857         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
68858         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
68859         Reject sizes of exactly SIZE_MAX bytes.
68860         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
68861         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
68862
68863 2003-11-05  Bruno Haible  <bruno@clisp.org>
68864
68865         * lib/xsize.h: Include limits.h, to avoid a possible collision with
68866         SIZE_MAX defined in <limits.h> on Solaris.
68867
68868 2003-11-04  Jim Meyering  <jim@meyering.net>
68869
68870         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
68871         variable names, rather than @VAR@.
68872         * modules/poll: Likewise.
68873
68874 2003-11-04  Bruno Haible  <bruno@clisp.org>
68875
68876         * modules/xsize: New file.
68877         * modules/linebreak: Depend on xsize.
68878         * MODULES.html.sh (func_all_modules): Add xsize.
68879
68880 2003-11-04  Bruno Haible  <bruno@clisp.org>
68881
68882         * m4/xsize.m4: New file.
68883
68884 2003-11-04  Bruno Haible  <bruno@clisp.org>
68885
68886         * lib/xsize.h: New file.
68887         * lib/linebreak.c: Include xsize.h.
68888         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
68889         argument for overflow.
68890         Suggested by Paul Eggert.
68891
68892 2003-11-03  Karl Berry  <karl@gnu.org>
68893
68894         * config/config.{guess,sub}: update from config.
68895
68896 2003-11-03  Jim Meyering  <jim@meyering.net>
68897
68898         * modules/userspec (lib_SOURCES): Add userspec.h.
68899         (Include): Add "userspec.h".
68900         Improve description.
68901
68902 2003-11-03  Jim Meyering  <jim@meyering.net>
68903
68904         * lib/userspec.c: Include "userspec.h".
68905         * lib/userspec.h: New file.
68906
68907 2003-11-03  Bruno Haible  <bruno@clisp.org>
68908
68909         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
68910
68911 2003-11-03  Bruno Haible  <bruno@clisp.org>
68912
68913         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
68914         available, to avoid (extremely rare) race condition.
68915         Suggested by Paul Eggert.
68916
68917 2003-11-02  Karl Berry  <karl@gnu.org>
68918
68919         * config/srclist.txt (vasprintf.c): sync broken, sigh.
68920
68921 2003-10-31  Paul Eggert  <eggert@twinsun.com>
68922
68923         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
68924         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
68925         (read_filesystem_list): Set and use me_type_malloced.
68926         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
68927         whatever the type happens to be), for brevity and consistency.
68928         Check for size calculation overflow on Alphas running OSF/1.
68929
68930 2003-10-31  Jim Meyering  <jim@meyering.net>
68931
68932         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
68933
68934         * lib/linebuffer.c: Include <string.h> for declaration of memset.
68935
68936 2003-10-30  Paul Eggert  <eggert@twinsun.com>
68937             Bruno Haible  <bruno@clisp.org>
68938
68939         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
68940         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
68941
68942 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
68943
68944         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
68945         netbsd*-gnu*.  Suggested by Robert Millan.
68946
68947 2003-10-29  Paul Eggert  <eggert@twinsun.com>
68948
68949         * modules/group-member: Depend on stdbool.
68950
68951 2003-10-29  Paul Eggert  <eggert@twinsun.com>
68952
68953         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
68954
68955 2003-10-29  Paul Eggert  <eggert@twinsun.com>
68956
68957         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
68958         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
68959         after the 'gnu' in these cases.  This fixes some bugs in the
68960         previous change, and is based on suggestions by Robert Millan.
68961
68962 2003-10-29  Paul Eggert  <eggert@twinsun.com>
68963
68964         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
68965         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
68966         no longer needed.
68967         * lib/quotearg.c (quotearg_n_options): Use it.
68968         * lib/group-member.c: Include <stdbool.h>.
68969         (free_group_info): Arg is now const *; don't free arg.
68970         (get_group_info): Now returns bool and accepts struct group_info *,
68971         rather than returning a malloc'ed struct group_info *.
68972         All uses changed.  Check for overflow in internal size calculation.
68973
68974         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
68975         rather than xmalloc/xrealloc.
68976         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
68977         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
68978         conformance bug: the old code used a pointer after freeing the
68979         storage that it addressed.
68980         * lib/hash.c (hash_initialize): Simplify the code by using
68981         xalloc_oversized rather than doing it by hand.
68982         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
68983         the buffer preserved.  Use free and xmalloc instead.
68984         * lib/quotearg.c (quotearg_n_options): Likewise.
68985         Use a simpler test for size overflow.  Don't use xalloc_oversized
68986         because unsigned int might be wider than size_t (!); this suggests
68987         that we should switch from unsigned int to size_t for slot numbers.
68988
68989 2003-10-28  Paul Eggert  <eggert@twinsun.com>
68990
68991         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
68992         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
68993         NetBSD kernels.  Requested by Richard Stallman.
68994
68995 2003-10-27  Paul Eggert  <eggert@twinsun.com>
68996
68997         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
68998         to allocate the returned structure.  Do not allocate a subarray,
68999         as x2nrealloc will do that.
69000         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
69001         instead of xnrealloc.
69002         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
69003
69004 2003-10-27  Bruno Haible  <bruno@clisp.org>
69005
69006         * lib/stdbool_.h: Better support for BeOS.
69007
69008 2003-10-26  Paul Eggert  <eggert@twinsun.com>
69009
69010         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
69011         now uses inline.
69012
69013 2003-10-26  Paul Eggert  <eggert@twinsun.com>
69014
69015         * lib/xalloc.h (xalloc_oversized): New static inline function, for
69016         callers that want to do their own size-overflow checking.  Include
69017         <stdbool.h>, since xalloc_oversized returns bool.
69018         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
69019         to use xalloc_oversized.
69020
69021         Add two functions x2realloc, x2nrealloc, for programs that grow
69022         arrays dynamically by doubling their sizes.
69023         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
69024         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
69025         New functions.
69026
69027         Port to C99 semantics for 'inline' of external functions.
69028         Bug reported by Bruno Haible.
69029         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
69030         with the old contents of xnmalloc.
69031         (xnmalloc, xmalloc): Use it.
69032         (xnrealloc_inline): New static inline function,
69033         with the old contents of xnrealloc.
69034         (xnrealloc, xrealloc): Use it.
69035
69036         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
69037         that.
69038
69039 2003-10-26  Karl Berry  <karl@gnu.org>
69040
69041         * config/srclist.txt (COPYING.DOC): no longer available from
69042         /gd/gnuorg; don't know where the ultimate source is.
69043
69044 2003-10-25  Paul Eggert  <eggert@twinsun.com>
69045
69046         Fix several address-calculation bugs in the hash modules,
69047         plus some minor code cleanup.
69048
69049         * lib/hash.h: Include <stdbool.h>, for bool.
69050         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
69051         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
69052         hash_get_n_entries, hash_get_max_bucket_length,
69053         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
69054         hash_rehash): Use size_t rather than unsigned.
69055         * lib/hash.c (struct hash_table, hash_get_n_buckets,
69056         hash_get_n_buckets_used, hash_get_n_entries,
69057         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
69058         hash_get_entries, hash_do_for_each, hash_string, is_prime,
69059         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
69060         Likewise.
69061         (SIZE_MAX): Define if not defined.
69062         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
69063         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
69064         hash_print):
69065         Use const * when possible.
69066         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
69067         (check_tuning): Fix bug: if tuning parameters were very close to
69068         0 or 1, rounding errors could have caused subscript violations.
69069         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
69070         (hash_initialize): Add 'fail:' label
69071         to free table and return NULL, and use it to simplify code.
69072         Use calloc rather than clearing the storage ourself.
69073         (hash_initialize, hash_rehash): Check for arithmetic overflow in
69074         buffer size calculations.
69075         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
69076         Include <stddef.h>, for size_t.
69077         * lib/hash-pjw.c (hash_pjw): Likewise.
69078         Switch to method described by Bruno Haible.
69079         Include <limits.h>, for CHAR_BIT.
69080         (SIZE_BITS): New macro.
69081
69082 2003-10-23  Paul Eggert  <eggert@twinsun.com>
69083
69084         * m4/getline.m4 (AM_FUNC_GETLINE):
69085         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
69086         hosts.  Problem reported by Derek Robert Price in
69087         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
69088         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
69089         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
69090
69091 2003-10-21  Paul Eggert  <eggert@twinsun.com>
69092
69093         * lib/getndelim2.c (getndelim2): When size calculation overflows,
69094         ceiling the allocation at NMAX bytes rather than silently
69095         discarding input bytes before NMAX is reached.  This makes
69096         a difference only if NMAX exceeds SIZE_MAX / 2.
69097
69098         * lib/obstack.c: Merge from glibc.
69099         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
69100         Add libc_hidden_def (_obstack_newchunk).
69101         (_obstack_free) [! defined _LIBC]: Remove.
69102         [defined _LIBC]: Make a strong alias from obstack_free, rather than
69103         a clone of the function body.
69104         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
69105         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
69106
69107         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
69108         glibc.
69109         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
69110         arg to memcpy.
69111
69112         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
69113         (obstack_ptr_grow_fast, obstack_int_grow_fast):
69114         Don't use lvalue casts, as GCC plans to remove support for them
69115         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
69116         was also present in the non-GCC version, indicating that this
69117         code had always been buggy and had never been widely used.
69118         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
69119         Use the fast variant of each macro, rather than copying the
69120         definiens of the fast variant; that way, we'll be more likely to
69121         catch future bugs in the fast variants.
69122
69123 2003-10-20  Bruno Haible  <bruno@clisp.org>
69124
69125         * modules/wait-process: New file.
69126         * MODULES.html.sh (func_all_modules): Add wait-process.
69127
69128 2003-10-20  Bruno Haible  <bruno@clisp.org>
69129
69130         * m4/wait-process.m4: New file.
69131
69132 2003-10-20  Bruno Haible  <bruno@clisp.org>
69133
69134         * lib/wait-process.h: New file, from GNU gettext.
69135         * lib/wait-process.c: New file, from GNU gettext.
69136
69137 2003-10-19  Jim Meyering  <jim@meyering.net>
69138
69139         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
69140         HPUX 10.20.
69141
69142 2003-10-18  Karl Berry  <karl@gnu.org>
69143
69144         * config/config.guess: update from config.
69145
69146 2003-10-16  Paul Eggert  <eggert@twinsun.com>
69147
69148         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
69149         (getgroups): First arg is int, not size_t.
69150         Don't let 'free' mangle errno.
69151
69152 2003-10-16  Paul Eggert  <eggert@twinsun.com>
69153
69154         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
69155
69156 2003-10-16  Karl Berry  <karl@gnu.org>
69157
69158         * config/config.{guess,sub}: update from config.
69159
69160 2003-10-16  Jim Meyering  <jim@meyering.net>
69161
69162         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
69163         memcpy.
69164
69165 2003-10-15  Paul Eggert  <eggert@twinsun.com>
69166
69167         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
69168         (SIZE_MAX): Remove.
69169         (new_exclude, add_exclude_file): Initial size no longer needs to
69170         be a power of 2.
69171         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
69172         our own address arithmetic overflow checking.
69173
69174         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
69175         (fnmatch): Do not alloca more than 2000 wide characters;
69176         instead, use malloc for large buffers.
69177         Check for address arithmetic overflow, and return -1
69178         with errno set to ENOMEM in that case.
69179         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
69180         (NEW_PATTERN): Do not alloca more than 8000 bytes;
69181         instead, return -1.  Check for address arithmetic overflow.
69182
69183 2003-10-14  Paul Eggert  <eggert@twinsun.com>
69184
69185         Handle invalid suffixes and overflow independently, so that
69186         callers can treat them independently as needed.  Fix some bugs in
69187         suffix handling, e.g., "100k@" was not diagnosed as an invalid
69188         suffix for a human-readable blocksize.  The major caller-visible
69189         change is the addition of a new
69190         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
69191         that both overflow and suffix chars were found.
69192
69193         * lib/human.c (humblock): Don't check separately for invalid suffix
69194         char; that is xstrtoumax's job (now that its bug is fixed).
69195         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
69196         INTMAX_MAX]: New macros.
69197         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
69198         TYPE_MAXIMUM): New macros.
69199         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
69200         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
69201         if overflow occurs, as it's what __strtol does and it's more useful
69202         in practice.
69203         (__xstrtol): If __strtol reports some error other than ERANGE,
69204         reflect it to the caller as LONGINT_INVALID.  If it reports
69205         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
69206         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
69207         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
69208         value.
69209         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
69210         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
69211         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
69212         [defined UINTMAX_MAX]: New macros.
69213
69214 2003-10-14  Bruno Haible  <bruno@clisp.org>
69215
69216         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
69217
69218 2003-10-14  Bruno Haible  <bruno@clisp.org>
69219
69220         * m4/sig_atomic_t: New file, from GNU gettext.
69221         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
69222
69223 2003-10-14  Bruno Haible  <bruno@clisp.org>
69224
69225         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
69226         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
69227         Also use volatile where needed.
69228
69229 2003-10-12  Paul Eggert  <eggert@twinsun.com>
69230
69231         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
69232         Change maintainer from Bruno Haible to 'all'.
69233
69234 2003-10-12  Paul Eggert  <eggert@twinsun.com>
69235
69236         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
69237
69238 2003-10-12  Paul Eggert  <eggert@twinsun.com>
69239
69240         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
69241         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
69242         and define in terms of the other primitives.
69243         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
69244         (SIZE_MAX): Define if not already defined.
69245         (array_size_overflow): New function.
69246         (xalloc_die): Abort instead of exiting if 'error' returns.
69247         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
69248         (xmalloc, xrealloc): Use them.
69249         (xcalloc): Check for address arithmetic overflow.
69250         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
69251         a bit faster than strcpy.
69252
69253 2003-10-10  Simon Josefsson  <jas@extundo.com>
69254
69255         * modules/argp (Depends-on): Add restrict and strcase.
69256
69257 2003-10-10  Simon Josefsson  <jas@extundo.com>
69258
69259         * m4/argp.m4: Add AC_C_INLINE.
69260
69261 2003-10-08  Paul Eggert  <eggert@twinsun.com>
69262
69263         Merge getpass from libc, plus a few fixes.
69264
69265         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
69266         Include <stdbool.h>.
69267         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
69268         __fsetlocking to empty.
69269         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
69270         do include <bits/libc-lock.h>.
69271         Do not include <fcntl.h>; not needed.
69272         [_LIBC]: Include <wchar.h>.
69273         (NOTCANCEL_MODE): New macro.
69274         (flockfile, funlockfile) [_LIBC]: New macros.
69275         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
69276         [!_LIBC]: New macros.
69277         (call_fclose): New function.
69278         (getpass): Use it.  Save tty stream separately; this simplifies the
69279         code and makes it more reliable if stdin happens to equal stdout.
69280         Invoke __fsetlocking on tty.
69281         Handle thread cancellation if needed.
69282         Namespace cleanup (use __tcgetattr, __getline).
69283         Use bool for Booleans.
69284         [USE_IN_LIBIO]: Handle wide streams.
69285         [!_LIBC]: Unconditionally do the fseek, since we don't know what
69286         stream might go where.
69287
69288         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
69289         doesn't have to include <stdio.h> before us.
69290         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
69291         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
69292         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
69293         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
69294         if not declared, so that we can use getpass.c code from libc without
69295         rewriting it.
69296         (flockfile, ftrylockfile, funlockfile): New macros.
69297
69298 2003-10-08  Paul Eggert  <eggert@twinsun.com>
69299
69300         * modules/getpass: Depend on stdbool.
69301
69302 2003-10-08  Paul Eggert  <eggert@twinsun.com>
69303
69304         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
69305
69306 2003-10-07  Karl Berry  <karl@gnu.org>
69307
69308         * config/config.{guess,sub}: update from config.
69309
69310 2003-10-06  Jim Meyering  <jim@meyering.net>
69311             Bruno Haible  <bruno@clisp.org>
69312
69313         This lets translators provide better translations for the
69314         "Written by ..." part of --version output.
69315         * lib/version-etc.h: Include stdarg.h.
69316         (version_etc_copyright): Declare as readonly.
69317         (version_etc): Make this function variadic with a NULL-terminated list
69318         of author name strings.
69319         (version_etc_va): New declaration.
69320         * lib/version-etc.c: Include stdarg.h, stdlib.h.
69321         (version_etc_copyright): Declare as readonly.
69322         (version_etc_va): New function. Provide a different translatable string
69323         for each possible number of authors < 10. Abbreviate when there are 10
69324         authors or more.
69325         (version_etc): Make this function variadic. Call version_etc_va.
69326         Suggestion from Gary V. Vaughan.
69327
69328         * lib/long-options.h (parse_long_options): Change prototype: the
69329         authors string is moved to the end and becomes variadic.
69330         * lib/long-options.c: Include stdarg.h.
69331         (parse_long_options): Make this function variadic, too.
69332         Call version_etc_va, not version_etc.
69333
69334 2003-10-06  Bruno Haible  <bruno@clisp.org>
69335
69336         * modules/version-etc-2: Remove file.
69337         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
69338
69339 2003-10-06  Bruno Haible  <bruno@clisp.org>
69340
69341         * modules/fatal-signal: New file.
69342         * MODULES.html.sh (func_all_modules): Add fatal-signal.
69343
69344 2003-10-06  Bruno Haible  <bruno@clisp.org>
69345
69346         * m4/fatal-signal.m4: New file.
69347         * m4/signalblocking.m4: New file, from GNU gettext.
69348
69349 2003-10-06  Bruno Haible  <bruno@clisp.org>
69350
69351         * lib/version-etc-2.h: Remove file.
69352         * lib/version-etc-2.c: Remove file.
69353
69354 2003-10-06  Bruno Haible  <bruno@clisp.org>
69355
69356         * lib/fatal-signal.h: New file, from GNU gettext.
69357         * lib/fatal-signal.c: New file, from GNU gettext.
69358
69359 2003-10-05  Paul Eggert  <eggert@twinsun.com>
69360
69361         * README: Rework advice for preventing empty .o files.
69362         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
69363         not <sys/types.h>.
69364
69365 2003-10-04  Karl Berry  <karl@gnu.org>
69366
69367         * lib/argp*: update from libc.
69368
69369 2003-10-04  Karl Berry  <karl@gnu.org>
69370
69371         * config/config.{guess,sub}: update from config.
69372
69373 2003-10-02  Bruno Haible  <bruno@clisp.org>
69374
69375         * modules/lchown (Include): Add lchown.h.
69376         * modules/time_r (Include): Use "..." syntax.
69377         * modules/xgetdomainname (Include): Add xgetdomainname.h.
69378
69379 2003-10-01  Simon Josefsson  <jas@extundo.com>
69380
69381         * MODULES.html.sh (func_all_modules): Move gethostname from section
69382         'based on' to section 'lacking' POSIX:2001.
69383
69384 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
69385
69386         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
69387         to output mode on the same stream.
69388
69389 2003-09-29  Paul Eggert  <eggert@twinsun.com>
69390
69391         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
69392         Fix arg typo in previous patch.
69393
69394 2003-09-28  Jim Meyering  <jim@meyering.net>
69395
69396         * lib/error.c: Correct cpp indentation.
69397
69398 2003-09-27  Paul Eggert  <eggert@twinsun.com>
69399
69400         * modules/free: New file.
69401
69402 2003-09-27  Paul Eggert  <eggert@twinsun.com>
69403
69404         * m4/free.m4: New file.
69405
69406 2003-09-27  Paul Eggert  <eggert@twinsun.com>
69407
69408         * lib/minmax.h (MIN, MAX)
69409         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
69410         Omit the special code that used __typeof__, since we worry that
69411         it could be more trouble than it's worth.  See:
69412         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
69413         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
69414
69415         * lib/free.c: New file.
69416
69417 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
69418
69419         Trivial fixes to Makefile.am parts of module listings.
69420         * modules/strstr: Append strstr.h to lib_SOURCES.
69421         * modules/strcase: Likewise, for strcase.h.
69422
69423 2003-09-27  Karl Berry  <karl@gnu.org>
69424
69425         * config/mkinstalldirs: update from automake.
69426
69427 2003-09-26  Paul Eggert  <eggert@twinsun.com>
69428
69429         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
69430         (error_tail): Do not loop, reallocating temporary buffer, since
69431         the output cannot contain more wide characters than the input
69432         contains bytes, the size must be big enough already.  This avoids
69433         one potential size overflow calculation.  Check for size overflow
69434         when calculating temporary buffer size.  Free temporary buffer
69435         when done, if it was allocated with malloc; this plugs a memory
69436         leak.  Remove casts from void * to pointers, that are no longer
69437         needed now that we're assuming C89 or better.
69438
69439         Merge error changes from glibc.
69440
69441         * lib/error.c, error.h: Update copyright notice header to match glibc.
69442         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
69443         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
69444         Disable cancellation while printing error.
69445         * lib/error.h: Prepend __ to parameter names.
69446
69447 2003-09-26  Jim Meyering  <jim@meyering.net>
69448
69449         * lib/error.c (error_tail): Move some declarations
69450         into inner scope where the local variables are used.
69451
69452 2003-09-26  Bruno Haible  <bruno@clisp.org>
69453
69454         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
69455         stpncpy().
69456         Don't define stpncpy through config.h; it's now done through stpncpy.h.
69457
69458 2003-09-26  Bruno Haible  <bruno@clisp.org>
69459
69460         * lib/stpncpy.h (gnu_stpncpy): New declaration.
69461         (stpncpy): Define as alias for gnu_stpncpy.
69462         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
69463
69464 2003-09-25  Simon Josefsson  <jas@extundo.com>
69465
69466         * lib/xgetdomainname.h: New file.
69467         * lib/xgetdomainname.c: New file.
69468
69469 2003-09-25  Simon Josefsson  <jas@extundo.com>
69470             Bruno Haible  <bruno@clisp.org>
69471
69472         * modules/getdomainname: New file.
69473         * modules/xgetdomainname: New file.
69474         * MODULES.html.sh (func_all_modules): Add getdomainname,
69475         xgetdomainname.
69476
69477 2003-09-25  Simon Josefsson  <jas@extundo.com>
69478             Bruno Haible  <bruno@clisp.org>
69479
69480         * m4/getdomainname.m4: New file.
69481
69482 2003-09-25  Simon Josefsson  <jas@extundo.com>
69483             Bruno Haible  <bruno@clisp.org>
69484
69485         * lib/getdomainname.h: New file.
69486         * lib/getdomainname.c: New file.
69487
69488 2003-09-25  Karl Berry  <karl@gnu.org>
69489
69490         * lib/argp-fmtstream.c, argp-help.c: update from libc.
69491
69492 2003-09-25  Karl Berry  <karl@gnu.org>
69493
69494         * config/install-sh: update from automake.
69495
69496 2003-09-25  Bruno Haible  <bruno@clisp.org>
69497
69498         * modules/version-etc-2: New file, from modules/version-etc with
69499         modifications.
69500         * MODULES.html.sh (func_all_modules): Add version-etc-2.
69501
69502 2003-09-25  Bruno Haible  <bruno@clisp.org>
69503
69504         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
69505         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
69506
69507 2003-09-24  Simon Josefsson  <jas@extundo.com>
69508
69509         * modules/xgethostname: Add xgethostname.h.
69510
69511 2003-09-24  Paul Eggert  <eggert@twinsun.com>
69512
69513         * lib/linebuffer.c (freebuffer): Don't free the argument, just
69514         the buffer associated with the argument.  Bug reported by
69515         Simon Josefsson.
69516
69517 2003-09-24  Paul Eggert  <eggert@twinsun.com>
69518
69519         * README: Document assumptions that 'int' is at least 32 bits
69520         wide, that integer arithmetic is 2's complement without overflow,
69521         that there are no holes in integer values, that adding sizes of
69522         two nonoverlapping objects can't overflow, and that all-bits-zero
69523         yields scalar zero.  Fix spelling and capitalization typos.
69524
69525 2003-09-19  Karl Berry  <karl@gnu.org>
69526
69527         * lib/argp.h: update from libc.
69528
69529 2003-09-17  Paul Eggert  <eggert@twinsun.com>
69530
69531         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
69532         to avoid spurious warnings like "AC_RUN_IFELSE was called before
69533         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
69534
69535 2003-09-17  Paul Eggert  <eggert@twinsun.com>
69536
69537         * gnulib-tool: Use "test -h", not "test -L", for portability
69538         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
69539         (tags_regexp): Remove, since \| doesn't conform to POSIX.
69540         (sed_extract_prog): Issue s commands one-by-one, rather than
69541         using \| in one s command.
69542
69543 2003-09-16  Paul Eggert  <eggert@twinsun.com>
69544
69545         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
69546         input error, instead of returning NULL the next time we are called
69547         (and therefore losing track of errno).
69548
69549 2003-09-16  Bruno Haible  <bruno@clisp.org>
69550
69551         * gnulib-tool (func_create_testdir): Warn about duplicated
69552         dependencies.
69553
69554 2003-09-15  Paul Eggert  <eggert@twinsun.com>
69555
69556         * modules/argmatch, modules/fatal, modules/obstack,
69557         modules/xalloc, modules/xgethostname: Sort dependencies by
69558         importance, not alphabetically.
69559
69560 2003-09-15  Paul Eggert  <eggert@twinsun.com>
69561
69562         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
69563         fails, so that the caller gets the proper errno.
69564
69565         * lib/readutmp.c (read_utmp): Likewise.
69566         Check for fstat error.  Close stream and free storage
69567         when failing.
69568
69569 2003-09-14  Karl Berry  <karl@gnu.org>
69570
69571         * config/srclist.txt (strdup.c): disable for c89 changes.
69572
69573 2003-09-14  Jim Meyering  <jim@meyering.net>
69574
69575         * lib/getloadavg.c: Correct cpp indentation.
69576         * lib/strdup.c: Likewise.
69577         * lib/vasnprintf.c: Likewise.
69578
69579 2003-09-14  Bruno Haible  <bruno@clisp.org>
69580
69581         * modules/fwriteerror: New file.
69582         * MODULES.html.sh (func_all_modules): Add fwriteerror.
69583
69584 2003-09-14  Bruno Haible  <bruno@clisp.org>
69585
69586         * lib/fwriteerror.h: New file.
69587         * lib/fwriteerror.c: New file.
69588
69589 2003-09-12  Paul Eggert  <eggert@twinsun.com>
69590
69591         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
69592         modules/xgethostname, modules/xalloc: Depend on exit.
69593
69594 2003-09-12  Paul Eggert  <eggert@twinsun.com>
69595
69596         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
69597
69598         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
69599         and AC_MINIX, too, so that their extensions are available.
69600
69601         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
69602         This macro has been superseded by gl_BACKUPFILE.
69603
69604         More patches to assume C89 or better.
69605
69606         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
69607
69608         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
69609         unconditionally.
69610         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
69611         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
69612         Include <string.h>, <stdlib.h> unconditionally.
69613         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
69614         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
69615         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
69616         headers or for string.h.
69617         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
69618         or strtoul.
69619
69620         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
69621         headers.
69622         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
69623         * m4/userspec.m4 (gl_USERSPEC): Likewise.
69624         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
69625         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
69626         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
69627         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
69628         memcpy, memset.
69629         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
69630         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
69631         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
69632         strtol.
69633         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
69634         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
69635         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
69636         strtoul.
69637
69638 2003-09-12  Paul Eggert  <eggert@twinsun.com>
69639
69640         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
69641         * lib/obstack.c [!defined _LIBC]: Likewise.
69642         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
69643         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
69644         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
69645
69646         More changes to assume C89 or better.
69647
69648         * lib/error.c (error_tail): Assume vprintf.
69649
69650         * lib/argmatch.c (getenv): Remove decl.
69651         * lib/progreloc.c (get_full_program_name): Define via prototype.
69652         * lib/setenv.c (clearenv): Likewise.
69653         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
69654         needed.
69655         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
69656         (malloc, memcpy): Remove decls.
69657         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
69658         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
69659         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
69660         (memcpy): Remove macro.
69661         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
69662         (__P): Remove.  All uses removed.
69663         (PTR): Remove.  All uses changed to void *.
69664         (CHAR_BIT, NULL): Remove.
69665         (spaces, zeros, memset_space, memset_zero)
69666         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
69667         Remove.
69668         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
69669         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
69670         Define with prototype.
69671         Remove now-unnecessary prototype decl.
69672         (extra_args_spec): Assume ANSI C.  All uses changed.
69673         (extra_args_spec_iso): Remove.
69674         (my_strftime, emacs_strftimeu): Define via prototype.
69675         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
69676         unconditionally.
69677         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
69678         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
69679         (strtoul, strtol): Remove decls.
69680         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
69681         LONG_MAX): Remove.
69682         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
69683         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
69684         (LOCALE_PARAM_PROTO): New macro.
69685         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
69686         (INTERNAL (strtol), strtol): Define with a prototype.
69687         (PARAMS): Remove.  All uses removed.
69688         * lib/tempname.c: Include <string.h> unconditionally.
69689         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
69690         * lib/xgethostname.c (main): Define with a prototype.
69691         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
69692         Include <stdlib.h> unconditionally.
69693         (calloc, malloc, realloc, free): Remove decls.
69694         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
69695         Include <stdlib.h> unconditionally.  Sort include file names.
69696         (strtod): Remove.
69697         (xstrtod): Define with a prototype.
69698         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
69699         (strtol, strtoul): Remove decls.
69700
69701 2003-09-11  Paul Eggert  <eggert@twinsun.com>
69702
69703         More patches to assume C89 or better.
69704         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
69705         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
69706         string.h, memchr, STDC_HEADERS.
69707
69708 2003-09-11  Paul Eggert  <eggert@twinsun.com>
69709
69710         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
69711         Include <stdlib.h>, <string.h> unconditionally.
69712         Remove now-unnecessary cast to char *.
69713         * lib/strnlen.c: Include <string.h> unconditionally.
69714         * lib/yesno.c (yesno): Define with a prototype.
69715
69716 2003-09-11  Bruno Haible  <bruno@clisp.org>
69717
69718         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
69719
69720 2003-09-10  Jim Meyering  <jim@meyering.net>
69721
69722         * lib/error.c: Correct indentation of cpp directives.
69723
69724 2003-09-10  Bruno Haible  <bruno@clisp.org>
69725
69726         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
69727         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
69728         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
69729         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
69730         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
69731         <stdlib.h> and <string.h> checks.
69732         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
69733         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
69734
69735 2003-09-10  Bruno Haible  <bruno@clisp.org>
69736
69737         * lib/strcspn.c: Include <string.h> unconditionally.
69738         * lib/strpbrk.c: Include <string.h> unconditionally.
69739         * lib/strstr.c: Include <string.h> unconditionally.
69740         * lib/unicodeio.c: Include <string.h> unconditionally.
69741         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
69742         * lib/unsetenv.c: Likewise.
69743         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
69744         * lib/yesno.c: Include <stdlib.h> unconditionally.
69745         (rpmatch): Add prototype.
69746
69747 2003-09-09  Paul Eggert  <eggert@twinsun.com>
69748
69749         More patches to assume C89 or better.
69750         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
69751         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
69752         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
69753         or for string.h.
69754         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
69755         stdlib.h.
69756         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
69757         C headers.
69758         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
69759         string.h.
69760         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
69761         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
69762         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
69763         or for string.h.
69764         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
69765         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
69766         C headers.
69767         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
69768         memcpy.
69769         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
69770         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
69771         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
69772         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
69773         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
69774         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
69775         string.h, free.
69776         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
69777         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
69778         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
69779         C headers, or for string.h.
69780         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
69781         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
69782         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
69783         headers, memory.h, stdlib.h, string.h, strings.h.
69784         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
69785         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
69786         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
69787         strchr.
69788         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
69789         headers, memory.h, string.h.
69790         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
69791         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
69792         free.
69793         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
69794         headers.
69795         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
69796         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
69797         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
69798         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
69799         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
69800
69801 2003-09-09  Paul Eggert  <eggert@twinsun.com>
69802
69803         More K&R removal.
69804
69805         * lib/acosl.c (main): Use a prototype.
69806         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
69807         tanl.c: Likewise.
69808
69809         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
69810
69811         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
69812         (getopt, etopt_long, getopt_long_only, _getopt_internal)
69813         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
69814         with a prototype.
69815         * lib/getopt.c (const): Remove macro.
69816         Include <string.h> unconditionally.
69817         (my_index): Remove; all uses changed to strchr.
69818         (strlen): Remove decl.
69819         (exchange): Remove forward decl; no longer needed.
69820         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
69821         Define with prototype.
69822         * lib/getopt1.c (const): Remove macro.
69823         (getopt_long, getopt_long_only, main): Define with prototype.
69824
69825         * lib/getugroups.c: Include <string.h> unconditionally.
69826
69827         * lib/getusershell.c: Include <stdlib.h> unconditionally.
69828         (getusershell, setusershell, endusershell, readname, main):
69829         Define with prototypes.
69830
69831         * lib/group-member.c: Include group-member.h first.
69832         Include <stdlib.h> unconditionally.
69833
69834         * lib/hard-locale.c: Include hard-locale.h first.
69835         Include <stdlib.h>, <string.h> unconditionally.
69836
69837         * lib/hash.c (free, malloc): Remove decls.
69838         Include <stdlib.h> unconditionally.
69839
69840         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
69841         (getenv): Do not declare.
69842
69843         * lib/idcache.c: Include <string.h> unconditionally.
69844
69845         * lib/long-options.c: Include long-options.h first, to test interface.
69846         Include <stdlib.h> unconditionally.
69847
69848         * lib/makepath.c: Include makepath.h first, to test interface.
69849         Include <stdlib.h> and <string.h> unconditionally.
69850
69851         * lib/linebuffer.c: Include <stdlib.h>.
69852         (free): Remove decl.
69853
69854         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
69855         stddef.h. rpl_malloc returns void *, not char *.
69856         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
69857         prototype.
69858
69859         * lib/md5.h: Include <limits.h> unconditionally.
69860         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
69861         (__P): Remove; all uses removed.
69862         * lib/md5.c: Include "md5.h" first.
69863         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
69864         md5_buffer, md5_process_bytes, md5_process_block):
69865         Define with prototypes.
69866         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
69867         * lib/sha.c: Include "sha.h" first.
69868         Include <stdlib.h>, <string.h> unconditionally.
69869
69870         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
69871         * lib/memcmp.c (__ptr_t): Likewise.
69872         * lib/memrchr.c (__ptr_t): Likewise.
69873         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
69874         Include <string.h> unconditionally.
69875         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
69876         * lib/memchr.c: Include <stdlib.h> unconditionally.
69877         * lib/memchr.c (LONG_MAX): Remove.
69878         * lib/memrchr.c (LONG_MAX): Likewise.
69879         * lib/memchr.c (__memchr): Define via a prototype.
69880         * lib/memrchr.c (__memrchr): Likewise.
69881         * lib/memcmp.c (__P): Remove, and remove all uses.
69882         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
69883         Remove forward decls; no longer needed.
69884         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
69885         Use types required by C89 in prototype.
69886
69887         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
69888         * lib/savedir.c: Likewise.
69889         * lib/mkdir.c (free): Remove decl.
69890         * lib/rmdir.c (rmdir): Define with a prototype.
69891         * lib/savedir.c: Include savedir.h first, to test interface.
69892
69893         * lib/mktime.c (STDC_HEADERS): Remove.
69894         Include <stdlib.h>, <string.h> unconditionally.
69895
69896         * lib/modechange.c: Include <stdlib.h> unconditionally.
69897         (malloc): Remove decl.
69898
69899         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
69900         (free): Remove decl.
69901
69902         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
69903         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
69904         (This type really should be intptr_t, but that's a C99ism.)
69905         (_obstack_memcpy): Remove: all uses changed to memcpy.
69906         Include <string.h> unconditionally.
69907         (struct obstack): Assume __STDC__ for types of members
69908         chunkfun, freefun, extra_arg.
69909         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
69910         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
69911         obstack_begin, obstack_specify_allocation,
69912         obstack_specify_allocation_with_arg, obstack_chunkfun,
69913         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
69914         Remove unprototyped decls and the macros that use them.
69915         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
69916         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
69917         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
69918         (defined __STDC__ && __STDC__)]:
69919         Remove nonprototyped code.
69920         Include <stdlib.h> unconditionally.
69921         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
69922         _obstack_allocated_p, _obstack_free, obstack_free,
69923         _obstack_memory_used, print_and_abort):
69924         Define using prototypes.
69925         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
69926         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
69927         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
69928         obstack_next_free, obstack_object_size, obstack_room) [0]:
69929         Remove unused, unprototyped code.
69930
69931         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
69932
69933         * lib/physmem.c (physmem_total, physmem_available, main): Define
69934         with prototypes.
69935
69936         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
69937         (main): Define with a prototype.
69938
69939         * lib/posixver.c (getenv): Remove decl.
69940
69941         * lib/putenv.c (malloc): Returns void *, not char *.
69942         Include <string.h> unconditionally.
69943         (strchr, memcpy, NULL): Do not define.
69944
69945         * lib/readtokens.c: Include readtokens.h first, to test interface.
69946         Include <stdlib.h>, <string.h> unconditionally.
69947         (init_tokenbuffer): Define with a prototype.
69948
69949         * lib/regex.c (PARAMS): Remove.  All uses removed.
69950         All uses of _RE_ARGS removed, too.
69951         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
69952         unconditionally.
69953         (bzero): Assume memset exists.
69954         (memcmp, memcpy, NULL): Remove.
69955         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
69956         char, or assignments to local vars of type signed char.
69957         (init_syntax_once, PREFIX(extract_number_and_incr),
69958         PREFIX(print_partial_compiled_pattern),
69959         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
69960         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
69961         PREFIX(regex_grow_registers), PREFIX(regex_compile),
69962         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
69963         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
69964         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
69965         wcs_compile_range, byte_compile_range, truncate_wchar,
69966         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
69967         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
69968         count_mbs_length, wcs_re_match_2_internal,
69969         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
69970         PREFIX(alt_match_null_string_p),
69971         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
69972         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
69973         regfree, PREFIX(extract_number)): Define with prototype.  Remove
69974         now-unnecessary declaration, if any.
69975         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
69976         regcomp, regexec):
69977         Remove now-unnecessary casts among pointer types.
69978         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
69979
69980         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
69981         (free): Remove decl.
69982
69983         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
69984
69985         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
69986         (free): Remove decl.
69987
69988         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
69989         * lib/xgetcwd.c: Likewise.
69990
69991         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
69992         (free): Remove decl.
69993
69994         * lib/strchrnul.c (strchrnul): Define with a prototype.
69995         Fix bug: c_in was not converted to char before searching.
69996
69997         The following changes are not K&R related:
69998
69999         * lib/group-member.h: Include <sys/types.h>, so that this file is
70000         self-contained.
70001         * lib/makepath.h: Likewise.
70002
70003         * lib/getusershell.c (readname, default_index, line_size, readname):
70004         Use size_t, not int, for sizes.
70005         (readname): If the size overflows, report an error instead of
70006         looping forever.
70007
70008 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70009
70010         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
70011         libc.
70012
70013 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70014
70015         * README: New section: portability guidelines.
70016
70017 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
70018
70019         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
70020         C89 spec.
70021
70022 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
70023
70024         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
70025
70026 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70027
70028         Assume C89 or better; remove K&R cruft.
70029         A few of these changes were first proposed by Derek Robert Price
70030         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
70031
70032         * lib/addext.c: Include <string.h> unconditionally.
70033         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
70034         Don't declare getenv or malloc.
70035
70036         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
70037         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
70038         (NULL): Remove.
70039         (find_stack_direction, alloca): Use prototypes.
70040
70041         * lib/atexit.c (atexit): Define using a prototype.
70042
70043         * lib/basename.c, dirname.c, stripslash.c:
70044         Include <string.h> unconditionally.
70045
70046         * lib/bcopy.c: Include <stddef.h>.
70047         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
70048
70049         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
70050
70051         * lib/error.h (error, error_at_line, error_print_progname)
70052         [! (defined (__STDC__) && __STDC__)]: Remove decls.
70053         * lib/error.c: Include error.h first, to check interface.
70054         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
70055         (VA_START): Remove; all uses changeed to va_start.
70056         (exit, strerror): Remove decls.
70057         (error_print_progname): Prototype uncondionally.
70058         Don't include <errno.h>; no longer needed.
70059         (private_strerror): Remove.
70060         (error_tail): Always define.
70061         (error, error_at_line): Assume C89 or better; always use prototypes.
70062         * lib/fatal.c: Include "fatal.h" first, to test interface.
70063         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
70064         (VA_START): Remove; all uses changed to va_start.
70065         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
70066         this case.
70067         (exit): Remove decl.
70068         (fatal): Prototype unconditionally.  Assume va_start works.
70069         Abort at end, to pacify gcc.
70070
70071         * lib/euidaccess.c (main): Define with a prototype.
70072
70073         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
70074
70075         * lib/exitfail.c: Include <stdlib.h> unconditionally.
70076
70077         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
70078         prototypes.
70079         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
70080         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
70081         (getenv): Remove decl.
70082         (fnmatch): Define using a prototype.
70083         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
70084         (FCT): Define using a prototype.
70085
70086         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
70087
70088         * lib/gethostname.c: Include <stddef.h>.
70089         (gethostname): Define with prototype.  Length is size_t, not int.
70090
70091 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70092
70093         Assume C89 or better; remove K&R cruft.
70094         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
70095         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
70096         string.h, getenv, malloc.
70097         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
70098         headers.
70099         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
70100         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
70101         do not check for strerror.
70102         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
70103         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
70104         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
70105         do not check for doprnt or vprintf.
70106         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
70107         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
70108
70109 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70110
70111         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
70112         getversion.c should have been removed then, but was accidentally
70113         preserved.
70114
70115         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
70116         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
70117
70118 2003-09-08  Karl Berry  <karl@gnu.org>
70119
70120         * config/config.sub, config.guess, srclistvars.sh: update from savannah
70121                 config, forget about prep.
70122
70123         * config/depcomp, missing: update from automake.
70124
70125 2003-09-07  Paul Eggert  <eggert@twinsun.com>
70126
70127         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
70128         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
70129
70130 2003-09-07  Paul Eggert  <eggert@twinsun.com>
70131
70132         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
70133         copy_tm_result.  Bug reported by Simon Josefsson in
70134         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
70135
70136 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70137
70138         * m4/time_r.m4: New file.
70139         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
70140         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
70141         is. Check for timegm declaration.
70142         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
70143         Do not check for gmtime_r.
70144         Replace mktime if __mktime_internal does not exist and if mktime
70145         hasn't been replaced already.
70146
70147 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70148
70149         * lib/time_r.c, lib/time_r.h: New files.
70150
70151         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
70152         __localtime_r.
70153         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
70154         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
70155
70156         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
70157         __gmtime_r.
70158         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
70159         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
70160         Include <time_r.h>.
70161
70162         * lib/timegm.c: Switch to glibc implementation, with the following
70163         changes:
70164         [defined HAVE_CONFIG_H]: Include <config.h>.
70165         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
70166         (__mktime_internal) [!defined _LIBC]: New decl.
70167         (__gmtime_r) [!defined _LIBC]: New macro and function.
70168         (timegm): Use a prototype, since gnulib assumes C89.
70169         Do not bother declaring tmp to be const, as it's not really usefu.
70170         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
70171         (timegm): Declare only if HAVE_DECL_TIMEGM.
70172
70173 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70174
70175         * MODULES.html.sh (func_all_modules): Add time_r.
70176         * modules/time_r: New file.
70177         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
70178         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
70179
70180 2003-09-03  Paul Eggert  <eggert@twinsun.com>
70181
70182         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
70183         Bug reported by Lute Kamstra in
70184         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
70185
70186         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
70187         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
70188         course with correspondingly smaller numbers for tomorrow and
70189         yesterday.  From Tadayoshi Funaba.  Originally installed into
70190         sh-utils on 1999-08-07, but the patch got lost (I guess during the
70191         coreutils merge?).
70192
70193 2003-08-31  Simon Josefsson  <jas@extundo.com>
70194
70195         * modules/timegm: New file.
70196         * MODULES.html.sh (func_all_modules): Add timegm.
70197
70198 2003-08-31  Simon Josefsson  <jas@extundo.com>
70199
70200         * m4/timegm.m4: New file.
70201
70202 2003-08-31  Simon Josefsson  <jas@extundo.com>
70203
70204         * lib/timegm.h: New file.
70205         * lib/timegm.c: New file.  Based on
70206         wget-1.8.2/src/http.c:mktime_from_utc.
70207
70208 2003-08-31  Karl Berry  <karl@gnu.org>
70209
70210         * lib/argp.h: update from libc.
70211
70212 2003-08-28  Bruno Haible  <bruno@clisp.org>
70213
70214         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
70215         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
70216         followed by '#define fnmatch fnmatch_posix' gives an error.
70217
70218 2003-08-28  Bruno Haible  <bruno@clisp.org>
70219
70220         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
70221         warning on QNX, which defines O_BINARY to 000000.
70222
70223 2003-08-27  Jim Meyering  <jim@meyering.net>
70224
70225         * m4/mkstemp.m4: Require that the system mkstemp be able to create
70226         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
70227         would fail after 32.  Reported by Danny Levinson.  Details here:
70228         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
70229
70230 2003-08-24  Bruno Haible  <bruno@clisp.org>
70231
70232         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
70233         MSVC7 <stdio.h> is included later.
70234
70235 2003-08-22  Simon Josefsson  <jas@extundo.com>
70236
70237         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
70238
70239 2003-08-20  Karl Berry  <karl@gnu.org>
70240
70241         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
70242
70243 2003-08-20  Bruno Haible  <bruno@clisp.org>
70244
70245         * modules/progname: New file.
70246         * MODULES.html.sh (func_all_modules): Add progname.
70247
70248 2003-08-20  Bruno Haible  <bruno@clisp.org>
70249
70250         * lib/progname.h: New file, from GNU gettext.
70251         * lib/progname.c: New file, from GNU gettext.
70252         * lib/progreloc.c: New file, from GNU gettext.
70253
70254 2003-08-19  Jim Meyering  <jim@meyering.net>
70255
70256         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
70257         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
70258
70259 2003-08-19  Bruno Haible  <bruno@clisp.org>
70260
70261         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
70262         more.
70263
70264 2003-08-19  Bruno Haible  <bruno@clisp.org>
70265
70266         * lib/xstrdup.c: Assume <string.h> exists.
70267
70268 2003-08-18  Paul Eggert  <eggert@twinsun.com>
70269
70270         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
70271         in makefile rules.
70272
70273 2003-08-18  Jim Meyering  <jim@meyering.net>
70274
70275         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
70276         * m4/lib-ld.m4: Likewise.
70277
70278 2003-08-18  Jim Meyering  <jim@meyering.net>
70279
70280         * lib/setenv.h: Indent nested cpp directive.
70281         * lib/vasnprintf.c: Remove trailing blanks.
70282
70283 2003-08-17  Simon Josefsson  <jas@extundo.com>
70284
70285         * modules/xstrndup: New file.
70286         * MODULES.html.sh (func_all_modules): Add xstrndup.
70287
70288 2003-08-17  Simon Josefsson  <jas@extundo.com>
70289
70290         * modules/argp: Fix autoconf macro name. Add more dependencies.
70291
70292 2003-08-17  Simon Josefsson  <jas@extundo.com>
70293
70294         * m4/xstrndup.m4: New file.
70295
70296 2003-08-17  Simon Josefsson  <jas@extundo.com>
70297
70298         * m4/argp.m4: New file.
70299
70300 2003-08-17  Simon Josefsson  <jas@extundo.com>
70301             Bruno Haible  <bruno@clisp.org>
70302
70303         * lib/xstrndup.h: New file.
70304         * lib/xstrndup.c: New file.
70305
70306 2003-08-17  Bruno Haible  <bruno@clisp.org>
70307
70308         * modules/strndup (Files, Include): Add lib/strndup.h.
70309
70310 2003-08-17  Bruno Haible  <bruno@clisp.org>
70311
70312         * modules/euidaccess (Files): Add lib/euidaccess.h.
70313
70314 2003-08-17  Bruno Haible  <bruno@clisp.org>
70315
70316         * lib/strndup.h: New file.
70317
70318 2003-08-17  Bruno Haible  <bruno@clisp.org>
70319
70320         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
70321         like AC_GNU_SOURCE.
70322         * modules/extensions (configure.ac): Comment out the invocation of
70323         gl_USE_SYSTEM_EXTENSIONS.
70324
70325 2003-08-16  Paul Eggert  <eggert@twinsun.com>
70326
70327         Merges from coreutils, etc.
70328         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
70329         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
70330         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
70331         fixing a typo.
70332         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
70333         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
70334
70335 2003-08-16  Paul Eggert  <eggert@twinsun.com>
70336
70337         Document merge from coreutils.
70338         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
70339         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
70340         * modules/utime: Add m4/utimes-null.m4.
70341
70342 2003-08-16  Paul Eggert  <eggert@twinsun.com>
70343
70344         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
70345         space, undoing this 2003-08-12 change:
70346         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
70347
70348 2003-08-16  Paul Eggert  <eggert@twinsun.com>
70349
70350         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
70351         strtoul.c from libc, undoing this 2003-08-12 change:
70352         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
70353
70354 2003-08-16  Jim Meyering  <jim@meyering.net>
70355
70356         Merges from coreutils.
70357         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
70358         prefix.  Adjust cache variables similarly.  Create 500 rather than
70359         just 300 files, to exercise bug on Darwin6.5, too.
70360         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
70361         $missing_dir.
70362         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
70363         AM_SYS_POSIX_TERMIOS.
70364         Reported by mkc@mathdogs.com.
70365         Also change use of $am_cv_sys_posix_termios
70366         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
70367         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
70368         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
70369         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
70370         in /proc/mounts until it finds one with matching device number.  This
70371         is unnecessary when the FILE argument *is* a mount point.  No stat call
70372         is necessary in that case.  So, disable the statvfs-testing code on
70373         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
70374         as RedHat bug# 84846.
70375         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
70376         to 1MB, so as not to render systems with no stack size limit (e.g.,
70377         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
70378         Include <unistd.h>.  On some systems,
70379         it is required for the definition of _SC_PAGESIZE.
70380
70381 2003-08-16  Jim Meyering  <jim@meyering.net>
70382
70383         Merge from coreutils.
70384         * lib/xstrtoimax.c: #else #if -> #elif.
70385         * lib/xstrtoumax.c: Likewise.
70386
70387 2003-08-16  Jim Meyering  <jim@meyering.net>
70388
70389         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
70390         * m4/utimes.m4: Removed.
70391         * m4/utimes-null.m4: Renamed from utimes.m4.
70392
70393         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
70394         to 1MB, so as not to render systems with no stack size limit (e.g.,
70395         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
70396         Include <unistd.h>.  On some systems,
70397         it is required for the definition of _SC_PAGESIZE.
70398
70399 2003-08-16  Jim Meyering  <jim@meyering.net>
70400         and Paul Eggert  <eggert@cs.ucla.edu>
70401
70402         Merges from coreutils, etc.
70403
70404         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
70405         using the latest version from cvs.  This avoids problems with #line
70406         directives using a vendor (Sun) compiler.
70407         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
70408         Don't set GETGROUPS_LIB here; now it's
70409         done via getgroups.m4's wrapper function.
70410         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
70411         rather than just in sh-util/configure.in, so that the
70412         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
70413         same.
70414         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
70415         AC_FUNC_GETLOADAVG where to find getloadavg.c.
70416         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
70417         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
70418         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
70419         Remove code that is now done by the newly-required macros.
70420         Append $(EXEEXT) to DF_PROG.
70421         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
70422         Do not invoke or require the following here,
70423         since prereq.m4 or some gnulib .m4 now does this for us:
70424         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
70425         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
70426         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
70427         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
70428         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
70429         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
70430         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
70431         AC_FUNC_OBSTACK.
70432         Do not replace the following functions, as this is now the job
70433         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
70434         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
70435         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
70436         atexit getpass, strdup, getpagesize.
70437         Replace 'raise'.
70438         Do not check for the following functions, as this is now the job
70439         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
70440         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
70441         setregid.
70442         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
70443         Check for sys/sysctl.h.
70444         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
70445         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
70446         of checking for ssize_t ourselves.
70447
70448         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
70449         Require every macro that gnulib/modules/* suggests for us.
70450         (jm_PREREQ_ADDEXT): New macro.
70451         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
70452         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
70453
70454         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
70455         (gl_PHYSMEM): Use it.
70456         Also check for `table' function.
70457         Check for new headers and functions.
70458         Add check for sys/sysmp.h.
70459         With suggestions from Kaveh Ghazi.
70460         Ignore headers that are present but cannot be compiled.  This
70461         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
70462         C 5.4.
70463
70464 2003-08-15  Paul Eggert  <eggert@twinsun.com>
70465
70466         Document merge from coreutils.
70467         * modules/userspec: Depend on posixver.
70468         * modules/strftime: Depend on tzset.
70469
70470 2003-08-15  Paul Eggert  <eggert@twinsun.com>
70471
70472         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
70473         rather than tab, after '#' in shell-script copyright notices.
70474         Suggested by Bruno Haible.
70475
70476 2003-08-15  Paul Eggert  <eggert@twinsun.com>
70477
70478         * config/srclist-update: Use three spaces, rather than tab, after '#'
70479         in shell-script copyright notices.  Suggested by Bruno Haible.
70480         Remove unnecessary parenthesization in regular expression.
70481
70482 2003-08-15  Jim Meyering  <jim@meyering.net>
70483
70484         Merge from coreutils.
70485         * lib/xgethostname.c: Include <stdlib.h>.
70486         (xghostname): Don't exit for anything other than memory-related
70487         failure; just return NULL.
70488         * lib/userspec.c: Include "posixver.h".
70489         (parse_user_spec): Accept `.' as a separator only
70490         in pre-POSIX-200112 mode.
70491         * lib/strtoimax.c: Use #elif rather than #else #if.
70492         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
70493         Remove function, now that we can rely on a working tzset function.
70494         [!_LIBC]: Ensure that the required autoconf test has been run.
70495         [!defined _NL_CURRENT && HAVE_STRFTIME]:
70496         Use underlying_strftime for %r.
70497         * lib/sha.c: Merge in some clean-up and optimization changes from
70498         glibc.
70499         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
70500         Ensure that it is a multiple of 64.
70501         Rearrange loop exit tests so as to avoid performing an
70502         additional fread after encountering an error or EOF.
70503         * lib/realloc.c: Update copyright date.
70504
70505 2003-08-15  Jim Meyering  <jim@meyering.net>
70506         and Paul Eggert  <eggert@twinsun.com>
70507
70508         Merge from coreutils.
70509         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
70510         member but strut utmpx does not.  Needed for AIX 4.3.3.
70511         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
70512
70513 2003-08-15  Jim Meyering  <jim@meyering.net>
70514         and Paul Eggert  <eggert@cs.ucla.edu>
70515
70516         Merges from coreutils, etc.
70517         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
70518         Require gl_FUNC_TZSET_CLOBBER.
70519         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
70520         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
70521         members.
70522
70523 2003-08-14  Paul Eggert  <eggert@twinsun.com>
70524
70525         Help the merge from coreutils.
70526         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
70527         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
70528         * m4/tzset.m4: Use it too.
70529
70530 2003-08-14  Paul Eggert  <eggert@twinsun.com>
70531
70532         * modules/tzset: New file.
70533
70534 2003-08-14  Jim Meyering  <jim@meyering.net>
70535
70536         Merges from coreutils.
70537         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
70538         variable names, rather than @FNMATCH_H@.
70539         * modules/alloca: Likewise for $(ALLOCA_H).
70540
70541         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
70542         the three copies of the literal target, `fnmatch.h'.
70543         * modules/alloca (alloca.h): Likewise.
70544
70545 2003-08-14  Jim Meyering  <jim@meyering.net>
70546
70547         Merge from coreutils.
70548         * m4/tzset.m4: New file.
70549         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
70550         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
70551         otherwise, AIX 5.1 systems would end up using the latter.
70552         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
70553         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
70554         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
70555         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
70556
70557 2003-08-14  Jim Meyering  <jim@meyering.net>
70558
70559         Merge from coreutils.
70560         * lib/obstack.h: Whitespace changes.
70561         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
70562         and xcalloc return values.
70563         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
70564         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
70565         hang on OSF/1 5.1 for DIR on both local and remote file systems.
70566         Reported by (and fix confirmed by) Nelson H. F. Beebe.
70567         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
70568         error from mntctl.
70569         Use mntctl's return value to drive the entry-processing loop, since
70570         we can't rely on the value of the vmt_length member in the last
70571         entry.  On some systems doing so could result in exhausting
70572         virtual memory.  Based in part on a patch from Mike Jetzer.
70573
70574 2003-08-14  Jim Meyering  <jim@meyering.net>
70575         and Paul Eggert  <eggert@twinsun.com>
70576
70577         Merges from coreutils, plus other fixes.
70578         * lib/physmem.c: Merge in portability changes from gcc/libiberty
70579         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
70580         for credits and details.  Thanks to Kaveh Ghazi for helping
70581         to keep these files in sync.
70582         (ARRAY_SIZE): Define it.
70583         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
70584         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
70585         (memcasecmp): Don't assume size_t fits in unsigned int.
70586         Remove casts and duplicate code.
70587         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
70588         (memcpy): Remove definition.
70589         Merge in some clean-up and optimization changes from glibc.
70590         [BLOCKSIZE]: Move definition to top of file.
70591         Ensure that it is a multiple of 64.
70592         Rearrange loop exit tests so as to avoid performing an
70593         additional fread after encountering an error or EOF.
70594         * lib/md5.h (md5_uintptr): Define.
70595         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
70596         return to the initial working directory.  Preserve errno
70597         for caller.
70598         * lib/idcache.c: Include "xalloc.h".
70599         (xmalloc, xrealloc): Remove decls.
70600         (getuser): Remove casts no longer required in C89.
70601         * lib/human.c: Include stdio.h, for sprintf.
70602         * lib/group-member.c: Include "xalloc.h".
70603         (xmalloc, xrealloc): Remove decls.
70604         (get_group_info): Remove casts no longer required in C89.
70605         * lib/getusershell.c (readname): Remove casts no longer required in
70606         C89.
70607         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
70608         * lib/getline.c: Whitespace fix, from coreutils.
70609
70610 2003-08-13  Paul Eggert  <eggert@twinsun.com>
70611
70612         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
70613         Check for isascii.
70614
70615         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
70616         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
70617         Undo previous (whitespace-only) change.
70618
70619 2003-08-13  Paul Eggert  <eggert@twinsun.com>
70620
70621         * lib/exclude.c: Include <ctype.h>
70622         (IN_CTYPE_DOMAIN): New macro.
70623         (is_space): New fn.
70624         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
70625         and empty lines.
70626
70627         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
70628         Undo previous (whitespace-only) change.
70629
70630 2003-08-13  Paul Eggert  <eggert@twinsun.com>
70631
70632         * config/srclist-update: Change update back to the old behavior,
70633         leaving whitespace alone.  Use one 'sed' command rather than a
70634         pipeline.
70635         (fixlicense): Now a variable, not a function.
70636         (remove_trailing_blanks): Remove.
70637         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
70638         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
70639         Undo previous (whitespace-only) change.
70640
70641 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70642
70643         Merge from coreutils.
70644         * modules/euidaccess: Add lib_SOURCES, include for new
70645         file euidaccess.h
70646
70647 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70648
70649         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
70650         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
70651         Normalize leading white space and remove trailing white space.
70652
70653         Merge from coreutils
70654         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
70655
70656         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
70657         0.12.1.  These files are now being upgraded automatically by
70658         ../config/srclist-update.
70659
70660 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70661
70662         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
70663         Normalize leading white space and remove trailing white space.
70664         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
70665         notice, as per ../config/srclist-update.
70666
70667         Merge from coreutils.
70668         * lib/euidaccess.h: New file.
70669         * lib/euidaccess.c: Include it.
70670         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
70671         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
70672         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
70673
70674 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70675
70676         * config/srclist-update: Add copyright notice.
70677         (remove_id_lines, remove_trailing_blanks): New constants.
70678         (fixfile): Use them to normalize spacing a bit in copied files.
70679         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
70680         Normalize leading white space and remove trailing white space.
70681
70682         * config/texinfo.tex: Sync with texinfo.
70683
70684         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
70685         strtoul.c from libc, to merge coreutils whitespace changes.
70686
70687         * config/srclist.txt: Get the following m4 files from gettext:
70688         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
70689         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
70690         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
70691         wint_t.m4.
70692
70693 2003-08-12  Karl Berry  <karl@gnu.org>
70694
70695         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
70696         been made.
70697
70698 2003-08-11  Paul Eggert  <eggert@twinsun.com>
70699
70700         * modules/gnu-source, m4/gnu-source.m4:
70701         Remove; we're assuming Autoconf 2.54 or later now.
70702         Suggested by Bruno Haible.
70703         * MODULES.html.sh (func_all_modules): Remove gnu-source.
70704
70705 2003-08-11  Bruno Haible  <bruno@clisp.org>
70706
70707         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
70708
70709 2003-08-11  Bruno Haible  <bruno@clisp.org>
70710
70711         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
70712         (vasnprintf): Use it instead of wcslen.
70713
70714 2003-08-11  Bruno Haible  <bruno@clisp.org>
70715
70716         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
70717         value to ensure that _Bool promotes to int. Use #define for _Bool when
70718         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
70719
70720 2003-08-10  Karl Berry  <karl@gnu.org>
70721
70722         * lib/regex.h: update from libc (whitespace fix).
70723
70724 2003-08-09  Paul Eggert  <eggert@twinsun.com>
70725
70726         Merge some files from coreutils.  These changes were
70727         originally made by Jim Meyering.
70728         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
70729         many older Unixes require this.
70730         * lib/alloca.c (alloca): Remove cast to argument of free;
70731         no longer needed in C89.
70732         * lib/alloca_.h, regex.h: Fix white space to match
70733         what GNU indent does.
70734
70735 2003-08-09  Paul Eggert  <eggert@twinsun.com>
70736
70737         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
70738         apparently Emacs's Unicode mode got confused before my 2003-08-05
70739         checkin.
70740
70741 2003-08-08  Paul Eggert  <eggert@twinsun.com>
70742
70743         * m4/extensions.m4: New file.
70744         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
70745         Require gl_USE_SYSTEM_EXTENSIONS.
70746         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
70747         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
70748
70749 2003-08-08  Paul Eggert  <eggert@twinsun.com>
70750
70751         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
70752         * modules/extensions, modules/gnu-source: New files.
70753         * modules/timespec, modules/unlocked-io: Depend on extensions.
70754
70755 2003-08-07  Paul Eggert  <eggert@twinsun.com>
70756
70757         * modules/restrict: New file.
70758         * MODULES.html.sh (func_all_modules): Add restrict.
70759         * modules/regex: Depend on restrict.
70760
70761 2003-08-07  Paul Eggert  <eggert@twinsun.com>
70762
70763         * m4/restrict.m4: New file.
70764         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
70765
70766 2003-08-07  Bruno Haible  <bruno@clisp.org>
70767
70768         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
70769         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
70770
70771 2003-08-07  Bruno Haible  <bruno@clisp.org>
70772
70773         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
70774         makes the module 'getndelim2' compatible with the module 'getline'.
70775
70776 2003-08-05  Paul Eggert  <eggert@twinsun.com>
70777
70778         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
70779         byte with "\201" to avoid glitches when editing that source file
70780         with multi-gnome-terminal.
70781
70782 2003-08-05  Paul Eggert  <eggert@twinsun.com>
70783
70784         * lib/bumpalloc.h: Remove.
70785
70786 2003-08-05  Paul Eggert  <eggert@twinsun.com>
70787
70788         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
70789         * modules/bumpalloc: Remove.
70790
70791 2003-08-04  Paul Eggert  <eggert@twinsun.com>
70792
70793         * lib/getloadavg.c: Change copyright notice and spacing to conform to
70794         GNU coding style.
70795
70796         Merge from coreutils.
70797         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
70798         1. From glibc.
70799         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
70800         from Karl Berry, implemented by Jim Meyering.
70801         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
70802         from Dmitry V. Levin.
70803         Remove anachronistic cast of xrealloc.
70804         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
70805         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
70806         type. Otherwise, it wouldn't compile with at least /bin/cc on
70807         ymp-cray-unicos9.0.2.X.
70808         Combine two mostly-identical uses of alloca into one.
70809         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
70810
70811 2003-08-04  Dave Love  <d.love@dl.ac.uk>
70812
70813         [From Emacs.]
70814
70815         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
70816         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
70817         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
70818         obsolete NLIST_NAME_UNION.
70819         [__GNU__]: Undef BSD and FSCALE.
70820         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
70821
70822 2003-08-03  Paul Eggert  <eggert@twinsun.com>
70823
70824         * lib/stdbool_.h (_Bool): Make it signed char, instead of
70825         an enum type, so that it's guaranteed to promote to int.  See:
70826         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
70827
70828 2003-08-03  Karl Berry  <karl@gnu.org>
70829
70830         * config/depcomp: update from automake.
70831
70832 2003-07-31  Paul Eggert  <eggert@twinsun.com>
70833
70834         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
70835         (strerror): Don't assume that a printable int fits in 14 bytes.
70836
70837 2003-07-31  Bruno Haible  <bruno@clisp.org>
70838
70839         * modules/getpass-gnu: New file.
70840         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
70841
70842 2003-07-31  Bruno Haible  <bruno@clisp.org>
70843
70844         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
70845
70846 2003-07-24  Karl Berry  <karl@gnu.org>
70847
70848         * config/missing: update from automake.
70849
70850 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
70851             Bruno Haible  <bruno@clisp.org>
70852
70853         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
70854         * lib/getline.c (getline, getdelim): Likewise.
70855         Remove _GNU_SOURCE define; now it's defined in config.h through
70856         m4/getline.m4.
70857
70858 2003-07-23  Karl Berry  <karl@gnu.org>
70859
70860         * config/config.sub: update from prep.
70861
70862 2003-07-22  Paul Eggert  <eggert@twinsun.com>
70863
70864         * modules/xalloc (Depends-on): Add exitfail.
70865         * modules/xmemcoll: Likewise.
70866
70867 2003-07-22  Paul Eggert  <eggert@twinsun.com>
70868
70869         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
70870         over-parenthesization in macros.
70871
70872         Sync with coreutils.
70873
70874         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
70875         required by C99.
70876
70877         Use `exit_failure' for xalloc and xmemcoll instead of their own
70878         private exit-failure variables.
70879         * lib/xalloc.h (xalloc_exit_failure): Remove.
70880         * lib/xmalloc.c: Likewise.  Include exitfail.h.
70881         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
70882         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
70883         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
70884         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
70885
70886 2003-07-20  Jim Meyering  <jim@meyering.net>
70887
70888         * modules/closeout (Depends-on): Add exitfail.
70889         Suggestion from Bruno Haible.
70890
70891 2003-07-19  Karl Berry  <karl@gnu.org>
70892
70893         * config/config.sub: update from prep.
70894
70895 2003-07-18  Paul Eggert  <eggert@twinsun.com>
70896
70897         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
70898         Remove.
70899         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
70900         to test that it can stand by itself.  Include "exitfail.h".
70901         Clients should set exit_failure instead.
70902         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
70903
70904 2003-07-18  Bruno Haible  <bruno@clisp.org>
70905
70906         * modules/getndelim2: New file.
70907         * modules/getline: Share files with module getndelim2.
70908         * modules/getnline: Depend on getndelim2 instead of sharing files with
70909         it. Add getnline.c to lib_SOURCES.
70910         * MODULES.html.sh (func_all_modules): Add getndelim2.
70911
70912 2003-07-18  Bruno Haible  <bruno@clisp.org>
70913
70914         * m4/getndelim2.m4: New file.
70915         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
70916         invoke gl_PREREQ_GETNDELIM2.
70917         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
70918         gl_PREREQ_GETNDELIM2.
70919         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
70920         gl_GETNDELIM2.
70921
70922 2003-07-18  Bruno Haible  <bruno@clisp.org>
70923
70924         * lib/getndelim2.h: New file.
70925         * lib/getndelim2.c: Make into a module of its own. Include config.h,
70926         getndelim2.h.
70927         (getndelim2): Make non-static. Change return type to ssize_t.
70928         * lib/getline.h: Change argument names.
70929         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
70930         * lib/getnline.c: Include getndelim2.h.
70931
70932 2003-07-18  Andreas Schwab  <schwab@suse.de>
70933
70934         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
70935
70936 2003-07-17  Karl Berry  <karl@gnu.org>
70937
70938         * config/config.sub: update from prep.
70939
70940 2003-07-17  Bruno Haible  <bruno@clisp.org>
70941
70942         * modules/getnline: New file.
70943         * modules/getline: Add lib/getndelim2.c to source file list.
70944         * MODULES.html.sh (func_all_modules): Add getnline.
70945
70946 2003-07-17  Bruno Haible  <bruno@clisp.org>
70947
70948         * m4/getnline.m4: New file.
70949
70950 2003-07-17  Bruno Haible  <bruno@clisp.org>
70951
70952         * m4/Makefile.am.in: Remove file.
70953         * m4/Makefile.am: Remove file.
70954         * m4/Makefile.in: Remove file.
70955
70956 2003-07-17  Bruno Haible  <bruno@clisp.org>
70957
70958         * lib/getnline.h: New file.
70959         * lib/getnline.c: New file.
70960         * lib/getndelim2.c: New file, extracted from getline.c.
70961         (getndelim2): Renamed from getdelim2, with added nmax argument.
70962         * lib/getline.c: Include getndelim2.c.
70963         (getdelim2): Moved out to getndelim2.c.
70964         (getline, getdelim): Update.
70965
70966 2003-07-17  Bruno Haible  <bruno@clisp.org>
70967
70968         * lib/Makefile.am: Remove file.
70969         * lib/Makefile.in: Remove file.
70970
70971 2003-07-17  Bruno Haible  <bruno@clisp.org>
70972
70973         * configure.in: Remove file.
70974         * Makefile.in: Remove file.
70975
70976 2003-07-17  Bruno Haible  <bruno@clisp.org>
70977
70978         * MODULES.html.sh: Put the </BODY> right before </HTML>.
70979
70980 2003-07-16  Karl Berry  <karl@gnu.org>
70981
70982         * config/srclist-update: was running fixlicense twice, which caused
70983                 texinfo.tex to be nullified for some reason.  Simplify,
70984                 $gplsrc is no longer needed as far as I can see?
70985
70986 2003-07-16  Jim Meyering  <jim@meyering.net>
70987
70988         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
70989
70990 2003-07-15  Paul Eggert  <eggert@twinsun.com>
70991
70992         * config/srclist.txt: Get the following files from gettext-runtime/intl
70993         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
70994         ref-del.sin.  From Bruno Haible.
70995         * config/srclist-update (fixfile): Change grep pattern again, since the
70996         previous fix didn't work (there was another trailing $).  Use
70997         '[$]' to escape the $s.
70998
70999 2003-07-15  Karl Berry  <karl@gnu.org>
71000
71001         * lib/vasnprintf.c: update from gettext.
71002
71003 2003-07-15  Karl Berry  <karl@gnu.org>
71004
71005         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
71006         gets expanded when surrounded by '$'.
71007
71008 2003-07-15  Jim Meyering  <jim@meyering.net>
71009
71010         * modules/save-cwd: Don't depend on error.  From Derek Price.
71011
71012 2003-07-15  Jim Meyering  <jim@meyering.net>
71013
71014         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
71015
71016 2003-07-14  Simon Josefsson  <jas@extundo.com>
71017
71018         * modules/mempcpy: New file.
71019         * MODULES.html.sh (func_all_modules): Add mempcpy.
71020
71021 2003-07-14  Simon Josefsson  <jas@extundo.com>
71022
71023         * m4/mempcpy.m4: New file.
71024
71025 2003-07-14  Simon Josefsson  <jas@extundo.com>
71026
71027         * lib/mempcpy.h: New file.
71028         * lib/mempcpy.c: New file.
71029
71030 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71031
71032         * modules/getdate, modules/posixtm: Depend on mktime.
71033
71034 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71035
71036         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
71037         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
71038         unicodeio.c, unicodeio.h, unlocked-io.h:
71039         Switch from LGPL to GPL.
71040
71041 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71042
71043         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
71044         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
71045         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
71046         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
71047         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
71048         updated automatically by ../config/srclist-update.  This changes
71049         their license from LPGL to GPL.
71050
71051 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71052
71053         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
71054         assumed to refer to the root of the most recent stable gettext version.
71055         * config/srclistvars.sh: Add defaults for eggert.
71056         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
71057         Match "This program" as well as "The program".  This is needed
71058         for gettext.
71059
71060 2003-07-14  Jim Meyering  <jim@meyering.net>
71061
71062         Don't emit diagnostics.  Let callers do that.
71063         * lib/save-cwd.c: Don't include "error.h".
71064         (save_cwd): Don't call error.  Ensure that errno is valid
71065         when returning nonzero.
71066
71067         * lib/save-cwd.h (restore_cwd): Update prototype.
71068         * lib/save-cwd.c (restore_cwd): Remove two parameters.
71069         Simplify.  Don't call error upon failure.  Let callers do that.
71070         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
71071         when auditing is enabled.  But don't bother updating the #if.
71072
71073 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
71074
71075         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
71076         it breaks C++ compilation.
71077         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
71078
71079 2003-07-10  Simon Josefsson  <jas@extundo.com>
71080
71081         * modules/strchrnul (Makefile.am): Add strchrnul.h.
71082
71083 2003-07-10  Jim Meyering  <jim@meyering.net>
71084
71085         * m4/clock_time.m4: Remove trailing blank.
71086         * m4/intmax_t.m4: Likewise.
71087
71088 2003-07-10  Jim Meyering  <jim@meyering.net>
71089
71090         * lib/vasnprintf.c: Remove trailing blanks.
71091         Make cpp indentation consistent.
71092
71093 2003-07-09  Paul Eggert  <eggert@twinsun.com>
71094
71095         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
71096         posixver.c, strftime.c, strnlen.c, strverscmp.c:
71097         Switch from LGPL to GPL.
71098
71099 2003-07-09  Paul Eggert  <eggert@twinsun.com>
71100
71101         * config/srclist.txt: Sort sublists.  Add
71102         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
71103         that differ from gnulib for one reason or another; we'd like this list
71104         to be smaller but for now let's document what we have.
71105
71106 2003-07-08  Paul Eggert  <eggert@twinsun.com>
71107
71108         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
71109         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
71110         and sweeter "eval x=$x".
71111         * config/srclist.txt: Get lib/argp* from glibc.
71112
71113 2003-07-07  Paul Eggert  <eggert@twinsun.com>
71114
71115         * lib/mktime.c: Fix some boundary cases and remove need for floating
71116         point.
71117
71118         Issue a compile-time diagnostic if time_t is floating point, or if
71119         two's complement arithmetic is not in effect, or if arithmetic
71120         right shift does not propagate the sign.  These assumptions were
71121         all in the original code but they weren't checked.
71122
71123         (TIME_T_MIDPOINT, verify): New macros.
71124         (__isleap): Remove; it has integer overflow problems.
71125         (leapyear): New function, without those problems.
71126         (ydhms_tm_diff): Remove; splitting into two parts.
71127         (ydhms_diff): New function, containing the arithmetic part of
71128         the old ydhms_tm_diff function.  Issue a compile-time
71129         diagnostic if we are not using C99 integer division.
71130         Avoid casts when possible.
71131         (guess_time_tm): New function, containing the checking part of
71132         the old ydhms_tm_diff function.  Return the new value, rather than
71133         the difference between it and the old.  Accept a new argument T
71134         so that *T specifies the old value.  Check for overflow in the result.
71135
71136         (__mktime_internal): Use a time_t offset, not a long int offset.
71137         This undoes the 2003-06-04 change, which is no longer needed now
71138         that we have better overflow checking.
71139         (localtime_offset): Likewise.
71140
71141         (__mktime_internal): Avoid harmful overflow on hosts where time_t
71142         and long are 64-bit but int is only 32-bit.
71143         (ydhms_diff): Use long int to store year1 and yday1.
71144         Issue a compile-time diagnostic if long int is not wide enough.
71145
71146         (__mktime_internal): Use long int to store adjusted year and yday.
71147         Use plain C rather than preprocessor commands, if that doesn't
71148         affect efficiency.
71149         Check for overflow (and try to repair) after each probe
71150         rather than checking only at the very end.  This avoids some bugs
71151         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
71152         does not equal GMT offset at maximum time).
71153         Use integer to check for overflow rather than floating point; this
71154         is more portable to non-IEEE hosts, and is a tad faster.
71155         When we detect that we are oscillating between two values,
71156         don't check whether tm_isdst has the requested value, since
71157         we already know the answer.  When tm_isdst has the wrong value,
71158         use a different heuristic to find the right one, based on the
71159         extreme values actually observed in practice in tz2003a,
71160         rather than the (overly optimistic) "previous 3 calendar quarters".
71161
71162         (not_equal_tm, print_tm, check_result): Use "const T" rather than
71163         "T const" to accommodate glibc style.
71164         (check_result): Use less-confusing report format.  "long" -> "long int.
71165         (main): Likewise.
71166         Don't loop if the iteration overflows time_t.
71167         Allow a negative step in the iteration.
71168
71169 2003-07-06  Karl Berry  <karl@gnu.org>
71170
71171         * config/depcomp: update from automake.
71172         * config/config.sub: update from prep.
71173
71174 2003-07-03  Karl Berry  <karl@gnu.org>
71175
71176         * config/config.guess: update from prep.
71177
71178 2003-07-01  Paul Eggert  <eggert@twinsun.com>
71179
71180         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
71181         xreadlink.c now includes it unconditionally.
71182
71183 2003-07-01  Paul Eggert  <eggert@twinsun.com>
71184
71185         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
71186         having it depend on HAVE_SYS_TYPES_H.
71187
71188 2003-07-01  Bruno Haible  <bruno@clisp.org>
71189
71190         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
71191         <sys/types.h> should be sufficient.
71192         Reported by Paul Eggert.
71193
71194 2003-06-26  Karl Berry  <karl@gnu.org>
71195
71196         * config/depcomp: update from automake.
71197
71198 2003-06-26  Bruno Haible  <bruno@clisp.org>
71199
71200         * modules/human: Depend on module stdbool.
71201
71202 2003-06-25  Bruno Haible  <bruno@clisp.org>
71203
71204         * modules/readlink: New file.
71205         * modules/xreadlink: Depend on it.
71206         * MODULES.html.sh (func_all_modules): Add readlink.
71207
71208 2003-06-25  Bruno Haible  <bruno@clisp.org>
71209
71210         * m4/readlink.m4: New file.
71211
71212 2003-06-25  Bruno Haible  <bruno@clisp.org>
71213
71214         * lib/readlink.c: New file.
71215
71216 2003-06-22  Karl Berry  <karl@gnu.org>
71217
71218         * config/srclist.txt: update mkinstalldirs from automake.
71219         * config/mkinstalldirs: update.
71220
71221 2003-06-22  Bruno Haible  <bruno@clisp.org>
71222
71223         Portability to mingw32.
71224         * m4/ssize_t.m4: New file, from GNU gettext.
71225         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
71226         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
71227
71228 2003-06-22  Bruno Haible  <bruno@clisp.org>
71229
71230         * modules/safe-read: Add m4/ssize_t.m4.
71231         * modules/xreadlink: Add m4/ssize_t.m4.
71232
71233 2003-06-20  Bruno Haible  <bruno@clisp.org>
71234
71235         Assume C89, so PARAMS isn't needed.
71236         * lib/unicodeio.h (PARAMS): Remove.
71237         * lib/unicodeio.c: Don't use PARAMS.
71238
71239 2003-06-18  Karl Berry  <karl@gnu.org>
71240
71241         * config/config.{guess,sub}: update from prep.
71242
71243 2003-06-18  Jim Meyering  <jim@meyering.net>
71244
71245         Merge changes from coreutils.
71246         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
71247         Remove explicit declarations of xmalloc and realloc.
71248         Include xalloc.h.
71249         (read_utmp): Remove anachronistic cast of xmalloc.
71250
71251 2003-06-17  Paul Eggert  <eggert@twinsun.com>
71252
71253         Assume C89, so PARAMS isn't needed.
71254         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
71255         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
71256         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
71257         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
71258         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
71259         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
71260         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
71261         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
71262         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
71263         lib/xstrtod.h, lib/xstrtol.h: Likewise.
71264         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
71265         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
71266         no longer needed. Anyway, config.h should always be included before any
71267         other file.
71268
71269 2003-06-11  Simon Josefsson  <jas@extundo.com>
71270
71271         * modules/sysexits: New file.
71272         * MODULES.html.sh (func_all_modules): Add sysexits.
71273
71274 2003-06-11  Simon Josefsson  <jas@extundo.com>
71275
71276         * lib/sysexit_.h: New file.
71277
71278 2003-06-11  Derek Price  <derek@ximbiot.com>
71279
71280         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
71281         necessary.
71282
71283 2003-06-11  Bruno Haible  <bruno@clisp.org>
71284
71285         * m4/sysexits.m4: New file.
71286
71287 2003-06-10  Simon Josefsson  <jas@extundo.com>
71288
71289         * lib/argp.h: New file, from glibc.
71290         * lib/argp-ba.c: New file, from glibc.
71291         * lib/argp-eexst.c: New file, from glibc.
71292         * lib/argp-fmtstream.c: New file, from glibc.
71293         * lib/argp-fmtstream.h: New file, from glibc.
71294         * lib/argp-fs-xinl.c: New file, from glibc.
71295         * lib/argp-help.c: New file, from glibc.
71296         * lib/argp-namefrob.h: New file, from glibc.
71297         * lib/argp-parse.c: New file, from glibc.
71298         * lib/argp-pv.c: New file, from glibc.
71299         * lib/argp-pvh.c: New file, from glibc.
71300         * lib/argp-xinl.c: New file, from glibc.
71301
71302 2003-06-10  Simon Josefsson  <jas@extundo.com>
71303
71304         * modules/strchrnul: New file.
71305
71306 2003-06-10  Simon Josefsson  <jas@extundo.com>
71307
71308         * modules/argp: New file.
71309
71310 2003-06-10  Simon Josefsson  <jas@extundo.com>
71311
71312         * m4/strchrnul.m4: New file.
71313
71314 2003-06-10  Simon Josefsson  <jas@extundo.com>
71315
71316         * lib/strchrnul.h: New file.
71317         * lib/strchrnul.c: New file.
71318
71319 2003-06-10  Bruno Haible  <bruno@clisp.org>
71320
71321         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
71322
71323 2003-06-07  Karl Berry  <karl@gnu.org>
71324
71325         * config/config.{guess,sub}: update from prep.
71326
71327 2003-06-07  Jim Meyering  <jim@meyering.net>
71328
71329         * modules/strtod: Use $(...) notation, not @...@ for
71330         AC_REPLACE'd variables.
71331         * modules/localcharset: Likewise.
71332
71333 2003-06-07  Jim Meyering  <jim@meyering.net>
71334
71335         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
71336         in place of my name in the copyright comment.
71337         Remove definition and uses of __P.
71338
71339         From coreutils.
71340         * lib/stat.c: Don't declare xmalloc explicitly.
71341         Instead, include "xalloc.h".
71342         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
71343         xrealloc, and xcalloc return values.
71344         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
71345         Improve comment.
71346         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
71347
71348 2003-06-07  Bruno Haible  <bruno@clisp.org>
71349
71350         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
71351         avoid AC_CONFIG_LINKS.
71352         * modules/fnmatch (Makefile.am): Use explicit creation rule for
71353         fnmatch.h, to avoid AC_CONFIG_LINKS.
71354         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
71355
71356 2003-06-07  Bruno Haible  <bruno@clisp.org>
71357
71358         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
71359         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
71360         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
71361         directory.
71362         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
71363         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
71364         directory.
71365
71366 2003-06-06  Jim Meyering  <jim@meyering.net>
71367
71368         Merge from coreutils.
71369         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
71370         Consolidate declarations and initializations of *_base* locals.
71371
71372         Merge from coreutils.
71373         This avoids a core dump on systems without GNU putenv,
71374         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
71375         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
71376         (unsetenv): New static function, from GNU libc.
71377         (rpl_putenv): Use it.
71378
71379         * lib/modechange.c: Remove trailing blanks.
71380
71381         Merge from coreutils.
71382         * lib/fsusage.c: Remove declaration of statfs.
71383         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
71384
71385         * lib/posixtm.c: Include <stdbool.h> unconditionally.
71386
71387 2003-06-06  Jim Meyering  <jim@meyering.net>
71388
71389         * lib/stdbool_.h: Renamed from stdbool.h.in.
71390
71391 2003-06-06  Jim Meyering  <jim@meyering.net>
71392             Bruno Haible  <bruno@clisp.org>
71393
71394         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
71395         Adjust Makefile.am snippet not to redirect directly to target.
71396         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
71397
71398 2003-06-05  Paul Eggert  <eggert@twinsun.com>
71399
71400         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
71401         mismatch, look in future quarters as well as past.  This fixes a
71402         bug when processing fall-backwards gaps immediately after a long
71403         period of daylight-saving time.
71404
71405         * lib/mktime.c: Assume freestanding C89 or better.
71406         (HAVE_LIMITS_H): Remove.  Assume it's 1.
71407         (__P): Remove; not used.
71408         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
71409         (mktime, not_equal_tm, print_tm, check_result,
71410         main): Use prototypes.  Use const * where appropriate.
71411         (main): Fix typo in testing code that uncovered by above changes.
71412         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
71413
71414 2003-06-04  Paul Eggert  <eggert@twinsun.com>
71415
71416         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
71417         locale.h, localeconv.  This merges changes from coreutils.
71418
71419         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
71420         It can be removed after the next Autoconf is released.
71421         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
71422         needed.
71423
71424 2003-06-04  Paul Eggert  <eggert@twinsun.com>
71425
71426         * lib/mktime.c: Fix Debian bug 177940
71427         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
71428         (localtime_offset): Now long int, not time_t, because we want it
71429         to be guaranteed to be signed.  All uses changed.
71430         (__mktime_internal): If overflow would occur when adding offset,
71431         don't add it.
71432
71433         Merge 'human' changes from coreutils.  Rewrite to support
71434         locale-specific notations like thousands separators.
71435         * lib/human.c: Simplify authorship notice.
71436         Include human.h immediately after config.h.
71437         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
71438         <limits.h>: Do not include, since human.h does.
71439         (SIZE_MAX, UINTMAX_MAX): New macros.
71440         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
71441         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
71442         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
71443         (power_letter): Renamed from suffixes.
71444         (generate_suffix_backwards): Remove.
71445         (adjust_value): Now takes int style (because of human.h changes)
71446         and long double value (for greater precision on some platforms).
71447         (group_number): New function.
71448         (human_readable): Use it.  Use integer options, not enum.
71449         Put the options before the sizes in the arg list.
71450         Support all the new options.
71451         The old human_readable function has been removed;
71452         use inttostr.h instead.
71453         (human_readable, default_block_size, humblock):
71454         Use uintmax_t, not int, for block sizes.
71455         (human_readable_inexact, block_size_types): Remove.
71456         (block_size_opts): New constant.
71457         (human_options): Renamed from human_block_size, with new signature
71458         that allows block sizes up to UINTMAX_MAX.  All callers changed.
71459         * lib/human.h: Add copyright and authorship notice.
71460         Include <limits.h> and <stdbool.h> unconditionally.
71461         (PARAMS): Remove.  All uses removed.
71462         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
71463         (enum human_inexact_style): Remove tag; now a nameless enum.
71464         (human_floor, human_ceiling, human_round_to_even): Now have
71465         values 2, 0, 1 rather than -1, 1, 0.
71466         (human_group_digits, human_suppress_point_zero, human_autoscale,
71467         human_base_1024, human_SI, human_B): New constants.
71468         (human_readable_inexact, human_block_size): Remove.
71469         (human_readable): Size args are now uintmax_t, not int.
71470         (human_options): New decl.
71471
71472         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
71473         unnecessary now that we assume C89 or better.  This change
71474         imported from coreutils.
71475
71476         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
71477         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
71478         in the 2003-05-30 sync from glibc.
71479
71480         .h files should stand alone, but we shouldn't include <sys/types.h>
71481         if we can get away with just <stddef.h>.
71482
71483         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
71484         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
71485         rather than <sys/types.h>, as we merely need size_t.
71486         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
71487         to get size_t.
71488         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
71489         Include <stdio.h>, to get FILE.
71490         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
71491         memcasecmp.h has included <stddef.h> and all we need is size_t.
71492         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
71493         our interface, instead of including <sys/types.h>
71494
71495 2003-06-04  Paul Eggert  <eggert@twinsun.com>
71496
71497         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
71498         now, as glibc mktime is buggy on non-glibc systems.
71499
71500 2003-06-03  Karl Berry  <karl@gnu.org>
71501
71502         * config/config.sub: update from prep.
71503
71504 2003-06-02  Paul Eggert  <eggert@twinsun.com>
71505
71506         [from coreutils]
71507         Fix some minor time-related bugs with POSIX time arguments.
71508         Some valid time stamps were being rejected (notably -1, and
71509         time stamps before 1900 on 64-bit hosts).  And some invalid
71510         time stamps were being accepted, e.g. September 31.
71511
71512         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
71513         that we can return (time_t) -1 successfully.
71514         * lib/posixtm.c: Likewise.
71515         [HAVE_STDBOOL_H]: Include <stdbool.h>.
71516         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
71517         (t): Remove static var.
71518         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
71519         of static var.  All uses changed.
71520         (year): Do not reject years before 1900; they can occur with
71521         64-bit time_t.
71522         (posix_time_parse): Do not check for out-of-range components;
71523         that is now the caller's responsibility, since our checks were
71524         only approximations.
71525         (posixtime): Use mktime to check for out-of-range components,
71526         since it knows them exactly.
71527         If mktime returns (time_t) -1, check whether an error actually occurred
71528         by invoking localtime on -1.
71529         (main) [TEST_POSIXTIME]: Check for input data errors, and report
71530         posixtime failures better.
71531         Improve the test data (in comments only).
71532
71533 2003-06-02  Karl Berry  <karl@gnu.org>
71534
71535         * config/mkinstalldirs (version): new variable.
71536         (--version): new option.
71537         (usage): improve message.
71538
71539 2003-05-30  Karl Berry  <karl@gnu.org>
71540
71541         * lib/mktime.c: update from libc.
71542
71543 2003-05-30  Bruno Haible  <bruno@clisp.org>
71544
71545         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
71546         * config/config.rpath: Upgrade to gettext-0.12.1.
71547
71548 2003-05-30  Bruno Haible  <bruno@clisp.org>
71549
71550         * m4/gettext.m4: Upgrade to gettext-0.12.1.
71551         * m4/nls.m4: New file, from gettext-0.12.1.
71552         * m4/po.m4: New file, from gettext-0.12.1.
71553         * m4/progtest.m4: Upgrade to gettext-0.12.1.
71554
71555 2003-05-30  Bruno Haible  <bruno@clisp.org>
71556
71557         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
71558         * lib/localcharset.h: Likewise.
71559         * lib/localcharset.c: Likewise.
71560
71561 2003-05-29  Karl Berry  <karl@gnu.org>
71562
71563         * config/config.rpath: update from gettext.
71564
71565 2003-05-28  Paul Eggert  <eggert@twinsun.com>
71566
71567         Assume the headers required for C89 freestanding compilers.
71568         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
71569         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
71570         * m4/human.m4 (gl_HUMAN): Likewise.
71571         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
71572         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
71573         * m4/userspec.m4 (gl_USERSPEC): Likewise.
71574         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
71575         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
71576         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
71577
71578 2003-05-28  Paul Eggert  <eggert@twinsun.com>
71579
71580         Assume the headers required for C89 freestanding compilers.
71581         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
71582         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
71583         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
71584         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
71585         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
71586         define, since <limits.h> is guaranteed to do that.
71587         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
71588         * lib/exclude.c: Include <stdbool.h> unconditionally.
71589         * lib/tempname.c: Include <stddef.h> unconditionally.
71590         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
71591         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
71592         <stddef.h> does that.
71593         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
71594         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
71595         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
71596         needed.
71597         * lib/xstrtol.c: Likewise.
71598         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
71599         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
71600
71601         * lib/addext.c (addext): Use assignment rather than cast, to avoid
71602         warnings on some platforms.
71603
71604         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
71605         arbitrarily.
71606
71607 2003-05-26  Jim Meyering  <jim@meyering.net>
71608
71609         Merge in a change from coreutils:
71610         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
71611         that is guaranteed to be `no'.  Use `no_such_member' to indicate
71612         that condition, rather than `-1' which is slightly misleading.
71613         Change the name of the cache variable to have the gl_ prefix.
71614         Prompted by a patch from Richard Dawe for DJGPP.
71615
71616 2003-05-24  Karl Berry  <karl@gnu.org>
71617
71618         * config/config.guess: update from prep.
71619
71620 2003-05-22  Karl Berry  <karl@gnu.org>
71621
71622         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
71623
71624 2003-05-20  Karl Berry  <karl@gnu.org>
71625
71626         * config/config.guess: update from prep.
71627
71628 2003-05-18  Karl Berry  <karl@gnu.org>
71629
71630         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
71631         might actually be set by the user.
71632
71633         * config/depcomp, install-sh, mdate-sh: update from automake.
71634
71635 2003-05-17  Bruno Haible  <bruno@clisp.org>
71636
71637         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
71638         invalid expansion for AC_EGREP_CPP.
71639         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
71640         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
71641         Suggested by Akim Demaille <akim@epita.fr> in
71642         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
71643
71644 2003-05-12  Jim Meyering  <jim@meyering.net>
71645
71646         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
71647         the space-padded-by-default conversion specifiers, %e, %k, %l.
71648
71649 2003-05-12  Bruno Haible  <bruno@clisp.org>
71650
71651         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
71652         the string is longer than 4 KB.
71653
71654 2003-05-11  Karl Berry  <karl@gnu.org>
71655
71656         * config/config.{guess,sub}: update from prep.
71657
71658 2003-05-09  Bruno Haible  <bruno@clisp.org>
71659
71660         * modules/error: Add m4/strerror_r.m4 to file list.
71661
71662 2003-05-03  Bruno Haible  <bruno@clisp.org>
71663
71664         Upgrade to Unicode-4.0.
71665         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
71666         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
71667         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
71668         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
71669         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
71670         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
71671         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
71672         Change width of U+E0100..U+E01EF from 1 to 0.
71673
71674 2003-04-25  Jim Meyering  <jim@meyering.net>
71675
71676         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
71677         of type size_t, not int.
71678
71679 2003-04-25  Bruno Haible  <bruno@clisp.org>
71680
71681         * lib/copy-file.c: Include <stddef.h>, for size_t.
71682
71683 2003-04-21  Paul Eggert  <eggert@twinsun.com>
71684
71685         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
71686         code which expansion is under static control.  Patch imported from
71687         Akim Demaille's patch to Bison; see
71688         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
71689
71690 2003-04-14  Bruno Haible  <bruno@clisp.org>
71691
71692         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
71693
71694 2003-04-11  Jim Meyering  <jim@meyering.net>
71695
71696         Merge changes from Coreutils.
71697
71698         2003-03-22  Jim Meyering  <jim@meyering.net>
71699
71700         * lib/strftime.c (widen): Cast alloca return value to proper type.
71701
71702         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
71703
71704         From GNU libc.
71705         * lib/strftime.c (my_strftime): Handle very large width
71706         specifications for numeric values correctly.  Improve checks for
71707         overflow.
71708
71709         2003-01-19  Jim Meyering  <jim@meyering.net>
71710
71711         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
71712         definitions.
71713         (nl_get_alt_digit) [! defined my_strftime]: Define.
71714         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
71715         _nl_get_alt_digit and _nl_get_walt_digit.
71716
71717         * lib/strftime.c (my_strftime): Merge in locale-related changes from
71718         libc. These changes have no effect outside of _LIBC.
71719
71720 2003-04-10  Bruno Haible  <bruno@clisp.org>
71721
71722         * modules/findprog: New file.
71723         * MODULES.html.sh (func_all_modules): Add it.
71724
71725 2003-04-10  Bruno Haible  <bruno@clisp.org>
71726
71727         * m4/findprog.m4: New file.
71728         * m4/eaccess.m4: New file.
71729
71730 2003-04-10  Bruno Haible  <bruno@clisp.org>
71731
71732         * lib/findprog.h: New file, from GNU gettext.
71733         * lib/findprog.c: New file, from GNU gettext.
71734
71735 2003-04-05  Jim Meyering  <jim@meyering.net>
71736
71737         Merge changes from Coreutils.
71738
71739         * lib/exclude.h (PARAMS): Remove definition and uses.
71740         * lib/exclude.c: Remove uses of `PARAMS'.
71741
71742         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
71743         Add test-cases for DOS filenames. Declare program_name.
71744         (main): Set up program_name.  Patch by Rich Dawe.
71745
71746         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
71747         error from mntctl.
71748         Use mntctl's return value to drive the entry-processing loop, since
71749         we can't rely on the value of the vmt_length member in the last
71750         entry.  On some systems doing so could result in exhausting
71751         virtual memory.  Based in part on a patch from Mike Jetzer.
71752
71753 2003-04-04  Bruno Haible  <bruno@clisp.org>
71754
71755         * modules/linebreak: New file.
71756         * MODULES.html.sh (func_all_modules): Add it.
71757
71758 2003-04-04  Bruno Haible  <bruno@clisp.org>
71759
71760         * m4/linebreak.m4: New file.
71761
71762 2003-04-04  Bruno Haible  <bruno@clisp.org>
71763
71764         * lib/linebreak.h: New file, from GNU gettext.
71765         * lib/linebreak.c: New file, from GNU gettext with slight
71766         modifications.
71767         * lib/lbrkprop.h: New file, from GNU gettext.
71768
71769 2003-04-03  Bruno Haible  <bruno@clisp.org>
71770
71771         * modules/utf8-ucs4: New file.
71772         * modules/utf16-ucs4: New file.
71773         * modules/ucs4-utf8: New file.
71774         * modules/ucs4-utf16: New file.
71775         * MODULES.html.sh (func_all_modules): Add them.
71776
71777 2003-04-03  Bruno Haible  <bruno@clisp.org>
71778
71779         * m4/utf-ucs4.m4: New file.
71780         * m4/ucs4-utf.m4: New file.
71781
71782 2003-04-03  Bruno Haible  <bruno@clisp.org>
71783
71784         * lib/utf8-ucs4.h: New file, from GNU gettext.
71785         * lib/utf16-ucs4.h: New file, from GNU gettext.
71786         * lib/ucs4-utf8.h: New file, from GNU gettext.
71787         * lib/ucs4-utf16.h: New file, from GNU gettext.
71788
71789 2003-04-02  Bruno Haible  <bruno@clisp.org>
71790
71791         * modules/binary-io: New file.
71792         * MODULES.html.sh (func_all_modules): Add it.
71793
71794 2003-04-02  Bruno Haible  <bruno@clisp.org>
71795
71796         * lib/binary-io.h: New file, from GNU gettext.
71797
71798 2003-04-01  Bruno Haible  <bruno@clisp.org>
71799
71800         * modules/pathname: New file.
71801         * MODULES.html.sh (func_all_modules): Add it.
71802
71803 2003-04-01  Bruno Haible  <bruno@clisp.org>
71804
71805         * lib/pathname.h: New file, from GNU gettext.
71806         * lib/concatpath.c: New file, from GNU gettext.
71807
71808 2003-03-30  Bruno Haible  <bruno@clisp.org>
71809
71810         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
71811
71812 2003-03-30  Bruno Haible  <bruno@clisp.org>
71813
71814         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
71815         function chown() doesn't exist.
71816
71817 2003-03-28  Bruno Haible  <bruno@clisp.org>
71818
71819         * modules/copy-file: New file.
71820         * MODULES.html.sh (func_all_modules): Add it.
71821
71822 2003-03-28  Bruno Haible  <bruno@clisp.org>
71823
71824         * m4/copy-file.m4: New file.
71825
71826 2003-03-28  Bruno Haible  <bruno@clisp.org>
71827
71828         * lib/copy-file.h: New file, from GNU gettext.
71829         * lib/copy-file.c: New file, from GNU gettext.
71830
71831 2003-03-18  Jim Meyering  <jim@meyering.net>
71832
71833         * lib/quote.c (quote_n): Fix typo in comment.
71834
71835 2003-03-18  Bruno Haible  <bruno@clisp.org>
71836
71837         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
71838         checking.
71839         * m4/onceonly_2_57.m4: Likewise.
71840
71841 2003-03-17  Bruno Haible  <bruno@clisp.org>
71842
71843         * m4/onceonly.m4: Require autoconf 2.54 or newer.
71844         (m4_quote): Remove macro.
71845         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
71846
71847 2003-03-14  Jim Meyering  <jim@meyering.net>
71848
71849         Merge changes from Coreutils.
71850         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
71851         to be const, in order to avoid warnings.
71852         (obstack_room): Likewise.
71853         (obstack_empty_p): Likewise.
71854
71855 2003-03-14  Bruno Haible  <bruno@clisp.org>
71856
71857         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
71858         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
71859
71860 2003-03-13  Paul Eggert  <eggert@twinsun.com>
71861
71862         Merge changes from Bison.
71863         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
71864         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
71865         when compiling Bison 1.875's `bitset bset = obstack_alloc
71866         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
71867         * lib/hash.c: Include <stdbool.h> unconditionally.
71868
71869 2003-03-13  Paul Eggert  <eggert@twinsun.com>
71870
71871         * m4/onceonly.m4 (m4_quote): New macro.
71872         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
71873         Quote AC_FOREACH variable-expansions properly.
71874
71875 2003-03-13  Paul Eggert  <eggert@twinsun.com>
71876
71877         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
71878
71879 2003-03-09  Paul Eggert  <eggert@twinsun.com>
71880
71881         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
71882         Reported by Bruce Becker; see:
71883         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
71884
71885 2003-03-03  Paul Eggert  <eggert@twinsun.com>
71886             Bruno Haible  <bruno@clisp.org>
71887
71888         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
71889         Reported by John Hughes, see
71890         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
71891
71892 2003-02-20  Bruno Haible  <bruno@clisp.org>
71893
71894         * MODULES.html.sh (func_all_modules): Add poll.
71895
71896 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
71897
71898         * modules/poll: New file.
71899
71900 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
71901
71902         * lib/poll_.h: New file.
71903         * lib/poll.c: New file.
71904
71905 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
71906
71907         * m4/poll.m4: New file.
71908
71909 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
71910
71911         * modules/mathl: New file.
71912
71913 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
71914
71915         * lib/mathl.h: New file.
71916         * lib/acosl.c: New file.
71917         * lib/asinl.c: New file.
71918         * lib/atanl.c: New file.
71919         * lib/ceill.c: New file.
71920         * lib/cosl.c: New file.
71921         * lib/expl.c: New file.
71922         * lib/floorl.c: New file.
71923         * lib/frexpl.c: New file.
71924         * lib/ldexpl.c: New file.
71925         * lib/logl.c: New file.
71926         * lib/sincosl.c: New file.
71927         * lib/sinl.c: New file.
71928         * lib/sqrtl.c: New file.
71929         * lib/tanl.c: New file.
71930         * lib/trigl.c: New file.
71931         * lib/trigl.h: New file.
71932
71933 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
71934
71935         * m4/mathl.m4: New file.
71936
71937 2003-02-18  Bruno Haible  <bruno@clisp.org>
71938
71939         * MODULES.html.sh (func_all_modules): Add mathl.
71940
71941 2003-02-17  Bruno Haible  <bruno@clisp.org>
71942
71943         * modules/mkdtemp: New module.
71944         * MODULES.html.sh (func_all_modules): Add it.
71945
71946 2003-02-17  Bruno Haible  <bruno@clisp.org>
71947
71948         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
71949
71950 2003-02-17  Bruno Haible  <bruno@clisp.org>
71951
71952         * lib/mkdtemp.h: New file, from GNU gettext.
71953         * lib/mkdtemp.c: New file, from GNU gettext.
71954
71955 2003-02-02  Jim Meyering  <jim@meyering.net>
71956
71957         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
71958         e.g. glibc-2.2.93.
71959
71960 2003-01-31  Bruno Haible  <bruno@clisp.org>
71961
71962         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
71963         'rpl_rename'.
71964         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
71965         'rpl_strnlen'.
71966         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
71967         'rpl_strtod'.
71968         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
71969         'rpl_utime'.
71970
71971 2003-01-31  Bruno Haible  <bruno@clisp.org>
71972
71973         * lib/rename.c: #undef rename before defining rpl_rename.
71974         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
71975
71976 2003-01-30  Bruno Haible  <bruno@clisp.org>
71977
71978         * modules/vasnprintf, modules/vasprintf: New modules.
71979         * MODULES.html.sh (func_all_modules): Add them.
71980
71981 2003-01-30  Bruno Haible  <bruno@clisp.org>
71982
71983         * m4/signed.m4: New file, from GNU gettext.
71984         * m4/longdouble.m4: New file, from GNU gettext.
71985         * m4/wchar_t.m4: New file, from GNU gettext.
71986         * m4/wint_t.m4: New file, from GNU gettext.
71987         * m4/vasnprintf.m4: New file.
71988         * m4/vasprintf.m4: New file.
71989
71990 2003-01-30  Bruno Haible  <bruno@clisp.org>
71991
71992         * lib/printf-args.h: New file, from GNU gettext.
71993         * lib/printf-args.c: New file, from GNU gettext.
71994         * lib/printf-parse.h: New file, from GNU gettext.
71995         * lib/printf-parse.c: New file, from GNU gettext.
71996         * lib/vasnprintf.h: New file, from GNU gettext.
71997         * lib/vasnprintf.c: New file, from GNU gettext.
71998         * lib/asnprintf.c: New file, from GNU gettext.
71999         * lib/vasprintf.h: New file, from GNU gettext with modifications.
72000         * lib/vasprintf.c: New file, from GNU gettext.
72001         * lib/asprintf.c: New file, from GNU gettext.
72002
72003 2003-01-29  Bruno Haible  <bruno@clisp.org>
72004
72005         * modules/stpncpy: New module.
72006         * MODULES.html.sh (func_all_modules): Add it.
72007
72008 2003-01-29  Bruno Haible  <bruno@clisp.org>
72009
72010         * m4/stpncpy.m4: New file.
72011
72012 2003-01-29  Bruno Haible  <bruno@clisp.org>
72013
72014         * lib/stpncpy.h: New file, from GNU gettext with modifications.
72015         * lib/stpncpy.c: New file, from GNU gettext with modifications.
72016
72017 2003-01-28  Bruno Haible  <bruno@clisp.org>
72018
72019         * modules/c-ctype: New module.
72020         * MODULES.html.sh (func_all_modules): Add it.
72021
72022 2003-01-28  Bruno Haible  <bruno@clisp.org>
72023
72024         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
72025         Paul Eggert.
72026         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
72027         Paul Eggert.
72028
72029 2003-01-27  Bruno Haible  <bruno@clisp.org>
72030
72031         * modules/xsetenv: New module.
72032         * MODULES.html.sh (func_all_modules): Add it.
72033
72034 2003-01-27  Bruno Haible  <bruno@clisp.org>
72035
72036         * lib/xsetenv.h: New file, from GNU gettext.
72037         * lib/xsetenv.c: New file, from GNU gettext.
72038
72039 2003-01-23  Jim Meyering  <jim@meyering.net>
72040
72041         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
72042         from working on systems without dirfd (at least Irix and OSF1/Tru64).
72043
72044 2003-01-23  Bruno Haible  <bruno@clisp.org>
72045
72046         * modules/minmax: New module.
72047         * MODULES.html.sh (func_all_modules): Add it.
72048
72049 2003-01-23  Bruno Haible  <bruno@clisp.org>
72050
72051         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
72052         Eggert.
72053
72054 2003-01-22  Bruno Haible  <bruno@clisp.org>
72055
72056         * modules/exit: New module.
72057         * MODULES.html.sh (func_all_modules): Add it.
72058
72059 2003-01-22  Bruno Haible  <bruno@clisp.org>
72060
72061         * lib/exit.h: New file, from GNU gettext.
72062
72063 2003-01-19  Bruno Haible  <bruno@clisp.org>
72064
72065         * gnulib-tool: Recognize option --extract-maintainer.
72066         (func_get_maintainer): New function.
72067         * modules/*: Add Maintainer entry.
72068
72069 2003-01-16  Jim Meyering  <jim@meyering.net>
72070
72071         * m4/regex.m4: The `regex' struct is both input and output.
72072         Initialize it before each use.  Patch by Tim Waugh.
72073
72074 2003-01-16  Bruno Haible  <bruno@clisp.org>
72075
72076         * MODULES.html.sh: Add a table of contents. Add the module name as
72077         leftmost column. Add hyperlinks.
72078
72079 2003-01-15  Bruno Haible  <bruno@clisp.org>
72080
72081         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
72082
72083 2003-01-15  Bruno Haible  <bruno@clisp.org>
72084
72085         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
72086         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
72087         suffix.
72088
72089 2003-01-15  Bruno Haible  <bruno@clisp.org>
72090
72091         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
72092
72093 2003-01-15  Bruno Haible  <bruno@clisp.org>
72094
72095         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
72096         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
72097
72098 2003-01-14  Jim Meyering  <jim@meyering.net>
72099
72100         * lib/same.c (same_name): Tweak a comment.
72101
72102 2003-01-14  Bruno Haible  <bruno@clisp.org>
72103
72104         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
72105         when a string comparison is sufficient.
72106
72107 2003-01-14  Bruno Haible  <bruno@clisp.org>
72108
72109         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
72110         'unsigned int'.
72111
72112 2003-01-14  Bruno Haible  <bruno@clisp.org>
72113
72114         * lib/hash-pjw.c: Add comment about low quality of this function.
72115
72116 2003-01-13  Bruno Haible  <bruno@clisp.org>
72117
72118         * modules/stpcpy: Distribute lib/stpcpy.h.
72119         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
72120
72121 2003-01-13  Bruno Haible  <bruno@clisp.org>
72122
72123         * modules/*: Add a description.
72124         * modules/strpbrk: Fix Makefile.am snippet.
72125         * modules/strtoimax: Fix dependencies.
72126         * modules/strtoumax: Likewise.
72127
72128 2003-01-13  Bruno Haible  <bruno@clisp.org>
72129
72130         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
72131         * modules/alloca (Makefile.am): All object files depend on alloca.h.
72132         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
72133
72134 2003-01-13  Bruno Haible  <bruno@clisp.org>
72135
72136         * gnulib-tool (func_create_testdir): Store config/* files in the main
72137         directory.
72138         * config.rpath: Move to ...
72139         * config/config.rpath: ... here.
72140         * modules/gettext: Contains config/config.rpath, not config.rpath.
72141         * modules/iconv: Likewise.
72142
72143 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72144
72145         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72146         to avoid collisions with libcurses and libreadline.
72147
72148         * m4/getstr.m4: Remove.
72149         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
72150
72151 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72152
72153         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72154         to avoid collisions with libcurses and libreadline.
72155
72156         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
72157         * lib/getstr.h, getstr.c: Remove.
72158         * lib/getline.c: Include "getline.h", to check interface.
72159         Move body of old getstr.c here: this defines MIN_CHUNK and
72160         declares getdelim2, which is renamed from getstr.
72161         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
72162
72163         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
72164         All uses changed.
72165         * lib/linebuffer.h: Likewise.
72166         (readline): Remove backward-compatibility macro.
72167
72168 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72169
72170         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72171         to avoid collisions with libcurses and libreadline.
72172         * getstr: Remove.
72173         * MODULES.html.sh: Remove getstr.
72174         * modules/getline: Depend on unlocked-io, not getstr.
72175
72176 2003-01-12  Jim Meyering  <jim@meyering.net>
72177
72178         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
72179
72180 2003-01-10  Bruno Haible  <bruno@clisp.org>
72181
72182         * modules/alloca: Change Makefile.am requirements. Simplify Include
72183         requirements. Add lib/alloca_.h to file list.
72184
72185 2003-01-10  Bruno Haible  <bruno@clisp.org>
72186
72187         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
72188
72189 2003-01-10  Bruno Haible  <bruno@clisp.org>
72190
72191         * lib/alloca_.h: New file.
72192         * lib/getdate.y: Unconditionally include alloca.h.
72193         * lib/makepath.c: Likewise.
72194         * lib/setenv.c: Likewise.
72195         * lib/userspec.c: Likewise.
72196
72197 2003-01-09  Karl Berry  <karl@gnu.org>
72198
72199         * MODULES.html.sh: include `dirname $0` in PATH, to find
72200         gnulib-tool.
72201
72202 2003-01-09  Bruno Haible  <bruno@clisp.org>
72203
72204         * modules/stdbool: Change configure.ac, Makefile.am requirements.
72205         Simplify Include requirements. Add lib/stdbool.h.in to file list.
72206
72207 2003-01-09  Bruno Haible  <bruno@clisp.org>
72208
72209         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
72210
72211 2003-01-09  Bruno Haible  <bruno@clisp.org>
72212
72213         * lib/stdbool.h.in: New file.
72214
72215 2003-01-09  Bruno Haible  <bruno@clisp.org>
72216
72217         * gnulib-tool (func_all_modules): Ignore files ending in ~.
72218         * MODULES.html.sh: Likewise.
72219
72220 2003-01-08  Jim Meyering  <jim@meyering.net>
72221
72222         * lib/full-write.c: Undefine and define-away `const' after inclusion
72223         of errno.h, not before.  Suggestion from Bruno Haible.
72224
72225 2003-01-08  Bruno Haible  <bruno@clisp.org>
72226
72227         * modules/full-read: Depend on full-write.
72228
72229 2003-01-08  Bruno Haible  <bruno@clisp.org>
72230
72231         * lib/safe-read.c: Include specification header first, to ensure its
72232         selfcontainedness.
72233         * lib/full-write.c: Likewise.
72234
72235 2003-01-07  Jim Meyering  <jim@meyering.net>
72236
72237         * lib/full-write.c: Rework so that it may serve to define full_read,
72238         too.
72239         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
72240
72241 2003-01-07  Bruno Haible  <bruno@clisp.org>
72242
72243         * lib/strtoimax.c: Include <stdint.h> as an alternative to
72244         <inttypes.h>.
72245         * lib/xstrtol.h: Likewise.
72246         * lib/xstrtoimax.c: Likewise.
72247         * lib/xstrtoumax.c: Likewise.
72248         * lib/human.h: Likewise.
72249
72250         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
72251         on systems that have <inttypes.h> but not <stdint.h>.
72252
72253 2003-01-07  Bruno Haible  <bruno@clisp.org>
72254
72255         * MODULES.html.sh: Add copyright notice.
72256         (missed_files): Omit CVS directory entries.
72257         (func_module): Make it work with sed-3.02.
72258         * MODULES.txt: Remove file.
72259
72260 2003-01-06  Jim Meyering  <jim@meyering.net>
72261
72262         * lib/version-etc.c: Update year in translatable copyright string.
72263
72264 2003-01-03  Karl Berry  <karl@gnu.org>
72265
72266         * config/config.{guess,sub}: update from prep.
72267
72268 2003-01-02  Karl Berry  <karl@gnu.org>
72269
72270         * doc/COPYING.DOC: belatedly updated to 1.2.
72271
72272 2003-01-01  Karl Berry  <karl@gnu.org>
72273
72274         * gnulib-tool (func_verify_module): report module name $module in
72275         error message, not $1.
72276         * gnulib-tool (create-testdir): don't complain if destdir couldn't
72277         be created, only if it doesn't exist.
72278         * gnulib-tool (last_checkin_date): don't expand the $Date here.
72279
72280 2002-12-31  Paul Eggert  <eggert@twinsun.com>
72281
72282         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
72283
72284 2002-12-31  Paul Eggert  <eggert@twinsun.com>
72285
72286         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
72287         memcmp if strcoll doesn't work.
72288
72289 2002-12-31  Bruno Haible  <bruno@clisp.org>
72290
72291         * lib/utime.c (utime_null): No need to call ftruncate if the file was
72292         nonempty.
72293
72294 2002-12-31  Bruno Haible  <bruno@clisp.org>
72295
72296         * lib/memcoll.c (STRCOLL): New macro.
72297         (memcoll): Use it.
72298
72299 2002-12-31  Bruno Haible  <bruno@clisp.org>
72300
72301         * lib/localcharset.h: New file.
72302         * lib/localcharset.c: Include it.
72303         * lib/unicodeio.c: Likewise.
72304
72305 2002-12-31  Bruno Haible  <bruno@clisp.org>
72306
72307         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
72308         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
72309
72310 2002-12-31  Bruno Haible  <bruno@clisp.org>
72311
72312         * lib/getline.h: Include <stddef.h>, for size_t.
72313
72314         * lib/unicodeio.h: Include <stddef.h>, for size_t.
72315         * lib/unicodeio.c: Don't include <stddef.h>.
72316
72317 2002-12-31  Bruno Haible  <bruno@clisp.org>
72318
72319         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
72320         HAVE_TM_ZONE.
72321
72322 2002-12-24  Karl Berry  <karl@gnu.org>
72323
72324         * config/config.guess: update from prep.
72325
72326 2002-12-24  Bruno Haible  <bruno@clisp.org>
72327
72328         General infrasructure.
72329         * m4/README: Rewritten.
72330         * m4/onceonly.m4: New file.
72331         * m4/onceonly_2_57.m4: New file.
72332
72333         Module atexit.
72334         * m4/atexit.m4: New file.
72335
72336         Module strtod.
72337         * m4/strtod.m4: New file.
72338
72339         Module strtol.
72340         * m4/strtol.m4: New file.
72341
72342         Module strtoul.
72343         * m4/strtoul.m4: New file.
72344
72345         Module memchr.
72346         * m4/memchr.m4: New file.
72347
72348         Module memcmp.
72349         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
72350         (jm_FUNC_MEMCMP): Invoke it.
72351
72352         Module memcpy.
72353         * m4/memcpy.m4: New file.
72354
72355         Module memmove.
72356         * m4/memmove.m4: New file.
72357
72358         Module memset.
72359         * m4/memset.m4: New file.
72360
72361         Module strcspn.
72362         * m4/strcspn.m4: New file.
72363
72364         Module strpbrk.
72365         * m4/strpbrk.m4: New file.
72366
72367         Module strstr.
72368         * m4/strstr.m4: New file.
72369
72370         Module strerror.
72371         * m4/strerror.m4: New file.
72372
72373         Module mktime.
72374         * m4/mktime.m4: Renamed from jm-mktime.m4.
72375         (gl_PREREQ_MKTIME): New macro.
72376         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
72377
72378         Module malloc.
72379         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
72380         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
72381         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
72382
72383         Module realloc.
72384         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
72385         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
72386         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
72387
72388         Module strftime.
72389         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
72390         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
72391         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
72392         gl_TM_GMTOFF.
72393         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
72394
72395         Module xalloc.
72396         * m4/xalloc.m4: New file.
72397
72398         Module alloca.
72399         * m4/alloca.m4: New file.
72400
72401         Module putenv.
72402         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
72403         (jm_FUNC_PUTENV): Invoke it.
72404
72405         Module setenv.
72406         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
72407         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
72408         when invoked twice.
72409         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
72410         gt_FUNC_SETENV.
72411
72412         Module memrchr.
72413         * m4/memrchr.m4: New file.
72414
72415         Module stpcpy.
72416         * m4/stpcpy.m4: New file.
72417
72418         Module strcase.
72419         * m4/strcase.m4: New file.
72420
72421         Module strdup.
72422         * m4/strdup.m4: New file.
72423
72424         Module strnlen.
72425         * m4/strnlen.m4: New file.
72426
72427         Module strndup.
72428         * m4/strndup.m4: New file.
72429
72430         Module xstrtod.
72431         * m4/xstrtod.m4: New file.
72432
72433         Module xstrtol.
72434         * m4/xstrtol.m4: New file.
72435
72436         Module getdate.
72437         * m4/getdate.m4: New file.
72438
72439         Module unlocked-io.
72440         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
72441         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
72442         * m4/jm-glibc-io.m4n: Remove file.
72443
72444         Module long-options.
72445         * m4/long-options.m4: New file.
72446
72447         Module md5.
72448         * m4/md5.m4: New file.
72449
72450         Module sha.
72451         * m4/sha.m4: New file.
72452
72453         Module getstr.
72454         * m4/getstr.m4: New file.
72455
72456         Module getline.
72457         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
72458         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
72459         <sys/types.h>, for size_t. Use the function name gnu_getline, not
72460         simply getline. Infoke gl_PREREQ_GETLINE.
72461
72462         Module obstack.
72463         * m4/obstack.m4: New file.
72464
72465         Module hash.
72466         * m4/hash.m4: New file.
72467
72468         Module readtokens.
72469         * m4/readtokens.m4: New file.
72470
72471         Module strverscmp.
72472         * m4/strverscmp.m4: New file.
72473
72474         Module stdbool.
72475         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
72476         OSF/1.
72477
72478         Module strtoll.
72479         * m4/strtoll.m4: New file.
72480
72481         Module strtoull.
72482         * m4/strtoull.m4: New file.
72483
72484         Module strtoimax.
72485         * m4/strtoimax.m4: New file.
72486
72487         Module strtoumax.
72488         * m4/strtoumax.m4: New file.
72489
72490         Module xstrtoimax.
72491         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
72492         jm_AC_PREREQ_XSTRTOIMAX.
72493         Moved the strtol prerequisites to strtol.m4.
72494         Moved the strtoll prerequisites to strtoll.m4.
72495         Moved the strtoimax prerequisites to strtoimax.m4.
72496
72497         Module xstrtoumax.
72498         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
72499         jm_AC_PREREQ_XSTRTOUMAX.
72500         Moved the strtoul prerequisites to strtoul.m4.
72501         Moved the strtoull prerequisites to strtoull.m4.
72502         Moved the strtoumax prerequisites to strtoumax.m4.
72503
72504         Module chown.
72505         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
72506         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
72507
72508         Module dup2.
72509         * m4/dup2.m4: New file.
72510
72511         Module ftruncate.
72512         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
72513         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
72514
72515         Module getgroups.
72516         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
72517         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
72518
72519         Module gettimeofday.
72520         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
72521         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
72522         gl_PREREQ_GETTIMEOFDAY.
72523
72524         Module mkdir.
72525         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
72526         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
72527
72528         Module mkstemp.
72529         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
72530         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
72531         jm_AC_TYPE_UINTMAX_T.
72532         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
72533
72534         Module stat.
72535         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
72536         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
72537
72538         Module lstat.
72539         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
72540         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
72541
72542         Module timespec.
72543         * m4/timespec.m4 (gl_TIMESPEC): New macro.
72544         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
72545         * m4/st_mtim.m4: Indentation.
72546
72547         Module nanosleep.
72548         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
72549         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
72550         gl_PREREQ_NANOSLEEP.
72551
72552         Module regex.
72553         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
72554         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
72555         (gl_REGEX): New macro.
72556
72557         Module rename.
72558         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
72559         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
72560
72561         Module rmdir.
72562         * m4/rmdir.m4: New file.
72563
72564         Module utime.
72565         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
72566         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
72567         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
72568
72569         Module dirname.
72570         * m4/dirname.m4: New file.
72571
72572         Module getopt.
72573         * m4/getopt.m4: New file.
72574
72575         Module unistd-safer.
72576         * m4/unistd-safer.m4: New file.
72577
72578         Module fnmatch.
72579         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
72580         declaration.
72581         (gl_PREREQ_FNMATCH_EXTRA): New macro.
72582         (gl_FUNC_FNMATCH_POSIX): New macro.
72583         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
72584         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
72585         simply fnmatch.
72586
72587         Module exclude.
72588         * m4/exclude.m4: New file.
72589
72590         Module human.
72591         * m4/human.m4: New file.
72592
72593         Module acl.
72594         * m4/acl.m4: Nop.
72595
72596         Module backupfile.
72597         * m4/backupfile.m4: New file.
72598         * m4/d-ino.m4: Indentation.
72599
72600         Module fsusage.
72601         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
72602         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
72603         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
72604
72605         Module dirfd.
72606         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
72607         requirements.
72608
72609         Module euidaccess.
72610         * m4/euidaccess.m4: New file.
72611
72612         Module file-type.
72613         * m4/file-type.m4: New file.
72614
72615         Module fileblocks.
72616         * m4/fileblocks.m4: New file.
72617
72618         Module filemode.
72619         * m4/filemode.m4: New file.
72620
72621         Module isdir.
72622         * m4/isdir.m4: New file.
72623
72624         Module lchown.
72625         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
72626         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
72627
72628         Module makepath.
72629         * m4/makepath.m4: New file.
72630
72631         Module modechange.
72632         * m4/modechange.m4: New file.
72633
72634         Module mountlist.
72635         * m4/mountlist.m4: New file.
72636         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
72637         Indentation.
72638
72639         Module path-concat.
72640         * m4/path-concat.m4: New file.
72641
72642         Module pathmax.
72643         * m4/pathmax.m4: New file.
72644
72645         Module same.
72646         * m4/same.m4: New file.
72647
72648         Module save-cwd.
72649         * m4/save-cwd.m4: New file.
72650
72651         Module savedir.
72652         * m4/savedir.m4: New file.
72653
72654         Module xgetcwd.
72655         * m4/xgetcwd.m4: New file.
72656         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
72657
72658         Module xreadlink.
72659         * m4/xreadlink.m4: New file.
72660
72661         Module safe-read.
72662         * m4/safe-read.m4: New file.
72663
72664         Module safe-write.
72665         * m4/safe-write.m4: New file.
72666
72667         Module closeout.
72668         * m4/closeout.m4: New file.
72669
72670         Module stdio-safer.
72671         * m4/stdio-safer.m4: New file.
72672
72673         Module getpass.
72674         * m4/getpass.m4: New file.
72675
72676         Module getugroups.
72677         * m4/getugroups.m4: New file.
72678
72679         Module group-member.
72680         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
72681         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
72682
72683         Module idcache.
72684         * m4/idcache.m4: New file.
72685
72686         Module userspec.
72687         * m4/userspec.m4: New file.
72688
72689         Module gettime.
72690         * m4/clock_time.m4: New file.
72691         * m4/gettime.m4: New file.
72692
72693         Module settime.
72694         * m4/settime.m4: New file.
72695
72696         Module posixtm.
72697         * m4/posixtm.m4: New file.
72698
72699         Module gethostname.
72700         * m4/gethostname.m4: New file.
72701
72702         Module canon-host.
72703         * m4/canon-host.m4: New file.
72704
72705         Module gettext.
72706         * m4/codeset.m4: New file, from gettext-0.11.5.
72707         * m4/gettext.m4: New file, from gettext-0.11.5.
72708         * m4/glibc21.m4: New file, from gettext-0.11.5.
72709         * m4/iconv.m4: New file, from gettext-0.11.5.
72710         * m4/intdiv0.m4: New file, from gettext-0.11.5.
72711         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
72712         * m4/inttypes.m4: New file, from gettext-0.11.5.
72713         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
72714         * m4/isc-posix.m4: New file, from gettext-0.11.5.
72715         * m4/lcmessage.m4: New file, from gettext-0.11.5.
72716         * m4/lib-ld.m4: New file, from gettext-0.11.5.
72717         * m4/lib-link.m4: New file, from gettext-0.11.5.
72718         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
72719         * m4/progtest.m4: New file, from gettext-0.11.5.
72720         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
72721         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
72722         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
72723
72724         Module localcharset.
72725         * m4/localcharset.m4: New file.
72726
72727         Module hard-locale.
72728         * m4/hard-locale.m4: New file.
72729
72730         Module mbswidth.
72731         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
72732         onceonly macros.
72733         * m4/mbrtowc.m4: Add comment.
72734
72735         Module memcasecmp.
72736         * m4/memcasecmp.m4: New file.
72737
72738         Module memcoll.
72739         * m4/memcoll.m4: New file.
72740
72741         Module unicodeio.
72742         * m4/unicodeio.m4: New file.
72743
72744         Module rpmatch.
72745         * m4/rpmatch.m4: New file.
72746
72747         Module yesno.
72748         * m4/yesno.m4: New file.
72749
72750         Module exitfail.
72751         * m4/exitfail.m4: New file.
72752
72753         Module c-stack.
72754         * m4/c-stack.m4 (gl_C_STACK): New macro.
72755         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
72756
72757         Module error.
72758         * m4/error.m4 (gl_ERROR): New macro.
72759         (jm_PREREQ_ERROR): Use onceonly macros.
72760
72761         Module fatal.
72762         * m4/fatal.m4: New file.
72763
72764         Module getloadavg.
72765         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
72766         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
72767
72768         Module getpagesize.
72769         * m4/getpagesize.m4: New file.
72770
72771         Module getusershell.
72772         * m4/getusershell.m4: New file.
72773
72774         Module physmem.
72775         * m4/physmem.m4: New file.
72776
72777         Module posixver.
72778         * m4/posixver.m4: New file.
72779
72780         Module quotearg.
72781         * m4/quotearg.m4: New file.
72782
72783         Module quote.
72784         * m4/quote.m4: New file.
72785
72786         Module readutmp.
72787         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
72788
72789         Module sig2str.
72790         * m4/sig2str.m4: New file.
72791
72792         Other.
72793         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
72794         ulonglong.m4.
72795         * m4/intmax_t.m4: New file.
72796         * m4/d-type.m4: Indentation.
72797         * m4/jm-macros.m4: Update.
72798         * m4/prereq.m4 (jm_PREREQ): Update.
72799         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
72800         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
72801         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
72802         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
72803         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
72804         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
72805         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
72806         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
72807         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
72808         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
72809         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
72810         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
72811         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
72812         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
72813         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
72814         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
72815         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
72816         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
72817         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
72818
72819 2002-12-24  Bruno Haible  <bruno@clisp.org>
72820
72821         * MODULES.txt: Update according to m4/ changes.
72822
72823         Module gettext.
72824         * config.rpath: New file, from gettext-0.11.5.
72825
72826         * modules/*: New module descriptions.
72827         * gnulib-tool: New file.
72828         * MODULES.html.sh: New file.
72829
72830 2002-12-21  Karl Berry  <karl@gnu.org>
72831
72832         * doc/fdl.texi: update to version 1.2.
72833
72834 2002-12-19  Karl Berry  <karl@gnu.org>
72835
72836         * config/config.guess: update from prep.
72837
72838 2002-12-18  Bruno Haible  <bruno@clisp.org>
72839
72840         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
72841         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
72842
72843 2002-12-17  Bruno Haible  <bruno@clisp.org>
72844
72845         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
72846         stdlib.h, string.h.
72847
72848 2002-12-17  Bruno Haible  <bruno@clisp.org>
72849
72850         * lib/canon-host.c (strdup): Remove unused declaration.
72851
72852         * lib/fsusage.c: Include full_read.h.
72853         (get_fs_usage): Use full_read instead of safe_read.
72854
72855         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
72856
72857 2002-12-12  Karl Berry  <karl@gnu.org>
72858
72859         * config/config.guess: update from prep.
72860
72861 2002-12-11  Bruno Haible  <bruno@clisp.org>
72862
72863         * m4/setenv.m4: New file, from gettext-0.11.5.
72864
72865 2002-12-11  Bruno Haible  <bruno@clisp.org>
72866
72867         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
72868         not unsetenv().
72869         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
72870         modifications:
72871
72872         2002-12-11  Bruno Haible  <bruno@clisp.org>
72873
72874                 * setenv.c (alloca): Fall back to malloc.
72875                 (freea): New macro.
72876                 (setenv): Use freea() to free memory allocated with alloca().
72877
72878         2002-11-13  Bruno Haible  <bruno@clisp.org>
72879
72880                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
72881                 function declarations.
72882                 * unsetenv.c (unsetenv): Likewise.
72883
72884         2002-03-04  Bruno Haible  <bruno@clisp.org>
72885
72886                 Portability to AIX 4.3.3.
72887                 * unsetenv.c: New file, extracted from setenv.c.
72888                 * setenv.c: Move the unsetenv() function to unsetenv.c.
72889
72890         2001-12-20  Bruno Haible  <bruno@clisp.org>
72891
72892                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
72893                 use malloc instead. For SunOS 4.
72894
72895         2001-12-11  Bruno Haible  <bruno@clisp.org>
72896
72897                 * setenv.c: Declare alloca.
72898                 (compar_fn_t): New typedef.
72899                 (KNOWN_VALUE, STORE_VALUE): Use it.
72900
72901         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
72902         setenv.h.
72903
72904 2002-12-10  Paul Eggert  <eggert@twinsun.com>
72905
72906         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
72907         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
72908         Choose values that are less likely to collide with system fnmatch
72909         options.
72910         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
72911         defined (e.g., a pure POSIX system).
72912         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
72913         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
72914
72915 2002-12-06  Paul Eggert  <eggert@twinsun.com>
72916
72917         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
72918         a pain in practice to deal with generated m4 files.  This change
72919         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
72920
72921         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
72922         and jm-glibc-io.m4, as they are no longer a special case.
72923         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
72924         kludge and the auto-generation stuff.  Check only whether the
72925         functions are declared, not whether they exist, since older hosts
72926         that don't declare the functions can't use the optimization anyway.
72927
72928 2002-12-06  Jim Meyering  <jim@meyering.net>
72929
72930         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
72931
72932         Merge in changes from libc's misc/error.c, in preparation
72933         for the merge of gnulib's changes back into libc.
72934
72935         * lib/error.c (_): Define only if not already defined.
72936         Move definition to follow all #include directives.
72937         Include unlocked-io.h only if !_LIBC.
72938         [_LIBC]: Include <libio/libioP.h>.
72939         [USE_IN_LIBIO]: Include <libio/iolibio.h>
72940         (fflush): Tweak definition to use INTUSE.
72941         (putc): Define.
72942
72943 2002-12-05  Paul Eggert  <eggert@twinsun.com>
72944
72945         * lib/alloca.c [defined emacs]: Include "lisp.h".
72946         (xalloc_die) [defined emacs]: New macro.
72947         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
72948         [! defined emacs]: Include <xalloc.h>.
72949         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
72950         (pointer): Typedef to POINTER_TYPE *.
72951         (malloc): Remove decl; we now always use xmalloc.
72952         (alloca): Use old-style definition, since Emacs needs this.
72953         Check for arithmetic overflow when computing combined size.
72954
72955 2002-12-04  Paul Eggert  <eggert@twinsun.com>
72956
72957         Do not generate unlocked-io.h automatically, since it's easier to
72958         maintain it by hand.
72959
72960         * lib/unlocked-io.h: New file, from GNU diffutils,
72961         but with proper copyright notice and attribution.
72962         * lib/gen-uio: Remove.
72963         * lib/Makefile.am: Add copyright notice.
72964         (libfetish_a_SOURCES): Add unlocked-io.h.
72965         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
72966         (DISTCLEANFILES, io_functions): Remove macros.
72967         (EXTRA_DIST): Remove gen_uio.
72968         (unlocked-io.h): Remove rule.
72969
72970 2002-12-04  Jim Meyering  <jim@meyering.net>
72971
72972         Reflect the fact that stat.c and lstat.c are no longer generated.
72973         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
72974         (DISTCLEANFILES): Likewise.
72975         (EXTRA_DIST): Likewise.
72976         (all_local): Don't depend on stat.c or lstat.c.
72977         (stat.c, lstat.c): Remove rules.
72978         (EXTRA_DIST): Remove xstat.in.
72979
72980         * lib/xstat.in: Remove file.  Contents moved into stat.c.
72981         * lib/stat.c: New file.  Contents mostly from xstat.in.
72982         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
72983         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
72984
72985         * lib/safe-read.c: Rework so that it may serve to define safe_write,
72986         too.
72987         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
72988
72989 2002-12-03  Jim Meyering  <jim@meyering.net>
72990
72991         * lib/safe-read.c, safe-write.c: Change variable names and comments,
72992         but not semantics, to minimize the differences between these two files.
72993         (safe_read): Change comment to mention SAFE_READ_ERROR.
72994
72995         * lib/safe-read.c (IS_EINTR): Define.
72996         (safe_read): Use IS_EINTR in place of in-function cpp directives.
72997
72998 2002-12-02  Jim Meyering  <jim@meyering.net>
72999
73000         * lib/safe-read.c (EINTR): Define.
73001         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
73002         (INT_MAX): Provide fallback.
73003         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
73004
73005         * lib/safe-read.h (SAFE_READ_ERROR): Define.
73006
73007 2002-12-02  Bruno Haible  <bruno@clisp.org>
73008
73009         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
73010         Define, taken from safe-read.c.
73011         (INT_MAX): Provide fallback.
73012         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
73013         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
73014
73015         * lib/safe-read.c (EINTR): Remove definition.
73016         (safe_read): Don't use EINTR if it is absent.
73017
73018 2002-12-01  Jim Meyering  <jim@meyering.net>
73019
73020         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
73021         zero.
73022         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
73023
73024 2002-11-27  Paul Eggert  <eggert@twinsun.com>
73025
73026         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
73027         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
73028         with `if (! (value < limit)) abort ();', for readability.
73029
73030 2002-11-26  Karl Berry  <karl@gnu.org>
73031
73032         * lib/strdup.c: copy from libc again, with jim's ok.
73033         * lib/.cppi-disable: re-add strdup.c
73034
73035 2002-11-25  Karl Berry  <karl@gnu.org>
73036
73037         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
73038         instead of "strtol.c".
73039
73040 2002-11-25  Karl Berry  <karl@gnu.org>
73041
73042         * config/install-sh: update from automake for variable quoting, $0 in
73043         error msgs, etc.
73044
73045         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
73046         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
73047         entry.
73048
73049 2002-11-25  Jim Meyering  <jim@meyering.net>
73050
73051         * lib/mktime.c: Sync from libc, now that it has the latest fix.
73052
73053 2002-11-24  Karl Berry  <karl@gnu.org>
73054
73055         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
73056         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
73057
73058 2002-11-24  Jim Meyering  <jim@meyering.net>
73059
73060         Update from coreutils:
73061
73062         * lib/mktime.c: Merge in changes from libc.
73063
73064         Avoid a link-time failure on some Linux systems.
73065         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
73066         (otherwise).
73067         (__mon_yday): Declare with the STATIC attribute.
73068         (__mktime_internal): Likewise.
73069         Based on a report from Greg Schafer.
73070
73071 2002-11-23  Jim Meyering  <jim@meyering.net>
73072
73073         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
73074         Use `unsigned', not `int', as type of index.
73075
73076         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
73077
73078         * lib/fsusage.c: Remove unneeded parentheses around operands of
73079         `defined'.
73080
73081 2002-11-22  Paul Eggert  <eggert@twinsun.com>
73082
73083         * lib/quotearg.h: Allow multiple inclusion by surrounding with
73084         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
73085         so that we can be included first.
73086         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
73087         * lib/quotearg.c: Include quotearg.h immediately after config.h.
73088         No need to include stddef.h or sys/types.h any more.
73089         Surround local include files with "", not "<>".
73090         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
73091         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
73092         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
73093         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
73094         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
73095         (ISPRINT): Remove; no longer needed now that we assume C89.
73096
73097         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
73098         Preserve errno.
73099
73100         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
73101         quotearg_char): Use SIZE_MAX rather than
73102         (size_t) -1 when we are talking about "infinity".
73103
73104         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
73105
73106 2002-11-22  Paul Eggert  <eggert@twinsun.com>
73107
73108         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
73109         hint that one should use `if (! x) abort ();' rather than `assert
73110         (x);', and anyway it's one less thing to worry about configuring.
73111         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
73112         hash_rehash, hash_insert): Use abort rather than assert.
73113
73114 2002-11-22  Bruno Haible  <bruno@clisp.org>
73115
73116         * lib/safe-read.h: Assume C89. Add comments.
73117         (safe_read): Change return type to size_t.
73118         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
73119         byte counts > SSIZE_MAX correctly.
73120         * lib/safe-write.h: New file.
73121         * lib/safe-write.c: New file.
73122         * lib/full-read.h: New file.
73123         * lib/full-read.c: New file.
73124         * lib/full-write.h: Assume C89. Add comments.
73125         * lib/full-write.c: Include safe-write.h.
73126         (full_write): Rewritten to use safe_write.
73127         Suggested by Jim Meyering and Paul Eggert.
73128
73129 2002-11-21  Jim Meyering  <jim@meyering.net>
73130
73131         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
73132
73133         Merge in changes from the coreutils.
73134
73135         2002-09-25  Paul Eggert  <eggert@twinsun.com>
73136         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
73137         <stdint.h>.
73138         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
73139         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
73140         int.  Work more efficiently if X is the same width as uintmax_t.
73141         Do not compare X to -1, to avoid bogus compiler warning.
73142         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
73143         Don't assume that f_frsize and f_bsize are the same type.
73144
73145         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
73146         warning on FreeBSD.
73147
73148         * lib/makepath.c (make_path): Restore umask *before* creating the final
73149         component.
73150         (make_path): Minor reformatting.
73151
73152         * lib/xmalloc.c: Adjust to work with new autoconf macros,
73153         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
73154         HAVE_MALLOC/HAVE_REALLOC.
73155
73156         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
73157         dummy ones.  At least on GNU/Linux systems, `auto' means something
73158         else.
73159         From Michael Stone.
73160
73161 2002-11-21  Bruno Haible  <bruno@clisp.org>
73162
73163         Remove case insensitive option matching.
73164         * lib/argmatch.h (argcasematch): Remove declaration.
73165         (ARGCASEMATCH): Remove macro.
73166         (__xargmatch_internal): Remove case_sensitive argument.
73167         (XARGMATCH): Update.
73168         (XARGCASEMATCH): Remove macro.
73169         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
73170         case_sensitive argument.
73171         (argcasematch): Remove function.
73172         (__xargmatch_internal): Remove case_sensitive argument.
73173         (main): Use XARGMATCH instead of XARGCASEMATCH.
73174
73175         * lib/xmalloc.c: Change compile-time error message. Add comment about
73176         required autoconf version.
73177
73178 2002-11-20  Paul Eggert  <eggert@twinsun.com>
73179
73180         Merge argmatch cleanups from Bison.  Assume C89.
73181
73182         * lib/argmatch.c: Include config.h here, not in argmatch.h.
73183         Include stdlib.h, for EXIT_FAILURE.
73184         Always include <string.h>, since we assume C89.
73185         (EXIT_FAILURE): Remove pre-C89 bug workaround.
73186         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
73187         Include <stddef.h> instead, since it's all we need for size_t.
73188         (PARAMS): Remove.  All uses removed.
73189         (ARRAY_CARDINALITY): Do not bother to #undef.
73190         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
73191         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
73192         Remove unnecessary parentheses.
73193         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
73194         Insert necessary parentheses.
73195         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
73196         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
73197
73198 2002-11-19  Bruno Haible  <bruno@clisp.org>
73199
73200         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
73201         * lib/mbswidth.h: Include <stddef.h>, for size_t.
73202
73203         * lib/mbswidth.h (PARAMS): Remove macro.
73204         (mbswidth, mbsnwidth): Use ANSI C function declarations.
73205         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
73206
73207         * lib/gcd.h (PARAMS): Remove macro.
73208         (gcd): Use ANSI C function declarations.
73209         * lib/gcd.c (gcd): Likewise.
73210
73211 2002-11-15  Bruno Haible  <bruno@clisp.org>
73212
73213         * lib/strcspn.c: Include <stddef.h>.
73214         (strcspn): Use ANSI C function declaration. Change return type to
73215         size_t. Use NULL.
73216         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
73217         (strpbrk): Use NULL.
73218         * lib/strpbrk.h (PARAMS): Remove macro.
73219         (strpbrk): Use ANSI C function declaration.
73220         * lib/strstr.c: Don't include <sys/types.h>.
73221         * lib/strstr.h (PARAMS): Remove macro.
73222         (strstr): Use ANSI C function declarations.
73223
73224 2002-11-14  Karl Berry  <karl@gnu.org>
73225
73226         * config/mkinstalldirs: `do' on separate line, instead of
73227         `for var; do'.
73228
73229 2002-11-06  Bruno Haible  <bruno@clisp.org>
73230
73231         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
73232         * lib/gcd.c (gcd): Likewise.
73233
73234 2002-11-05  Bruno Haible  <bruno@clisp.org>
73235
73236         * lib/gcd.h: New file, from gettext-0.11.5.
73237         * lib/gcd.c: New file, from gettext-0.11.5.
73238
73239 2002-11-05  Bruno Haible  <bruno@clisp.org>
73240
73241         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73242         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73243         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73244         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73245
73246         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
73247         <libintl.h>.
73248         * lib/makepath.c: Include gettext.h instead of <locale.h> and
73249         <libintl.h>.
73250
73251         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
73252         * lib/human.c: Include gettext.h instead of <libintl.h>.
73253         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
73254         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
73255         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
73256         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
73257         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
73258         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
73259         (textdomain): Remove definition.
73260         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
73261
73262         * lib/long-options.c: Remove include of <libintl.h> and definition of
73263         _.
73264         * lib/same.c: Remove include of <libintl.h> and definition of _.
73265
73266 2002-11-04  Owen Taylor  <otaylor@redhat.com>
73267
73268         * lib/config.charset: A few additions for Solaris.
73269
73270 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
73271
73272         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
73273         * lib/localcharset.c (locale_charset): Declare as extern "C".
73274
73275 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
73276
73277         * lib/config.charset: msdos in uk_UA uses CP1125.
73278
73279 2002-11-04  Bruno Haible  <bruno@clisp.org>
73280
73281         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
73282         * lib/strcase.h: New file, from GNU gettext-0.11.5.
73283         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
73284         * lib/strstr.h: New file, from GNU gettext-0.11.5.
73285         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
73286
73287 2002-11-04  Bruno Haible  <bruno@clisp.org>
73288
73289         * lib/localcharset.c (locale_charset): Don't return an empty string.
73290
73291 2002-11-04  Bruno Haible  <bruno@clisp.org>
73292
73293         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
73294         aliases.
73295
73296 2002-11-04  Bruno Haible  <bruno@clisp.org>
73297
73298         * lib/config.charset: Update for newest glibc. Add canonical names
73299         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
73300
73301 2002-11-04  Bruno Haible  <bruno@clisp.org>
73302
73303         * lib/config.charset: Add support for NetBSD.
73304
73305 2002-11-04  Bruno Haible  <bruno@clisp.org>
73306
73307         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
73308
73309 2002-11-01  Bruno Haible  <bruno@clisp.org>
73310
73311         * configure.in: Add AC_CONFIG_AUX_DIR call.
73312         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
73313         test/Makefile.
73314         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
73315
73316 2002-09-28  Karl Berry  <karl@gnu.org>
73317
73318         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
73319         installed automake until the next release, since changes have been
73320         made.
73321
73322 2002-09-25  Karl Berry  <karl@gnu.org>
73323
73324         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
73325         * lib/getopt*: copy from libc/posix.
73326         * lib/gettext.h: copy from gettext.
73327         * lib/.cppi-disable: add strdup.c, gettext.h.
73328
73329 2002-09-25  Karl Berry  <karl@gnu.org>
73330
73331         * config/srclist.txt: enable gettext.h check.
73332         * config/config.{guess,sub}: update from prep.
73333         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
73334                 from automake 1.6.3.
73335         See srclist*.
73336
73337 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
73338
73339         * regex.c (PATFETCH): Remove the translating fetch.
73340         (PATFETCH_RAW): Rename to PATFETCH.
73341         (set_image_of_range): New fun.
73342         (SET_RANGE_TABLE_WORK_AREA): Use it.
73343         (regex_compile): Don't translate the pattern chars so eagerly.
73344         Only do it when inserting an `exactn' bytecode or when handling
73345         a char-range.
73346         (mutually_exclusive_p): Avoid empty statement.
73347
73348 2002-07-06  Jim Meyering  <meyering@lucent.com>
73349
73350         * m4/README: Don't mention Makefile.am.in.
73351         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
73352
73353 2002-07-01  Jim Meyering  <meyering@lucent.com>
73354
73355         * lib/c-stack.c: Include sys/time.h.
73356         From Volker Borchert.
73357
73358 2002-06-26  Paul Eggert  <eggert@twinsun.com>
73359
73360         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
73361
73362 2002-06-26  Paul Eggert  <eggert@twinsun.com>
73363
73364         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
73365         New macro.  Use it uniformly instead of
73366         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
73367         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
73368         reported by Vin Shelton.
73369
73370 2002-06-22  Paul Eggert  <eggert@twinsun.com>
73371
73372         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
73373         Do not assume SA_SIGINFO behavior.
73374         Bug reported by Jim Meyering on NetBSD 1.5.2.
73375
73376 2002-06-22  Jim Meyering  <meyering@lucent.com>
73377
73378         * m4/c-stack.m4: New file, from diffutils-2.8.2.
73379         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
73380
73381         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
73382         now that configure.ac uses AC_GNU_SOURCE.
73383         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
73384         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
73385
73386         Update to latest tools.  Suggestions from Paul Eggert.
73387         * m4/stdbool.m4: New file, from diffutils-2.8.2.
73388         * m4/gnu-source.m4: Update from diffutils-2.8.2.
73389         * m4/fnmatch.m4: Likewise.
73390         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
73391         to AC_HEADER_STDBOOL
73392
73393 2002-06-22  Jim Meyering  <meyering@lucent.com>
73394
73395         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
73396         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
73397
73398 2002-06-22  Jim Meyering  <meyering@lucent.com>
73399
73400         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
73401
73402         * lib/exitfail.c, exitfail.h: Likewise.
73403         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
73404
73405         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
73406         of fnmatch.h.
73407         (EXTRA_DIST): Add fnmatch_loop.c.
73408         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
73409
73410         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
73411         * lib/fnmatch.c: Update from diffutils-2.8.2.
73412         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
73413         * lib/fnmatch.h: Remove file.
73414
73415 2002-06-21  Jim Meyering  <meyering@lucent.com>
73416
73417         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
73418         * m4/mbrtowc.m4: Likewise.
73419
73420         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
73421         * m4/mbswidth.m4: Reflect name change:
73422         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
73423         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
73424
73425         * m4/lib-link.m4: Update from gettext-0.11.2.
73426         * m4/gettext.m4: Likewise.
73427
73428         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
73429         From Alfred M. Szmidt.
73430
73431 2002-06-18  Paul Eggert  <eggert@twinsun.com>
73432
73433         * lib/file-type.h: Report an error if neither S_ISREG nor
73434         S_IFREG is defined, instead of using a test specific to glibc
73435         2.2.  This should be safe, since POSIX requires S_ISREG and
73436         Unix Version 7 had S_IFREG.  We don't need to check for
73437         <sys/types.h> since we don't use any symbols that it defines.
73438
73439 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
73440
73441         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
73442         $@-t, so that each temporary file name is unique and valid in the first
73443         8 characters, for operation under DOS.
73444
73445 2002-06-15  Paul Eggert  <eggert@twinsun.com>
73446
73447         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
73448
73449 2002-06-15  Jim Meyering  <meyering@lucent.com>
73450
73451         Work even with DJGPP 2.03, which lacks support for symlinks.
73452         From Richard Dawe.
73453         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
73454         is defined.
73455         * lib/lchown.c (S_ISLNK): Likewise.
73456
73457 2002-06-15  Jim Meyering  <meyering@lucent.com>
73458
73459         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
73460         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
73461         have been included before this file.
73462
73463 2002-06-14  Jim Meyering  <meyering@lucent.com>
73464
73465         * lib/file-type.h: Use the version from diffutils-2.8.2.
73466         * lib/file-type.c: Likewise.
73467
73468 2002-06-07  Jim Meyering  <meyering@lucent.com>
73469
73470         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
73471         They're needed at least for NetBSD 1.5.2.
73472         ($statxfs_includes): Include those same headers.
73473         ($statxfs_includes): Include sys/vfs.h if available.
73474         ($statxfs_includes): Likewise for sys/statvfs.h.
73475         Check for the following members in both structs statfs and statvfs:
73476         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
73477
73478 2002-06-01  Jim Meyering  <meyering@lucent.com>
73479
73480         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
73481         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
73482
73483 2002-05-28  Jim Meyering  <meyering@lucent.com>
73484
73485         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
73486         Reported by Volker Borchert.
73487
73488 2002-05-27  Jim Meyering  <meyering@lucent.com>
73489
73490         Fix a problem seen only on nonconforming systems whereby ls.c's
73491         use of localtime, and then of gettimeofday would cause trouble:
73492         the localtime call used to initialize rpl_gettimeofday's save
73493         mechanism would clobber ls's current local time information so
73494         that in any long listing the first file would always be listed
73495         with date 1970-01-01.  Analysis by Volker Borchert.
73496
73497         * lib/gettimeofday.c (localtime): Undefine.
73498         (rpl_localtime): New function.
73499
73500 2002-05-27  Jim Meyering  <meyering@lucent.com>
73501
73502         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
73503         localtime.
73504
73505         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
73506         use the replacement function; it wouldn't resolve at link time.
73507         Reported by Volker Borchert.
73508
73509 2002-05-22  Jim Meyering  <meyering@lucent.com>
73510
73511         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
73512         file-type.h.
73513         * lib/file-type.h: New file.
73514         * lib/file-type.c (file_type): New file/function.  Extracted from
73515         diffutils.
73516
73517 2002-04-30  Jim Meyering  <meyering@lucent.com>
73518
73519         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
73520
73521 2002-04-29  Paul Eggert  <eggert@twinsun.com>
73522
73523         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
73524
73525 2002-04-29  Paul Eggert  <eggert@twinsun.com>
73526
73527         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
73528         Do not check for alloca.h (no longer used) or stdbool.h (was never
73529         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
73530
73531 2002-04-29  Paul Eggert  <eggert@twinsun.com>
73532
73533         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
73534
73535 2002-04-29  Jim Meyering  <meyering@lucent.com>
73536
73537         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
73538         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
73539         Use AC_FUNC_STRNLEN here instead.
73540
73541         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
73542         With autoconf-2.53a, it's part of AC_PROG_CC.
73543
73544 2002-04-28  Paul Eggert  <eggert@twinsun.com>
73545
73546         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
73547         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
73548
73549 2002-04-28  Paul Eggert  <eggert@twinsun.com>
73550
73551         * lib/sig2str.h, lib/sig2str.c: New files.
73552         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
73553
73554 2002-04-28  Paul Eggert  <eggert@twinsun.com>
73555
73556         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
73557         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
73558         of 127, since 64 is the largest conceivable number for ancient
73559         nonstandard hosts.
73560         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
73561
73562 2002-04-28  Jim Meyering  <meyering@lucent.com>
73563
73564         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
73565
73566 2002-04-24  Jim Meyering  <meyering@lucent.com>
73567
73568         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
73569         (jm_PREREQ): Use it.
73570
73571         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
73572         mach/mach.h fcntl.h.
73573         Check for this function: setlocale.
73574
73575 2002-04-24  Jim Meyering  <meyering@lucent.com>
73576
73577         * lib/gettext.h: New file, from Gettext.
73578         * lib/Makefile.am (INCLUDES): Remove -I../intl.
73579         (libfetish_a_SOURCES): Add gettext.h.
73580
73581 2002-04-16  Jim Meyering  <meyering@lucent.com>
73582
73583         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
73584         ut_pid, ut_id, ut_exit.
73585
73586 2002-04-16  Jim Meyering  <meyering@lucent.com>
73587
73588         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
73589         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
73590         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
73591
73592 2002-04-12  Jim Meyering  <meyering@lucent.com>
73593
73594         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
73595         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
73596         existence of the getmntinfo function.  Needed for Darwin 5.3.
73597
73598         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
73599         This is necessary at least on Darwin 5.3.
73600
73601         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
73602         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
73603         strnlen.o in the library, and that makes some versions of ranlib
73604         object.
73605
73606 2002-04-12  Jim Meyering  <meyering@lucent.com>
73607
73608         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
73609
73610 2002-04-09  Jim Meyering  <meyering@lucent.com>
73611
73612         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
73613         to be more precise.  Rather than saying we're checking whether the
73614         function `works', say what we're testing.
73615         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
73616         Reported by Bruno Haible.
73617
73618 2002-03-10  Jim Meyering  <meyering@lucent.com>
73619
73620         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
73621         Suggestion from Santiago Vila.
73622
73623 2002-03-08  Jim Meyering  <meyering@lucent.com>
73624
73625         * lib/rename.c: Mention that this wrapper is needed also on
73626         mips-dec-ultrix4.4 systems.
73627
73628 2002-03-02  Jim Meyering  <meyering@lucent.com>
73629
73630         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
73631         not HAVE_CLOCK_SETTIME.
73632
73633 2002-02-27  Paul Eggert  <eggert@twinsun.com>
73634
73635         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
73636         Check for clock_settime.
73637
73638 2002-02-27  Paul Eggert  <eggert@twinsun.com>
73639
73640         * lib/nanosleep.h: Rename to....
73641         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
73642
73643         * lib/gettime.c: New file.
73644         * lib/settime.c: New file.
73645         * lib/stime.c: Remove.
73646
73647         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
73648         timespec.h.  Remove nanosleep.h.
73649
73650 2002-02-25  Paul Eggert  <eggert@twinsun.com>
73651
73652         * m4/acl.m4: New file.
73653         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
73654         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
73655
73656 2002-02-25  Paul Eggert  <eggert@twinsun.com>
73657
73658         * lib/acl.c, lib/acl.h: New files.
73659         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
73660
73661 2002-02-24  Jim Meyering  <meyering@lucent.com>
73662
73663         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
73664         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
73665         cause trouble.  Reported by Nelson Beebe.
73666
73667 2002-02-23  Paul Eggert  <eggert@twinsun.com>
73668
73669         * lib/path-concat.c (xpath_concat): Reorder code to pacify
73670         compilers that don't know that xalloc_die never returns.
73671
73672 2002-02-20  Jim Meyering  <meyering@lucent.com>
73673
73674         * lib/getdate.c: Regenerate using bison-1.33.
73675
73676 2002-02-17  Jim Meyering  <meyering@lucent.com>
73677
73678         * config/config.guess (main): Don't use `head -1'; it's no longer
73679         portable. Use `sed 1q' instead.
73680
73681 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
73682
73683         * m4/codeset.m4: Upgrade to gettext-0.11.
73684         * m4/gettext.m4: Upgrade to gettext-0.11.
73685         * m4/glibc21.m4: Upgrade to gettext-0.11.
73686         * m4/iconv.m4: Upgrade to gettext-0.11.
73687         * m4/isc-posix.m4: Upgrade to gettext-0.11.
73688         * m4/lcmessage.m4: Upgrade to gettext-0.11.
73689         * m4/lib-ld.m4: New file, from gettext-0.11.
73690         * m4/lib-link.m4: New file, from gettext-0.11.
73691         * m4/lib-prefix.m4: New file, from gettext-0.11.
73692         * m4/progtest.m4: Upgrade to gettext-0.11.
73693
73694 2002-02-15  Paul Eggert  <eggert@twinsun.com>
73695
73696         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
73697         (jm_PREREQ): Use it.
73698
73699 2002-02-15  Paul Eggert  <eggert@twinsun.com>
73700
73701         * lib/posixver.c, lib/posixver.h: New files.
73702         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
73703
73704 2002-02-02  Paul Eggert  <eggert@twinsun.com>
73705             Bruno Haible  <bruno@clisp.org>
73706
73707         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
73708         (fwrite_success_callback): New declaration.
73709         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
73710         print_unicode_char. Call failure callback instead of error.
73711         (fwrite_success_callback): New function.
73712         (exit_failure_callback): New function.
73713         (fallback_failure_callback): New function.
73714         (print_unicode_char): Call unicode_to_mb.
73715
73716 2002-01-26  Jim Meyering  <meyering@lucent.com>
73717
73718         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
73719         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
73720
73721 2002-01-26  Jim Meyering  <meyering@lucent.com>
73722
73723         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
73724
73725 2002-01-22  Paul Eggert  <eggert@twinsun.com>
73726
73727         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
73728
73729 2002-01-22  Jim Meyering  <meyering@lucent.com>
73730
73731         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
73732         Otherwise, some versions of automake would omit the rule that makes
73733         Makefile from Makefile.in.
73734
73735 2002-01-21  Paul Eggert  <eggert@twinsun.com>
73736
73737         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
73738         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
73739         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
73740         (memcoll): Set errno to zero if there is no error.
73741
73742         * lib/quotearg.c (quotearg_buffer_restyled):
73743         Fix bug with quoting buffers containing NUL when backslashing escapes.
73744         This bug was exposed by the other changes in this patch.
73745         (quotearg_n_options): New arg ARGSIZE.
73746         All callers changed.
73747         (quoting_options_from_style): New function.
73748         (quotearg_n_style): Use it.
73749         (quotearg_n_style_mem): New function.
73750
73751         * lib/quotearg.h (quotearg_n_style_mem): New function.
73752
73753 2002-01-19  Jim Meyering  <meyering@lucent.com>
73754
73755         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
73756         Remove useless quotes: DF_PROG="df".
73757         * m4/strnlen.m4: New file.
73758
73759 2002-01-16  Paul Eggert  <eggert@twinsun.com>
73760
73761         * lib/backupfile.c (ISDIGIT): Comment fix.
73762         * lib/getdate.y (ISDIGIT): Likewise.
73763         * lib/posixtm.c (ISDIGIT, year): Likewise.
73764         * lib/strverscmp.c (ISDIGIT): Likewise.
73765         * lib/userspec.c (ISDIGIT): Likewise.
73766
73767 2002-01-16  Jim Meyering  <meyering@lucent.com>
73768
73769         * lib/getdate.y: Add three semicolons, each just before a closing
73770         brace. Bison (as of version 1.31) no longer papers over that mistake.
73771
73772 2002-01-05  Jim Meyering  <meyering@lucent.com>
73773
73774         * lib/version-etc.c (version_etc_copyright): Update copyright year.
73775
73776 2001-12-19  Paul Eggert  <eggert@twinsun.com>
73777
73778         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
73779         not silently exit merely because the output buffer happens to
73780         have nothing pending.
73781
73782 2001-12-18  Paul Eggert  <eggert@twinsun.com>
73783
73784         See the big note in ../ChangeLog.
73785         * lib/human.c (suffixes): Prefer K to k for 1024.
73786         (generate_suffix_backwards): New function.
73787         (human_readable_inexact): Use it.
73788         * lib/xstrtol.c (__xstrtol): If there is no number but there
73789         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
73790         Accept 'K' as well as 'k'.
73791
73792 2001-12-15  Jim Meyering  <meyering@lucent.com>
73793
73794         * lib/regex.h (__restrict_arr): Update from libc.
73795
73796         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
73797         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
73798         (STREQ): Define.
73799
73800 2001-12-14  Jim Meyering  <meyering@lucent.com>
73801
73802         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
73803         Suggestion from Bruno Haible.
73804
73805 2001-12-10  Jim Meyering  <meyering@lucent.com>
73806
73807         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
73808         xrealloc, Instead, include "xalloc.h".
73809         (initbuffer): Don't cast xmalloc return value to char*.
73810         (readline): Reword comment.
73811         Don't cast xrealloc return value to char*
73812         Return NULL, not 0.
73813
73814 2001-12-09  Jim Meyering  <meyering@lucent.com>
73815
73816         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
73817         about `signed and unsigned type in conditional expression'.
73818         * lib/posixtm.c (posix_time_parse): Likewise.
73819
73820         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
73821
73822         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
73823         to avoid a pedantic warning.
73824
73825         * lib/getstr.c: Don't include assert.h.
73826         (getstr): Remove warning-evoking assertions.
73827         Return -1 if offset parameter is out of bounds.
73828         Change the type of a local from int to size_t.
73829
73830         * lib/strftime.c (my_strftime_localtime_r): Include this function
73831         definition in the `#if ! HAVE_TM_GMTOFF' block.
73832
73833         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
73834         Include xalloc.h instead.
73835
73836 2001-12-02  Jim Meyering  <meyering@lucent.com>
73837
73838         * lib/tempname.c: Don't declare getenv, thus reverting the change of
73839         2001-11-18.  It's no longer necessary, now that stdlib.h is always
73840         included.
73841
73842         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
73843         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
73844
73845 2001-11-30  Akim Demaille  <akim@epita.fr>
73846
73847         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
73848         before being defined.
73849
73850 2001-11-27  Paul Eggert  <eggert@twinsun.com>
73851
73852         * lib/quotearg.h (quotearg_n, quotearg_n_style):
73853         First arg is int, not unsigned.
73854         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
73855         (SIZE_MAX, UINT_MAX): New macros.
73856         (quotearg_n_options): Abort if N is negative.
73857         Avoid overflow check on hosts where size_t is 64 bits and int
73858         is 32 bits, as overflow is impossible there.
73859         Fix off-by-one typo that caused unnecessary reallocation.
73860
73861 2001-11-27  Jim Meyering  <meyering@lucent.com>
73862
73863         * lib/tempname.c: Merge with version from libc.
73864         * lib/regex.c: Likewise.
73865
73866         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
73867         systems for which STDC_HEADERS is 0, it was not included, resulting in
73868         a warning about an integer-to-pointer conversion problem with getenv.
73869         Reported by Volker Borchert.
73870
73871 2001-11-26  Jim Meyering  <meyering@lucent.com>
73872
73873         * lib/gtod.h: Remove file.
73874         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
73875         * lib/gettimeofday.c: Don't include gtod.h.
73876         (GTOD_init): Remove function.
73877         (rpl_gettimeofday): Do its job here instead, rather than aborting.
73878         Suggestion from Volker Borchert.
73879
73880 2001-11-23  Jim Meyering  <meyering@lucent.com>
73881
73882         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
73883         it.
73884         * lib/hash.c (struct hash_table): Define it here instead.
73885
73886 2001-11-22  Jim Meyering  <meyering@lucent.com>
73887
73888         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
73889
73890 2001-11-20  Jim Meyering  <meyering@lucent.com>
73891
73892         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
73893         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
73894
73895 2001-11-19  Jim Meyering  <meyering@lucent.com>
73896
73897         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
73898         directory.  Use "conftestXXXXXX" as the template.
73899         Suggestion from Paul Eggert.
73900
73901         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
73902         immediately, so the test doesn't mistakenly hit the max-open-files
73903         limit.
73904
73905 2001-11-18  Paul Eggert  <eggert@twinsun.com>
73906
73907         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
73908         (TEMPORARIES): New macro.
73909         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
73910         removes an artificial limitation (e.g. HP-UX 10.20, where
73911         TMP_MAX is 17576).
73912
73913 2001-11-18  Jim Meyering  <meyering@lucent.com>
73914
73915         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
73916
73917 2001-11-18  Jim Meyering  <meyering@lucent.com>
73918
73919         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
73920         on SunOS 4.
73921
73922         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
73923         files will be created before anything else.
73924
73925 2001-11-17  Paul Eggert  <eggert@twinsun.com>
73926
73927         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
73928         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
73929
73930 2001-11-17  Jim Meyering  <meyering@lucent.com>
73931
73932         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
73933         Prompted by a report from Bob Proulx.
73934
73935         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
73936         Instead, require UTILS_FUNC_MKSTEMP.
73937
73938 2001-11-17  Jim Meyering  <meyering@lucent.com>
73939
73940         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
73941         Now, that's done as part of AC_FUNC_STRTOD.
73942
73943 2001-11-17  Jim Meyering  <meyering@lucent.com>
73944
73945         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
73946         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
73947         rather than group writable.  Patch by Juan F. Codagnone.
73948
73949         * lib/readtokens.c: Remove explicit declarations of xmalloc and
73950         xrealloc, Instead, include "xalloc.h".
73951
73952         * lib/mountlist.c: Include unlocked-io.h after all system headers.
73953         Remove explicit declarations of xmalloc, xrealloc,
73954         and xstrdup.  Instead, include "xalloc.h".
73955
73956         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
73957         unlocked-io.h.
73958         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
73959         Likewise.
73960         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
73961
73962         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
73963         Reported by Padraig Brady.
73964
73965         * lib/mkstemp.c: #undef mkstemp.
73966         Include config.h.
73967         (rpl_mkstemp): Rename from mkstemp.
73968         Protoize.
73969
73970 2001-11-16  Jim Meyering  <meyering@lucent.com>
73971
73972         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
73973         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
73974         determine the amount of total physical memory, use pstat_getstatic.
73975         HPUX-11 doesn't define _SC_PHYS_PAGES.
73976         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
73977         If sysconf couldn't be used to determine the amount of available
73978         physical memory, use both pstat_getstatic and pstat_getdynamic.
73979         Based on a patch from Bob Proulx.
73980
73981 2001-11-10  Jim Meyering  <meyering@lucent.com>
73982
73983         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
73984         (jm_PREREQ): Use it.
73985
73986 2001-11-09  Jim Meyering  <meyering@lucent.com>
73987
73988         * m4/jm-macros.m4: Require autoconf-2.52f.
73989         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
73990         Use these AC_-prefixed names, not the AM_-prefixed ones.
73991
73992         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
73993
73994 2001-11-05  Jim Meyering  <meyering@lucent.com>
73995
73996         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
73997
73998 2001-11-04  Jim Meyering  <meyering@lucent.com>
73999
74000         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
74001         $DEFS.
74002
74003 2001-11-03  Jim Meyering  <meyering@lucent.com>
74004
74005         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
74006         of AC_DEFUN.
74007
74008         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
74009         know the name of the variable in the macro definition.
74010
74011 2001-11-03  Jim Meyering  <meyering@lucent.com>
74012
74013         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
74014         in argmatch_to_argument call.
74015
74016         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
74017         argument.
74018
74019         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
74020         e.g., a fault due to an attempt to free a NULL pointer.
74021
74022 2001-11-01  Jim Meyering  <meyering@lucent.com>
74023
74024         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
74025         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
74026
74027 2001-11-01  Jim Meyering  <meyering@lucent.com>
74028
74029         * lib/dirfd.c, lib/dirfd.h: New files.
74030         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
74031
74032         * lib/hash.c (hash_print) [TESTING]: Clean up.
74033
74034 2001-10-22  Paul Eggert  <eggert@twinsun.com>
74035
74036         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
74037         to avoid a warning if -Wall.
74038
74039 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
74040
74041         * README: New file
74042         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
74043         (per RMS's instructions, this is now the canonical source)
74044         * lgpl/, gpl/: New directories.
74045
74046 2001-10-21  Paul Eggert  <eggert@twinsun.com>
74047
74048         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
74049
74050 2001-10-21  Jim Meyering  <meyering@lucent.com>
74051
74052         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
74053         this code would end up calling gettext even in packages built
74054         with --disable-nls.
74055         * lib/getopt.c (_): Likewise.
74056         * lib/regex.c (_): Likewise.
74057
74058 2001-10-20  Paul Eggert  <eggert@twinsun.com>
74059
74060         * m4/error.m4 (jm_PREREQ_ERROR):
74061         Do not invoke AC_CHECK_FUNCS with strerror_r, as
74062         AC_FUNC_STRERROR_R does that.
74063         Check for strerror declaration.
74064
74065         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
74066         are supposed to have them these days.
74067         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
74068         Merge changes from latest Autoconf CVS.
74069         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
74070         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
74071         POSIX decided to standardize on the int flavor of strerror_r.
74072
74073 2001-10-20  Paul Eggert  <eggert@twinsun.com>
74074
74075         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
74076         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
74077         Use strerror_r that is only a macro, even if it is not a function.
74078         (strerror): Check for HAVE_DECL_STRERROR before declaring.
74079         (private_strerror): Use prototypes, not old-style function definition.
74080         (print_errno_message): New function.
74081         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
74082         char*-flavored one.
74083         (error_tail, error, error_at_line): Use it.
74084
74085 2001-10-11  Jim Meyering  <meyering@lucent.com>
74086
74087         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
74088         and quote_n (1, ... to avoid clobbering a buffer.
74089
74090 2001-10-05  Jim Meyering  <meyering@lucent.com>
74091
74092         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
74093         hash-pjw.h.
74094         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
74095         * lib/hash-pjw.h: New file.
74096
74097 2001-09-30  Jim Meyering  <meyering@lucent.com>
74098
74099         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
74100         `struct fsstat' has the `f_fstypename' member.
74101         Use that to define FS_TYPE, which is now used to make
74102         the getfsstat link test tighter.
74103
74104 2001-09-30  Jim Meyering  <meyering@lucent.com>
74105
74106         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
74107         Include <sys/ucred.h>, for Apple Darwin.
74108         Include sys/mount.h and sys/fs_types.h only if available.
74109         (FS_TYPE): Define.
74110         (read_filesystem_list): Use FS_TYPE.
74111
74112 2001-09-29  Paul Eggert  <eggert@twinsun.com>
74113
74114         * lib/exclude.c (excluded_filename): 0 -> false, since it's
74115         a boolean context.
74116
74117 2001-09-29  Jim Meyering  <meyering@lucent.com>
74118
74119         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
74120         [one-argument getmntent function]): Include stdio.h before mntent.h.
74121         SunOS 4.1.x needs it for the declaration of `FILE'.
74122         Patch by Volker Borchert.
74123
74124         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
74125         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
74126         sys/fs_types.h, and make the link-test for getfsstat guard #include
74127         directives with appropriate #if HAVE_*_H tests so that we can
74128         detect getfsstat on Apple Darwin1.3.7 systems.
74129         Reported by Nelson Beebe.
74130         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
74131
74132 2001-09-28  Paul Eggert  <eggert@twinsun.com>
74133
74134         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
74135         #defines strtoimax.  Also treat the other strto* functions
74136         like strtoimax.
74137
74138         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
74139         Check for strtoul and strtoumax,
74140         as those declarations are made even in the signed case.
74141         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
74142         Likewise, for strtol and strtoimax.
74143
74144 2001-09-28  Paul Eggert  <eggert@twinsun.com>
74145
74146         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
74147         #defines strtoimax.  Also treat the other strto* functions
74148         like strtoimax.
74149
74150         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
74151         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
74152         (strtoimax, strtoumax): Do not declare if already defined as a macro.
74153
74154 2001-09-26  Jim Meyering  <meyering@lucent.com>
74155
74156         Most macros in unlocked-io.h had the wrong number of arguments.
74157         * lib/gen-uio: New script.
74158         (USE_UNLOCKED_IO): Define to 1 if not already defined.
74159         * lib/unlocked-io.hin: Remove file.
74160         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
74161         rather than trying to embed it here.
74162         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
74163         Reported by Padraig Brady.
74164
74165 2001-09-25  Volker Borchert  <bt@teknon.de>
74166
74167         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
74168         `result'.
74169
74170 2001-09-24  Jim Meyering  <meyering@lucent.com>
74171
74172         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
74173
74174 2001-09-23  Jim Meyering  <meyering@lucent.com>
74175
74176         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
74177         instead of the mere test for existence of mntent.h.  The latter
74178         would get a false-positive on AIX 3.4 systems.
74179         In the outer getmntent if-block, don't die if neither of the getmntent
74180         tests succeeds.  Instead, just fall through and continue with the
74181         remaining tests.
74182
74183 2001-09-23  Jim Meyering  <meyering@lucent.com>
74184
74185         * lib/mountlist.c: Remove useless parentheses in #if directives.
74186         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
74187         the deprecated MOUNTED symbol is no longer defined in mntent.h.
74188
74189 2001-09-22  Jim Meyering  <meyering@lucent.com>
74190
74191         * m4/gettext.m4: New file.  From gettext.
74192         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
74193         * m4/progtest.m4: Likewise
74194         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
74195         * m4/glibc21.m4: Likewise.
74196
74197         * m4/libintl.m4: Remove.  No longer used.
74198
74199 2001-09-22  Jim Meyering  <meyering@lucent.com>
74200
74201         * lib/localcharset.c: Update from latest gettext.
74202         * lib/config.charset: Likewise.
74203
74204 2001-09-20  Jim Meyering  <meyering@lucent.com>
74205
74206         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
74207         strtoimax.
74208         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
74209         strtoumax.
74210
74211 2001-09-20  Jim Meyering  <meyering@lucent.com>
74212
74213         * lib/xstrtol.c (strtoimax): Guard declaration with
74214         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
74215         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
74216         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
74217         (strtoumax): Likewise, for completeness (it wasn't necessary).
74218
74219 2001-09-17  Paul Eggert  <eggert@twinsun.com>
74220
74221         * lib/strtoimax.c (HAVE_LONG_LONG):
74222         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
74223         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
74224         to work around bug in IBM C compiler.
74225
74226 2001-09-17  Jim Meyering  <meyering@lucent.com>
74227
74228         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
74229         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
74230         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
74231         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
74232         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
74233         whenever the right hand side need not be expanded by the shell.
74234
74235 2001-09-16  Paul Eggert  <eggert@twinsun.com>
74236
74237         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
74238         library.  It's not correct, as some older glibcs are buggy.
74239         fnmatch wasn't fixed until glibc 2.2.
74240
74241         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
74242         special shell magic here.
74243
74244 2001-09-16  Jim Meyering  <meyering@lucent.com>
74245
74246         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
74247         * m4/jm-macros.m4: Require it.
74248
74249 2001-09-16  Jim Meyering  <meyering@lucent.com>
74250
74251         * lib/mkdir.c: New file.
74252
74253 2001-09-15  Jim Meyering  <meyering@lucent.com>
74254
74255         * m4/jm-macros.m4: Check for help2man.
74256
74257 2001-09-11  Jim Meyering  <meyering@lucent.com>
74258
74259         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
74260         The body, by Paul Eggert, was moved here from configure.in.
74261         * m4/jm-macros.m4: Require UTILS_HOST_OS.
74262
74263 2001-09-04  Paul Eggert  <eggert@twinsun.com>
74264
74265         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
74266         (jm_PREREQ): Use it.
74267
74268 2001-09-04  Paul Eggert  <eggert@twinsun.com>
74269
74270         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
74271         Use ssize_t, not int, to store result of readlink.
74272         Check for ssize_t overflow as well as size_t overflow,
74273         as POSIX says the result of readlink is implementation-defined
74274         when ssize_t overflows.
74275         Remove unnecessary cast to char*.
74276         Use free+malloc instead of realloc, as the storage doesn't need
74277         to be preserved and it's clearer and can be more efficient that way.
74278         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
74279         * lib/xreadlink.h (xreadlink): Update prototype.
74280
74281 2001-09-04  Paul Eggert  <eggert@twinsun.com>
74282
74283         * lib/xgetcwd.c: Revert some of the previous change; intead,
74284         fix the HAVE_GETCWD_NULL code to behave more like the
74285         !HAVE_GETCWD_NULL code used to.
74286
74287         Include "xalloc.h".
74288         (xgetcwd): Do not return NULL when memory is exhausted; instead,
74289         invoke xalloc_die.
74290
74291 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74292
74293         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
74294         sys/param.h, as pathmax.h includes them.
74295
74296 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74297
74298         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
74299         (jm_PREREQ_XGETCWD): New macro.
74300
74301         * m4/getcwd.m4: New file.
74302
74303 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74304
74305         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
74306         like the HAVE_GETCWD_NULL code.
74307         Include pathmax.h if not HAVE_GETCWD.
74308         Do not include xalloc.h.
74309         (INITIAL_BUFFER_SIZE): New symbol.
74310         Do not use xmalloc / xrealloc, since the caller is responsible for
74311         handling errors.  Preserve errno around `free' during failure.
74312         Do not overrun buffer when using getwd.
74313
74314 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74315
74316         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
74317         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
74318         getcwd (NULL, 0).
74319
74320 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74321
74322         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
74323         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
74324         spotted by Jim Meyering.
74325
74326 2001-09-03  Jim Meyering  <meyering@lucent.com>
74327
74328         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
74329         failure.
74330
74331 2001-09-02  Jim Meyering  <meyering@lucent.com>
74332
74333         * lib/error.c: Update from GNU libc.
74334
74335 2001-09-01  Jim Meyering  <meyering@lucent.com>
74336
74337         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
74338         Used by df.
74339
74340 2001-09-01  Jim Meyering  <meyering@lucent.com>
74341
74342         * lib/xreadlink.c: New file.
74343         * lib/xreadlink.h: New file.
74344         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
74345         xreadlink.h.
74346
74347         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
74348         doesn't conflict with sparc Solaris 7's definition in
74349         /usr/include/sys/int_types.h.
74350
74351         * lib/exclude.c: Use `""', not `<>' to #include non-system header
74352         files.
74353         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
74354         and strncasecmp as r-values.  Unixware didn't have declarations.
74355
74356 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74357
74358         * lib/xstrtol.h: Add copyright notice.
74359         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
74360         LONGINT_INVALID_SUFFIX_CHAR.
74361
74362 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74363
74364         * lib/xstrtol.c (strtoimax): New decl.
74365
74366 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74367
74368         * lib/xgetcwd.c: Don't include pathmax.h.
74369         Include stdlib.h and unistd.h if available.
74370         Include xalloc.h.
74371         (xmalloc, xstrdup, free): Remove decls.
74372         (xgetcwd): Don't assume sizes fit in unsigned.
74373         Check for overflow when computing sizes.
74374         Simplify reallocation code.
74375
74376 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74377
74378         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
74379         a directory's st_size can have an arbitrary value, so the old
74380         usage could waste an arbitrary amount of memory.  All uses
74381         changed.
74382         * lib/savedir.h: Update prototype.
74383
74384 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74385
74386         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
74387
74388         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
74389         old strtoimax.c.
74390
74391         Also, make the following further changes to make this file's
74392         configuration more similar to that of strtol.c:
74393         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
74394         (strtoumax, uintmax_t, strtoull, strtol): Remove.
74395         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
74396         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
74397         changed to signed values.
74398
74399         And make the following changes as well:
74400         Fix copyright notice, as 1999 was missing.
74401         (verify): New macro.
74402         (strtoimax): Check sizes at compile-time, not run-time.
74403         Prefer strtol to strtoll if both work.
74404         (main): Remove; it was not that useful and was a pain to maintain.
74405
74406         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
74407
74408 2001-08-31  Jim Meyering  <meyering@lucent.com>
74409
74410         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
74411         Use an initial, malloc'd, buffer of length 128 rather than
74412         a statically allocated one of length 1024.
74413
74414 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74415
74416         Simplify code, partly by assuming autoconf 2.52 semantics.
74417
74418         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
74419
74420         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
74421         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
74422         All uses removed.
74423         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
74424         Move AC_REQUIRE to next-to-top level, to avoid confusion.
74425         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
74426         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
74427         jm_AC_HEADER_INTTYPES_H.
74428         * m4/jm-macros.m4 (jm_MACROS): Likewise.
74429
74430         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
74431
74432         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
74433         Quote first arg of AC_DEFUN.
74434         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
74435         since they are needed to parse the include file even if we need
74436         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
74437         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
74438         but with opposite signedness.
74439
74440 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74441
74442         Merge 'exclude' changes from tar 1.13.22.
74443         This fixes one or two unlikely storage allocation overflow bugs,
74444         but doesn't change user-visible behavior otherwise.
74445
74446 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74447
74448         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
74449         (jm_PREREQ_EXCLUDE): New macro.
74450
74451 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74452
74453         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
74454         tm to be declared.
74455
74456 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74457
74458         * lib/hash.c: Remove '2001' from copyright notice.
74459
74460 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74461
74462         * lib/full-write.h: New file.
74463         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
74464         * lib/full-write.c: Correct credits, as cccp.c no longer
74465         exists and anyway it was so heavily changed from the old cccp
74466         code as to be unrecognizable.  Include full-write.h.
74467         (full_write) Return size_t, with short writes meaning failure.
74468         All callers changed.  This fixes a bug with large buffers
74469         on 64-bit hosts.
74470         * lib/utime.c: Include full-write.h.
74471
74472 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74473
74474         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
74475         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
74476         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
74477         Include if available.
74478         (<xalloc.h>): Include
74479         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
74480         (verify): New macro.  Use it to verify that EXCLUDE macros do not
74481         collide with FNM macros.
74482         (struct patopts): New struct.
74483         (struct exclude): Use it, as exclude patterns now come with options.
74484         (new_exclude): Support above changes.
74485         (new_exclude, add_exclude_file):
74486         Initial size must now be a power of two to simplify overflow checking.
74487         (free_exclude, fnmatch_no_wildcards): New function.
74488         (excluded_filename): No longer requires options arg, as the options
74489         are determined by add_exclude.  Now returns bool, not int.
74490         (excluded_filename, add_exclude):
74491         Add support for the fancy new exclusion options.
74492         (add_exclude, add_exclude_file): Now takes int options arg.
74493         Check for arithmetic overflow when computing sizes.
74494         (add_exclude_file): xrealloc might modify errno, so don't
74495         realloc until after errno might be used.
74496
74497         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
74498         New macros.
74499         (free_exclude): New decl.
74500         (add_exclude, add_exclude_file): Now takes int options arg.
74501         (excluded_filename): No longer requires options arg, as the options
74502         are determined by add_exclude.  Now returns bool, not int.
74503
74504 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74505
74506         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
74507
74508 2001-08-27  Jim Meyering  <meyering@lucent.com>
74509
74510         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
74511
74512         * lib/version-etc.c (N_): Remove definition.
74513         Revert most of last change.
74514         Instead, simply don't mark the `Copyright...' string for translation.
74515         Based on advice from Paul Eggert.
74516
74517         * lib/strtoxmax.c: Tweak comment.
74518
74519 2001-08-26  Jim Meyering  <meyering@lucent.com>
74520
74521         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
74522
74523         * m4/xstrtoimax.m4: New file.
74524         * m4/xstrtoumax.m4: Add comments explaining why we
74525         AC_REPLACE_FUNCS(strtol).
74526
74527 2001-08-26  Jim Meyering  <meyering@lucent.com>
74528
74529         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
74530         of copyright with `%s' so translators don't get an untranslated
74531         message in 2002.
74532         (COPYRIGHT_YEAR): Define.
74533         (version_etc): Use fprintf rather than fputs.
74534         Suggestion from Ulrich Drepper.
74535
74536         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
74537
74538         * lib/strtoll.c: New file, from GNU libc.
74539         * lib/xstrtoimax.c: New file.
74540
74541         * lib/xstrtol.h: Add xstrtoimax.
74542         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
74543         * lib/strtoimax.c: New file.  Likewise, but first define
74544         STRTOUXMAX_SIGNED.
74545
74546         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
74547         ...
74548         * lib/strtoxmax.c: ... then renamed to this.
74549
74550 2001-08-18  Paul Eggert  <eggert@twinsun.com>
74551
74552         * m4/inttypes.m4: Add AC_PREREQ(2.13).
74553         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
74554         (jm_AC_TYPE_INTMAX_T): New macro.
74555         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
74556
74557         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
74558
74559         * m4/longlong.m4: Renamed from ulonglong.m4.
74560         * m4/inttypes.m4: Renamed from inttypes_h.m4.
74561         * m4/uintmax_t.m4: Removed.
74562
74563 2001-08-13  Paul Eggert  <eggert@twinsun.com>
74564
74565         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
74566         Port to Solaris 8, where 'sed' requires a space after the 'r'
74567         command, and where sh dislikes "$/".  Clean up the spacing a bit.
74568         Redirect output to $tmp just once.
74569
74570 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
74571
74572         * lib/addext.c (<errno.h>): Include.
74573         (errno): Declare if not defined.
74574         (addext): Work correctly when pathconf returns -1 and leaves
74575         errno alone because there is no limit.  Also, work even if
74576         pathconf returns a value greater than SIZE_MAX.
74577
74578 2001-08-12  Jim Meyering  <meyering@lucent.com>
74579
74580         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
74581         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
74582         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
74583         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
74584         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
74585         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
74586         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
74587         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
74588         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
74589         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
74590         utime.m4, utimes.m4, xstrtoumax.m4:
74591         Quote the first argument in each use of AC_DEFUN.
74592
74593 2001-08-12  Jim Meyering  <meyering@lucent.com>
74594
74595         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
74596         Simply `return getcwd (NULL, 0);'.
74597         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
74598         Use 1300 as initial value for length, not PATH_MAX.
74599
74600         * lib/pathmax.h: Clean up cpp syntax.
74601
74602 2001-08-12  Jim Meyering  <meyering@lucent.com>
74603
74604         * lib/gettimeofday.c: New file.
74605         * lib/gtod.h: New file.
74606         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
74607
74608 2001-08-05  Jim Meyering  <meyering@lucent.com>
74609
74610         * m4/jm-macros.m4: Require autoconf-2.52.
74611
74612 2001-08-04  Jim Meyering  <meyering@lucent.com>
74613
74614         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
74615         stmt, to get in sync with glibc.
74616
74617 2001-08-03  Paul Eggert  <eggert@twinsun.com>
74618
74619         The following changes are from gettext 0.10.39 as maintained by
74620         Bruno Haible.
74621
74622         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
74623         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
74624         with inverted sense.  All uses changed.
74625
74626         * lib/mbswidth.c: Don't include <limits.h>.
74627         Include <stdlib.h> and <string.h> unconditionally.
74628         (iswcntrl, mbsinit, ISCNTRL): New macros.
74629         (mbsnwidth): Use K&R style function declarations.
74630         Don't bother checking for MB_LEN_MAX == 1, since the compiler
74631         can optimize it when MB_CUR_MAX == 1.
74632         The width of control characters is zero, not 1.
74633
74634 2001-08-03  Paul Eggert  <eggert@twinsun.com>
74635
74636         The following changes are from gettext 0.10.39 as maintained by
74637         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
74638
74639         * m4/codeset.m4: Upgrade to serial AM1.
74640         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
74641         all uses changed.  Quote first arg of AC_DEFUN.
74642         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
74643
74644         * m4/iconv.m4: Upgrade to serial AM2.
74645         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
74646         Add --with-libconv-prefix.
74647         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
74648         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
74649         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
74650         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
74651         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
74652
74653         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
74654         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
74655         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
74656         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
74657         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
74658         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
74659         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
74660         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
74661         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
74662
74663         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
74664         string.h any more.
74665
74666         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
74667         not the default value.
74668
74669         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
74670         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
74671         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
74672         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
74673         Also check for iswcntrl, used for wcwidth fallback.
74674         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
74675         to Autoconf 2.13.
74676
74677 2001-08-03  Jim Meyering  <meyering@lucent.com>
74678
74679         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
74680         as it was in the original.  Reported by Paul Eggert.
74681
74682 2001-07-16  Jim Meyering  <meyering@lucent.com>
74683
74684         * m4/gettimeofday.m4: New file.
74685         Prompted by a report from Bernhard Baehr.
74686
74687 2001-07-15  Jim Meyering  <meyering@lucent.com>
74688
74689         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
74690         stuff. Now it's in ../Makefile.cfg.
74691
74692 2001-07-15  Jim Meyering  <meyering@lucent.com>
74693
74694         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
74695         (BUILT_SOURCES): Add unlocked-io.h.
74696         (io_functions): Define.
74697         (unlocked-io.h): New rule.
74698         (DISTCLEANFILES): Add unlocked-io.h.
74699         (all-local): Depend on unlocked-io.h, to ensure it is created.
74700
74701         * lib/unlocked-io.hin: New file
74702
74703         * lib/regex.c: Update from glibc.
74704
74705 2001-07-05  Jim Meyering  <meyering@lucent.com>
74706
74707         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
74708         recommendation.
74709         (libfetish_a_SOURCES): Put all .h files here instead.
74710         Remove a thus-exposed (better checks in automake) duplicate and
74711         two unnecessary .h files.
74712
74713 2001-07-04  Jim Meyering  <meyering@lucent.com>
74714
74715         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
74716         that generates jm-glibc-io.m4 so that it doesn't trigger any make
74717         distcheck failure.
74718
74719 2001-07-02  Jim Meyering  <meyering@lucent.com>
74720
74721         The following changes were prompted by suggestions from Bruno Haible.
74722
74723         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
74724         is now generated.
74725         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
74726         definition of EXTRA_DIST.
74727         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
74728         ensure that the generated file is created/updated whenever the list
74729         of $(unlocked_functions) is changed.
74730         (jm-glibc-io.m4): New rule.
74731         (unlocked-io.h): New rule -- currently unused.
74732
74733 2001-06-24  Jim Meyering  <meyering@lucent.com>
74734
74735         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
74736         unmatched right bracket, rather than kludging it with an extra,
74737         falsely-matching quote in a comment.  Patch by Akim Demaille.
74738
74739 2001-06-11  Jim Meyering  <meyering@lucent.com>
74740
74741         * lib/regex.c: Update from GNU libc.
74742
74743 2001-05-27  Jim Meyering  <meyering@lucent.com>
74744
74745         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
74746         Check for ut_type in struct utmp.
74747
74748 2001-05-27  Jim Meyering  <meyering@lucent.com>
74749
74750         * lib/readutmp.h (UT_TYPE): Define.
74751
74752 2001-05-24  Jim Meyering  <meyering@lucent.com>
74753
74754         * lib/argmatch.c: Include "quote.h".
74755         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
74756         quote function.  Reported by Göran Uddeborg.
74757
74758 2001-05-22  Jim Meyering  <meyering@lucent.com>
74759
74760         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
74761         now that we use the package-supplied version unconditionally.
74762         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
74763
74764 2001-05-21  Jim Meyering  <meyering@lucent.com>
74765
74766         * m4/regex.m4: Change a couple backticks to single quotes to avoid
74767         shell syntax errors.
74768
74769 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
74770
74771         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
74772
74773 2001-05-20  Paul Eggert  <eggert@twinsun.com>
74774
74775         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
74776         Don't bother to check library strftime, since
74777         we'll be using our own my_strftime function anyway.
74778         Define my_strftime instead of strftime.
74779
74780 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
74781
74782         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
74783         which is not yet declared.
74784
74785 2001-05-15  Jim Meyering  <meyering@lucent.com>
74786
74787         * m4/regex.m4: Use proper quoting so brackets appear in the test
74788         program.
74789         Reported by, and with help from, Bruno Haible.
74790
74791 2001-05-13  Jim Meyering  <meyering@lucent.com>
74792
74793         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
74794         undefined.
74795
74796 2001-05-11  Paul Eggert  <eggert@twinsun.com>
74797
74798         dirname code cleanup.  base_name now behaves more compatibly
74799         with POSIX basename when given file names that have trailing
74800         slashes, and similarly for dir_name.  Add new primitives
74801         base_len and dir_len.  Put the directory-name-related decls
74802         into dirname.h.
74803
74804         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
74805         * lib/backupfile.c (base_name): Likewise.
74806         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
74807         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
74808         * lib/makepath.c (strip_trailing_slashes): Likewise.
74809         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
74810         ISSLASH): Likewise.
74811         * lib/rename.c (strip_trailing_slashes): Likewise.
74812         * lib/same.c (base_name): Likewise.
74813         * lib/stripslash.c (ISSLASH): Likewise.
74814
74815         * lib/addext.c: Include <dirname.h> after size_t is defined.
74816         * lib/backupfile.c: Likewise.
74817
74818         * lib/addext.c (addext): Use base_len to trim redundant
74819         trailing slashes instead of doing it ourselves.
74820         But do not trim the last slash if it is not redundant.
74821
74822         * lib/backupfile.c (find_backup_file_name,
74823         max_backup_version): Use base_len instead of rolling it ourselves.
74824         Handle the case of "" and (on DOS) "C:" correctly.
74825
74826         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
74827         needed. Include <string.h>, <dirname.h>.
74828         (base_name): Allow file names ending in slashes, other than names
74829         that are all slashes.  In this case, return the basename followed
74830         by the slashes.  This is more general, and can be used in places
74831         where the original base_name purposely had an assertion failure.
74832         (base_len): New function.
74833
74834         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
74835         Do not include <assert.h>; no longer needed.
74836         Include xalloc.h.
74837         (memrchr): Remove decl.
74838         (dir_name_r): Remove.
74839         (dir_len): Renamed from dirlen.  All callers changed.
74840         Rewrite in terms of base_name, for simplicity and consistency.
74841         (dir_name): Never return NULL.  All callers changed.
74842         Do not include <stdlib.h> in test program; no longer needed.
74843         return 0; is fine for test program.
74844
74845         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
74846         New macros.
74847         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
74848
74849         * lib/path-concat.c (path_concat): Use base_len to compute
74850         base length, not strlen; this means we cannot rely on memcpy
74851         to null-terminate.
74852
74853         * lib/same.c (STREQ): Remove.
74854         (same_name): Handle the case where the basename ends in trailing '/'.
74855
74856         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
74857         a slash was stripped.  Do not strip the last slash after a
74858         file system prefix.
74859
74860 2001-05-11  Paul Eggert  <eggert@twinsun.com>
74861
74862         * lib/Makefile.am (libfetish_a_SOURCES):
74863         Add strftime.c, since we now compile it on all hosts.
74864
74865         * lib/strftime.c (my_strftime):
74866         Define to nstrftime if emacs, but only if my_strftime is not defined.
74867         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
74868         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
74869         Add one more extra argument: a nanoseconds value.
74870         All uses changed.
74871         (ns): New macro.
74872         (my_strftime function): Add %N format.
74873         (emacs_strftimeu): Renamed from emacs_strftime,
74874         with extra ut argument.
74875
74876 2001-05-09  Paul Eggert  <eggert@twinsun.com>
74877
74878         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
74879
74880 2001-04-21  Jim Meyering  <meyering@lucent.com>
74881
74882         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
74883         doesn't interfere.
74884
74885 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
74886
74887         * m4/ftruncate.m4: Check for chsize.
74888         Link with ftruncate.o unconditionally if ftruncate is missing.
74889         This was required when cross-compiling to i586-mingw32msvc.
74890
74891 2001-04-08  Jim Meyering  <meyering@lucent.com>
74892
74893         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
74894         recomputed; that's necessary when the offset spans a DST transition.
74895         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
74896
74897 2001-04-02  Jim Meyering  <meyering@lucent.com>
74898
74899         * lib/regex.h, regex.c: Update from GNU libc.
74900
74901 2001-03-24  Jim Meyering  <meyering@lucent.com>
74902
74903         * m4/jm-macros.m4: Require autoconf-2.49d.
74904
74905 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
74906
74907         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
74908
74909 2001-03-19  Paul Eggert  <eggert@twinsun.com>
74910
74911         * lib/version-etc.c (version_etc_copyright): Update to 2001.
74912
74913 2001-03-17  Jim Meyering  <meyering@lucent.com>
74914
74915         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
74916         now that the version in autoconf is equivalent.
74917         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
74918
74919         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
74920         Suggestion from Akim Demaille.
74921
74922         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
74923         (jm_PREREQ_TEMPNAME): New function.
74924
74925 2001-03-16  Paul Eggert  <eggert@twinsun.com>
74926
74927         * lib/tempname.c (uint64_t): Define to uintmax_t if
74928         not defined, and if UINT64_MAX is not defined.
74929         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
74930         Reported by John David Anglin.
74931
74932 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
74933
74934         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
74935         resolve alias if codeset is empty.
74936         * lib/config.charset (BeOS): Use wildcard syntax.
74937
74938 2001-03-13  Jim Meyering  <meyering@lucent.com>
74939
74940         * lib/path-concat.c (path_concat)
74941         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
74942         concatenating e.g., `C:' and `foo'.
74943         From Bruno Haible.
74944
74945 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
74946
74947         * lib/localcharset.c (locale_charset): Don't use
74948         setlocale(LC_CTYPE,NULL). Don't return NULL.
74949         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
74950
74951 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
74952
74953         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
74954         support for DOS/DJGPP.
74955
74956 2001-03-01  Paul Eggert  <eggert@twinsun.com>
74957
74958         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
74959         lacks mkstemp.  Compile our own tempname.c if we compile our own
74960         mkstemp.c, as mkstemp relies on tempname.
74961
74962 2001-03-01  Jim Meyering  <meyering@lucent.com>
74963
74964         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
74965         AH_VERBATIM really does output its argument verbatim.
74966
74967 2001-02-28  Paul Eggert  <eggert@twinsun.com>
74968
74969         * lib/Makefile.am (libfetish_a_SOURCES):
74970         Add dup-safer.c, fopen-safer.c.
74971         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
74972
74973         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
74974         * lib/unistd-safer.h: New files.
74975
74976 2001-02-25  Paul Eggert  <eggert@twinsun.com>
74977
74978         The mkstemp replacement is taken from glibc 2.2.2, with some
74979         portability fixes for use outside glibc, as follows:
74980
74981         * lib/tempname.c (struct_stat64): New macro.
74982         (direxists, __gen_tempname): Use it.
74983         This avoids a portability problem with Solaris 8.
74984
74985         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
74986         (<stddef.h>, <stdint.h>, <string.h>):
74987         Include only if STDC_HEADERS || _LIBC.
74988         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
74989         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
74990         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
74991         (__set_errno): Define this macro if <errno.h> doesn't.
74992         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
74993         Define these macros if <stdio.h> doesn't.
74994         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
74995         Define these macros if <sys/stat.h>
74996         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
74997         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
74998         __xstat64): Define if not _LIBC.
74999         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
75000         (__gen_tempname): Invoke gettimeofday only if
75001         HAVE_GETTIMEOFDAY || _LIBC;
75002         otherwise, fall back on plain "time".
75003         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
75004
75005         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
75006
75007         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
75008
75009 2001-02-18  Paul Eggert  <eggert@twinsun.com>
75010
75011         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
75012
75013 2001-02-17  Paul Eggert  <eggert@twinsun.com>
75014
75015         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
75016         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
75017         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
75018         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
75019
75020 2001-02-17  Paul Eggert  <eggert@twinsun.com>
75021
75022         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
75023         Remove workaround macros for hosts that have mbrtowc but not
75024         mbstate_t, as we now insist on proper declarations for both
75025         before using mbrtowc.
75026
75027 2001-02-17  Jim Meyering  <meyering@lucent.com>
75028
75029         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
75030         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
75031         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
75032         UnixWare 7.1.1.
75033
75034         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
75035         rather than AC_CACHE_VAL.
75036
75037 2001-02-17  Jim Meyering  <meyering@lucent.com>
75038
75039         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
75040         around included file name.
75041
75042         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
75043
75044         * lib/strftime.c: Update from GNU libc (the only changes were to
75045         comments).
75046
75047 2001-02-17  Jim Meyering  <meyering@lucent.com>
75048
75049         * lib/regex.c: Update from libc.
75050
75051 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
75052
75053         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
75054         clash.
75055
75056 2001-02-16  Paul Eggert  <eggert@twinsun.com>
75057
75058         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
75059         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
75060         Reported by Mark Hounschell via Paul Eggert.
75061
75062 2001-02-07  Jim Meyering  <meyering@lucent.com>
75063
75064         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
75065
75066 2001-02-05  Jim Meyering  <meyering@lucent.com>
75067
75068         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
75069         it includes the patch required for `large file' support with at least
75070         HP-UX's 10.20 /bin/cc.
75071
75072 2001-02-03  Jim Meyering  <meyering@lucent.com>
75073
75074         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
75075         AS_IF, now that it works once again (mysteriously).
75076         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
75077
75078 2001-01-30  Jim Meyering  <meyering@lucent.com>
75079
75080         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
75081         * m4/chown.m4: Rename conftestchown to conftest.chown.
75082         * m4/rename.m4: s/conftestdir/conftest.d1/ and
75083         s/conftestdir2/conftest.d2/.
75084         * m4/utimes.m4: s/conftestdata/conftest.data/
75085         Inspired by Pavel Roskin's change in autoconf.
75086
75087 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
75088
75089         * lib/config.charset: Update for FreeBSD 4.2.
75090
75091 2001-01-27  Jim Meyering  <meyering@lucent.com>
75092
75093         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
75094         a use of AS_IF.
75095         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
75096
75097 2001-01-26  Jim Meyering  <meyering@lucent.com>
75098
75099         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
75100         quotearg.c includes it.
75101
75102 2001-01-26  Jim Meyering  <meyering@lucent.com>
75103
75104         * lib/quotearg.c: Include stddef.h.
75105         * lib/quote.c: Include stddef.h.
75106         Reported by Axel Kittenberger.
75107
75108         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
75109         line in double quotes so that it evokes a better diagnostic.
75110         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
75111         Reported by Axel Kittenberger.
75112
75113 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
75114
75115         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
75116         as if it was a `charset'.
75117
75118 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
75119
75120         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
75121         has const.
75122
75123 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
75124
75125         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
75126         to avoid a warning.  Add back 'const' to inptr.
75127
75128 2001-01-20  Jim Meyering  <meyering@lucent.com>
75129
75130         Be sure that headers are checked before used in code compiled
75131         for the type checks.
75132         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
75133         In place of that, invoke jm_CHECK_ALL_TYPES.
75134         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
75135         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
75136         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
75137         The check for ssize_t was mistakenly run before the test for unistd.h.
75138
75139         The configure-time check for stdbool.h was missing.
75140         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
75141         (jm_PREREQ_HASH): New function.
75142
75143 2001-01-17  Jim Meyering  <meyering@lucent.com>
75144
75145         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
75146         for autoconf-2.49c.
75147         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
75148
75149 2001-01-16  Jim Meyering  <meyering@lucent.com>
75150
75151         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
75152         From Bruno Haible.
75153
75154 2001-01-14  Jim Meyering  <meyering@lucent.com>
75155
75156         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
75157         foo and bar.  Create conftestdir/ in the script, not in the C code.
75158         Remove directories in the script, not in the C code.
75159         Remove conftestdir{,2} before trying to create the directory.
75160         Make the entire configure script fail if the mkdir fails.
75161
75162 2001-01-14  Jim Meyering  <meyering@lucent.com>
75163
75164         * lib/rename.c: New file.  From Volker Borchert.
75165         Include stdlib.h, string.h or strings.h, and xalloc.h.
75166         Use strip_trailing_slashes rather than open-coding it.
75167
75168 2001-01-03  Paul Eggert  <eggert@twinsun.com>
75169
75170         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
75171
75172 2001-01-03  Jim Meyering  <meyering@lucent.com>
75173
75174         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
75175         of local `inptr' to avoid warning with some system declarations of
75176         iconv.
75177
75178 2001-01-02  Volker Borchert  <bt@teknon.de>
75179
75180         * m4/rename.m4: New file.
75181         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
75182
75183 2001-01-01  Jim Meyering  <meyering@lucent.com>
75184
75185         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
75186         even on systems with utmpx.h.  It's necessary for the declaration of
75187         utmp's ut_user member.  Reported by Andreas Jaeger.
75188
75189         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
75190         available. They are required for the declarations of getgrgid and
75191         getpwuid resp.
75192         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
75193         Reported by Andreas Jaeger.
75194
75195 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
75196
75197         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
75198         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
75199         so `make install' also works in VPATH builds.
75200
75201 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
75202
75203         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
75204         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
75205         can be used in subdirectories.
75206
75207 2000-12-29  Paul Eggert  <eggert@twinsun.com>
75208
75209         * lib/modechange.c: Do not assume that mode_t uses the
75210         traditional octal encoding.  E.g. "chmod 1 FOO" should set
75211         the other-execute bit of FOO even if S_IXOTH != 1.
75212
75213         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
75214         WOTH, XOTH, ALLM): New macros.
75215         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
75216          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
75217         Use them.
75218         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
75219         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
75220         (mode_compile):
75221         No need to use uintmax_t; unsigned long is long enough.
75222         Don't bother to get suffix since we don't use it.
75223
75224 2000-12-26  Jim Meyering  <meyering@lucent.com>
75225
75226         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
75227         better with autoheader.
75228
75229 2000-12-24  Jim Meyering  <meyering@lucent.com>
75230
75231         * lib/hash.c (is_prime): Return explicit boolean values.
75232         (hash_get_first): Return NULL to appease Irix5.6's 89.
75233         Reported by Nelson Beebe.
75234
75235 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
75236
75237         * lib/localcharset.c (locale_charset): Add support for Win32.
75238
75239 2000-12-18  Paul Eggert  <eggert@twinsun.com>
75240
75241         * lib/physmem.h, lib/physmem.c: New files.
75242
75243         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
75244         (noinst_HEADERS): Add physmem.h.
75245
75246         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
75247         't' for compatibility with Solaris 8 sort.
75248
75249 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
75250
75251         * lib/config.charset: Add support for BeOS.
75252
75253 2000-12-17  Jim Meyering  <meyering@lucent.com>
75254
75255         * m4/dos.m4 (jm_AC_DOS): New file and macro.
75256         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
75257
75258 2000-12-16  Jim Meyering  <meyering@lucent.com>
75259
75260         This bug had a serious impact on chown: `chown N:M FILE' (for integer
75261         N and M) would have treated it like `chown N:N FILE'.
75262
75263         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
75264
75265 2000-12-16  Jim Meyering  <meyering@lucent.com>
75266
75267         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
75268         SHELLS_FILE to a file name that's useful on djgpp systems.
75269         Include stdlib.h.
75270         (ADDITIONAL_DEFAULT_SHELLS): Define.
75271         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
75272         Based mostly on a patch from Prashant TR.
75273
75274 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
75275
75276         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
75277         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
75278         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
75279
75280 2000-12-08  Andreas Schwab  <schwab@suse.de>
75281
75282         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
75283         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
75284
75285 2000-12-07  Jim Meyering  <meyering@lucent.com>
75286
75287         * lib/stripslash.c (ISSLASH): Define.
75288         (strip_trailing_slashes): Use ISSLASH rather than comparing against
75289         `/'.
75290         From Prashant TR.
75291
75292         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
75293         (dir_name_r): Declare this function as static.
75294         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
75295         manifest itself on a name containing a mix of slashes and
75296         backslashes.
75297         Make this function work with names starting with a DOS-style
75298         drive letter and colon prefix.
75299         (dir_name): Append `.' if necessary.
75300         Based mostly on patches from Prashant TR and Eli Zaretskii.
75301
75302         * lib/dirname.h (dir_name_r): Remove prototype.
75303
75304 2000-12-06  Paul Eggert  <eggert@twinsun.com>
75305
75306         * m4/off_t-format.m4: Remove this file.
75307         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
75308
75309 2000-12-06  Jim Meyering  <meyering@lucent.com>
75310
75311         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
75312         replacement strtoull, we may well need the replacement strtoul, too.
75313         Check for declarations of strtoul and strtoull.
75314         Check for strtol.  Mainly as a cue to cause automake to include
75315         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
75316         Check for limits.h -- strtol.c needs it.
75317
75318 2000-12-05  Jim Meyering  <meyering@lucent.com>
75319
75320         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
75321
75322 2000-12-04  Jim Meyering  <meyering@lucent.com>
75323
75324         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
75325         Also include memory.h, stdlib.h, unistd.h if appropriate.
75326         Reported by Andreas Jaeger (conflicting declaration of malloc).
75327
75328 2000-12-02  Jim Meyering  <meyering@lucent.com>
75329
75330         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
75331         * m4/jm-macros.m4 (jm_MACROS): require it.
75332
75333 2000-12-02  Jim Meyering  <meyering@lucent.com>
75334
75335         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
75336
75337 2000-12-01  Paul Eggert  <eggert@twinsun.com>
75338
75339         * lib/memrchr.c: Include <config.h> before any system include file.
75340
75341 2000-11-30  Jim Meyering  <meyering@lucent.com>
75342
75343         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
75344
75345 2000-11-30  Jim Meyering  <meyering@lucent.com>
75346
75347         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
75348
75349 2000-11-29  Paul Eggert  <eggert@twinsun.com>
75350
75351         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
75352
75353 2000-11-26  Jim Meyering  <meyering@lucent.com>
75354
75355         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
75356
75357 2000-11-22  Paul Eggert  <eggert@twinsun.com>
75358
75359         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
75360         size of (size_t) -1; it's not portable.
75361
75362 2000-11-17  Jim Meyering  <meyering@lucent.com>
75363
75364         * lib/strstr.c: Update from GNU libc.
75365
75366 2000-11-17  Akim Demaille  <akim@epita.fr>
75367
75368         * lib/obstack.h: Formatting changes.
75369         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
75370         prevent type checking.
75371         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
75372         cast the value to (void *): assigning a `foo *' to a `void *'
75373         variable is valid.
75374         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
75375
75376 2000-11-16  Jim Meyering  <meyering@lucent.com>
75377
75378         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
75379
75380 2000-11-11  Jim Meyering  <meyering@lucent.com>
75381
75382         * lib/error.c: Add a couple #includes, merging from GNU libc version.
75383
75384 2000-11-10  Jim Meyering  <meyering@lucent.com>
75385
75386         * lib/obstack.h: Update from GNU libc.
75387         * lib/obstack.c: Likewise.
75388
75389 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
75390
75391         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
75392
75393 2000-11-06  Paul Eggert  <eggert@twinsun.com>
75394
75395         * lib/getusershell.c (setusershell): Use rewind rather than
75396         fseek/fseeko, to avoid configuration hassles with fseeko.
75397         Don't bother opening SHELLS_FILE if shellstream is NULL;
75398         it's not necessary.
75399
75400 2000-11-05  Jim Meyering  <meyering@lucent.com>
75401
75402         * lib/makepath.h (make_dir): Declare.
75403         * lib/makepath.c (make_dir): Remove `static' attribute.
75404         Tweak a comment.
75405
75406 2000-11-04  Jim Meyering  <meyering@lucent.com>
75407
75408         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
75409
75410 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
75411
75412         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
75413         last one in a bucket, advance to the next bucket.
75414
75415 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
75416
75417         * lib/fnmatch.c: Do not comment out all the code if we are using
75418         the GNU C library, because in some cases we are replacing buggy
75419         code in the GNU C library itself.
75420
75421 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
75422
75423         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
75424         (regex_compile): Catch bogus \(\1\).
75425
75426 2000-10-30  Paul Eggert  <eggert@twinsun.com>
75427
75428         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
75429         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
75430         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
75431
75432 2000-10-30  Paul Eggert  <eggert@twinsun.com>
75433
75434         * lib/error.h, getline.h, modechange.h:
75435         Remove "2000" from Copyright line, as the file hasn't been
75436         changed this year other than in the copyright notice.
75437
75438         * lib/xalloc.h: Add "2000" to Copyright line, as this file
75439         was changed this year.
75440
75441 2000-10-29  Jim Meyering  <meyering@lucent.com>
75442
75443         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
75444         renaming.
75445         * m4/ls-mntd-fs.m4: Likewise
75446
75447 2000-10-29  Jim Meyering  <meyering@lucent.com>
75448
75449         * lib/xstat.in: Fix grammar in comment.
75450
75451 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
75452
75453         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
75454         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
75455         doesn't define __restrict_arr.
75456
75457 2000-10-28  Jim Meyering  <meyering@lucent.com>
75458
75459         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
75460         (jm_PREREQ_MEMCHR): New function.
75461
75462 2000-10-28  Jim Meyering  <meyering@lucent.com>
75463
75464         * lib/memchr.c: Update from libc.
75465         Adjust for portability:
75466         [HAVE_STDLIB_H]: Include stdlib.h.
75467         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
75468         Undef __memchr, too.
75469         [!weak_alias]: Define __memchr to memchr.
75470
75471         * lib/regex.c: Update from libc.
75472         * lib/regex.h: Likewise.
75473         * lib/getopt1.c: Likewise.
75474         * lib/memcmp.c: Likewise.
75475
75476         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
75477         Avoid using fseek, when possible -- it's broken by design.
75478         Patch by Ulrich Drepper.
75479
75480 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
75481
75482         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
75483         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
75484         Giving in to popular pressure to shut up the compiler with casts.
75485
75486 2000-10-26  Jim Meyering  <meyering@lucent.com>
75487
75488         * lib/strftime.c: Update from libc.
75489
75490 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
75491
75492         * regex.c: More `unsigned char' -> `re_char' changes.
75493         Also change several `int' into `re_wchar_t'.
75494         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
75495         (PUSH_FAILURE_POINTER): Don't cast any more.
75496         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
75497         We want GCC to complain, since this piece of code makes
75498         re_match non-reentrant, which *should* be fixed.
75499         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
75500         (EXTEND_BUFFER): Use RETALLOC.
75501         (SET_LIST_BIT): Don't cast.
75502         (re_wchar_t): New type.
75503         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
75504         that those two functions will always properly return.
75505         (IMMEDIATE_QUIT_CHECK): Cast to void.
75506         (analyse_first): Use recursion rather than an explicit stack.
75507         (re_compile_fastmap): Can't fail anymore.
75508         (re_search_2): Don't check re_compile_fastmap for failure.
75509         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
75510         Now also sets the new value (passed in a new argument).
75511         (re_match_2_internal): Use it.
75512         Also, use a new var `reg' of type size_t when looping through regs
75513         rather than reuse the inappropriate `mcnt'.
75514
75515 2000-10-25  Jim Meyering  <meyering@lucent.com>
75516
75517         * lib/obstack.c: Update from libc.
75518
75519 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
75520
75521         * regex.c (regex_compile): Change the way of handling a range from
75522         a char less than 256 to a char not less than 256.
75523
75524 2000-10-24  Andrew Innes  <andrewi@gnu.org>
75525
75526         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
75527         NT-Emacs only.
75528         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
75529         so that re_search functions only quit when callers expect them to.
75530
75531 2000-10-23  Jim Meyering  <meyering@lucent.com>
75532
75533         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
75534         wrong.  That set_locale call must not have any side effects.
75535         From Paul Eggert.
75536
75537 2000-10-22  Jim Meyering  <meyering@lucent.com>
75538
75539         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
75540         [CYCLIC]: Remove now-unused definition.
75541
75542         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
75543         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
75544         Suggestion from Ulrich Drepper.
75545
75546 2000-10-21  Jim Meyering  <meyering@lucent.com>
75547
75548         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
75549         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
75550         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
75551
75552 2000-10-21  Jim Meyering  <meyering@lucent.com>
75553
75554         * lib/dirname.c (memrchr): Declare if necessary.
75555         (dir_name): Remove the restriction that there be no
75556         trailing slashes.  Now, this code skips past them, effectively
75557         ignoring them.
75558         [TEST_DIRNAME] (main): New unit tests.
75559
75560         * lib/memrchr.c: New file from GNU libc.
75561         Undef __memrchr, too.
75562         [!weak_alias]: Define __memrchr to memrchr.
75563         Guard weak_alias use with `#ifdef weak_alias'.
75564
75565 2000-10-21  Jim Meyering  <meyering@lucent.com>
75566
75567         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
75568         (dir_name): Use dir_name_r.
75569         * lib/dirname.h (dir_name_r): Declare it.
75570
75571 2000-10-17  Jim Meyering  <meyering@lucent.com>
75572
75573         * lib/quote.h (PARAMS): Define and use.
75574         Reported by Akim Demaille.
75575
75576         * lib/getopt.c: Update from libc.
75577
75578 2000-10-16  Jim Meyering  <meyering@lucent.com>
75579
75580         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
75581         setlocale.
75582         From Jan Fedak.
75583
75584 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
75585
75586         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
75587
75588 2000-09-25  Jim Meyering  <meyering@lucent.com>
75589
75590         * lib/md5.h (rol): Define (from GnuPG).
75591
75592         * lib/sha.c: Give credit (GnuPG) where due.
75593         (M): Use rol rather than open-coding it.
75594         Add a FIXME comment.
75595
75596 2000-09-21  Jim Meyering  <meyering@lucent.com>
75597
75598         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
75599         Reported by Michael Stone.
75600
75601 2000-09-20  Jim Meyering  <meyering@lucent.com>
75602
75603         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
75604         (noinst_HEADERS): Add sha.h.
75605         Based on code from Scott G. Miller and from GnuPG.
75606
75607 2000-09-18  Jim Meyering  <meyering@lucent.com>
75608
75609         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
75610         LIBS. Otherwise, everyone ends up linking with -lelf for some
75611         configurations.
75612         Reported by Mike Stone.
75613
75614 2000-09-15  Jim Meyering  <meyering@lucent.com>
75615
75616         * lib/regex.c: Update from libc.
75617
75618 2000-09-10  Jim Meyering  <meyering@lucent.com>
75619
75620         * lib/getopt.c (_getopt_internal): Update from glibc.
75621
75622 2000-09-09  Jim Meyering  <meyering@lucent.com>
75623
75624         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
75625         think it should be used as a general replacement for isascii.
75626         * lib/fnmatch.c: Likewise.
75627         * lib/mbswidth.c: Likewise
75628         * lib/regex.c: Likewise.
75629
75630         Don't use atoi.
75631         * lib/userspec.c: Include sys/param.h and limits.h.
75632         Include xstrtol.h.
75633         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
75634         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
75635         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
75636         UID, GID.  Check range.
75637
75638 2000-09-06  Jim Meyering  <meyering@lucent.com>
75639
75640         * lib/getopt.c (_getopt_internal): Update from glibc.
75641
75642 2000-08-30  Jim Meyering  <meyering@lucent.com>
75643
75644         * lib/strftime.c: Merge in changes from GNU libc.
75645
75646 2000-08-26  Jim Meyering  <meyering@lucent.com>
75647
75648         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
75649         * m4/fpending.m4: New file.
75650
75651 2000-08-26  Jim Meyering  <meyering@lucent.com>
75652
75653         * lib/closeout.c: Include "__fpending.h".
75654         (close_stdout_status): Return right away if there's nothing to flush.
75655
75656         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
75657         * lib/__fpending.c: New file.
75658         * lib/__fpending.h: New file.
75659
75660 2000-08-20  Jim Meyering  <meyering@lucent.com>
75661
75662         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
75663         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
75664         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
75665
75666 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
75667
75668         Improve fileutils installation on systems where running
75669         programs (like install) can't be unlinked.
75670         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
75671         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
75672
75673 2000-08-07  Paul Eggert  <eggert@twinsun.com>
75674
75675         Standardize on "memory exhausted" instead of "Memory exhausted"
75676         or "virtual memory exhausted".
75677         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
75678         "virtual memory exhausted".
75679         * lib/same.c (same_name): Invoke xalloc_die instead of printing
75680         our own message.
75681         * lib/userspec.c (parse_user_spec): Likewise.
75682         * lib/bumpalloc.h: comment fix
75683         * lib/same.c, userspec.c: Include xalloc.h.
75684
75685         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
75686         not char *const and pointing to a constant array.
75687         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
75688         (xrealloc): Comment fix.
75689
75690         * lib/userspec.c (parse_user_spec):
75691         Don't translate a message until just before returning,
75692         to avoid unnecessary translation.
75693
75694 2000-08-07  Jim Meyering  <meyering@lucent.com>
75695
75696         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
75697         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
75698         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
75699         getgroups.c, gethostname.c, getopt.h, group-member.c,
75700         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
75701         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
75702         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
75703         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
75704         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
75705         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
75706         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
75707         yesno.c: Back out Copyright date changes for each file with no change
75708         this year.  This eases coordination with other programs using the same
75709         source code modules.  From Paul Eggert.
75710
75711 2000-08-06  Paul Eggert  <eggert@twinsun.com>
75712
75713         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
75714         not char, for compatibility with glibc 2.1.3 strftime.c.
75715
75716 2000-08-03  Greg McGary  <greg@mcgary.org>
75717
75718         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
75719         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
75720         (EXTEND_BUFFER): Use them.
75721
75722 2000-08-01  Jim Meyering  <meyering@lucent.com>
75723
75724         * lib/dirname.c (ISSLASH): Define.
75725         (BACKSLASH_IS_PATH_SEPARATOR): Define.
75726         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
75727         both `\' and `/' may be use as path separators.
75728         Based on a patch from Prashant TR.
75729
75730 2000-07-31  Paul Eggert  <eggert@twinsun.com>
75731
75732         * lib/quotearg.c (quotearg_n_options): Don't make the initial
75733         slot vector a constant, since it might get modified.
75734
75735 2000-07-31  Jim Meyering  <meyering@lucent.com>
75736
75737         * lib/xmalloc.c: Use `virtual memory exhausted', not
75738         `Memory exhausted'.
75739         * lib/obstack.c (print_and_abort): Likewise.
75740
75741 2000-07-30  Paul Eggert  <eggert@twinsun.com>
75742
75743         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
75744         buffer, so that the caller can always quote one small
75745         component of a "memory exhausted" message in slot 0.
75746         From a suggestion by Jim Meyering.
75747
75748 2000-07-30  Jim Meyering  <meyering@lucent.com>
75749
75750         * lib/makepath.c (make_path): Quote the other instance, too.
75751
75752         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
75753         (STATIC_BUF_SIZE): Define.
75754         (quotearg_n_options): Use only statically allocated storage when
75755         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
75756         than STATIC_BUF_SIZE.
75757
75758 2000-07-29  Jim Meyering  <meyering@lucent.com>
75759
75760         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
75761         * lib/dirname.c (dir_name): Likewise.
75762
75763         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
75764         `/'.
75765
75766         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
75767         (dir_name): Assert that there are no trailing slashes.
75768
75769 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
75770
75771         * lib/mbswidth.h (mbswidth): Add a flags argument.
75772         (mbswidth): New declaration.
75773         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
75774         * lib/mbswidth.c (mbswidth): Add a flags argument.
75775         (mbsnwidth): New function.
75776
75777 2000-07-24  Jim Meyering  <meyering@lucent.com>
75778
75779         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
75780
75781 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75782
75783         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
75784
75785 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75786
75787         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
75788         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
75789         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
75790         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
75791         invoke multibyte primitives.
75792
75793 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75794
75795         * lib/quotearg.c:
75796         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
75797         so that mbstate_t is always defined.
75798
75799         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
75800         be 1 in at least one GCC installation, and this configuration
75801         error is likely to be common.  Ignoring MB_LEN_MAX hurts
75802         performance on hosts that have mbrtowc but have only unibyte
75803         locales, but I assume these hosts are rare.
75804
75805 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75806
75807         * lib/mbswidth.c (_XOPEN_SOURCE):
75808         Don't define; this causes problems on Solaris 7.
75809         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
75810
75811 2000-07-23  Jim Meyering  <meyering@lucent.com>
75812
75813         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
75814         too: getgrgid, getpwuid, getuid.
75815
75816 2000-07-23  Jim Meyering  <meyering@lucent.com>
75817
75818         * lib/basename.c (base_name): Add an assertion.
75819
75820 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
75821
75822         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
75823         shadow its mbsinit function.
75824
75825 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
75826
75827         * lib/mbswidth.h: New file.
75828         * lib/mbswidth.c: New file.
75829         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
75830         (noinst_HEADERS): Add mbswidth.h.
75831
75832 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
75833
75834         * lib/config.charset: Add support for FreeBSD. Improve support for
75835         HP-UX and IRIX 6.
75836
75837 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
75838
75839         * m4/mbswidth.m4: New file.
75840         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
75841
75842 2000-07-15  Jim Meyering  <meyering@lucent.com>
75843
75844         * lib/makepath.c: Include quote.h.
75845         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
75846         corresponding argument in a `quote (...)' call.
75847         Give better diagnostics.
75848
75849         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
75850         (noinst_HEADERS): Add quote.h.
75851
75852         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
75853         from tar's src/misc.c.
75854         * lib/quote.h: New file.  Prototypes for same.
75855
75856 2000-07-14  Paul Eggert  <eggert@twinsun.com>
75857
75858         From a suggestion by Bruno Haible.
75859         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
75860         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
75861         to decide whether to define the BeOS workaround macro;
75862         this adjusts to the change to AC_MBSTATE_T.
75863
75864 2000-07-14  Jim Meyering  <meyering@lucent.com>
75865
75866         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
75867         jm_AC_TYPE_UINTMAX_T.
75868
75869 2000-07-13  Paul Eggert  <eggert@twinsun.com>
75870
75871         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
75872
75873         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
75874         quotearg_buffer_restyled): Add support for
75875         clocale_quoting_style.  Undo previous change to
75876         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
75877         and "{RIGHT QUOTATION MARK}" msgids.
75878
75879 2000-07-10  Paul Eggert  <eggert@twinsun.com>
75880
75881         From a suggestion by Bruno Haible.
75882         * m4/mbstate_t.m4 (AC_MBSTATE_T):
75883         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
75884         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
75885         and mbstate_t, to a single-part test that simply defines mbstate_t.
75886         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
75887         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
75888
75889 2000-07-10  Jim Meyering  <meyering@lucent.com>
75890
75891         * m4/strerror_r.m4: Mirror the correction made in autoconf.
75892
75893         * m4/gnu-source.m4: Output to confdefs.h directly.
75894         Suggestion from Akim Demaille.
75895
75896 2000-07-09  Paul Eggert  <eggert@twinsun.com>
75897
75898         The old behavior of quoting `like this' doesn't look good with
75899         newer, ISO-style fonts.  See:
75900         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
75901
75902         Instead, quote "like this" by default.  Let the translator
75903         tailor the locale-specific quoting behavior by providing
75904         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
75905
75906         * lib/quotearg.c (N_): New macro.
75907         (gettext_default): New function.
75908         (quotearg_buffer_restyled): Use
75909         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
75910         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
75911
75912 2000-07-09  Jim Meyering  <meyering@lucent.com>
75913
75914         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
75915         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
75916
75917         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
75918         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
75919
75920 2000-07-09  Jim Meyering  <meyering@lucent.com>
75921
75922         * lib/Most files: Update copyright dates to include 2000.
75923
75924 2000-07-08  Jim Meyering  <meyering@lucent.com>
75925
75926         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
75927         if not defined.
75928         (xgethostname): Remove now-unnecessary #ifdef.
75929         Move declaration of `err' into loop where it's used.
75930
75931 2000-07-05  Paul Eggert  <eggert@twinsun.com>
75932         and Bruno Haible  <haible@clisp.cons.org>
75933
75934         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
75935         only if the test for an object-type mbstate_t fails.  This
75936         prevents us from mistakenly reporting that mbstate_t is a
75937         system object type after we "#define mbstate_t int" to work
75938         around its lack.
75939
75940 2000-07-05  Paul Eggert  <eggert@twinsun.com>
75941         and Bruno Haible  <haible@clisp.cons.org>
75942
75943         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
75944
75945 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
75946
75947         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
75948         to strerror_r.
75949         Include <ctype.h> for use of isalpha.
75950
75951 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
75952
75953         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
75954         by allocating a larger buffer. Test the gethostname return value for
75955         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
75956         returns an error and ENAMETOOLONG isn't defined.
75957
75958 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
75959
75960         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
75961         dimension.
75962
75963 2000-07-04  Jim Meyering  <meyering@lucent.com>
75964
75965         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
75966         of the deprecated AC_CHECKING.
75967
75968 2000-07-04  Jim Meyering  <meyering@lucent.com>
75969
75970         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
75971         Reported by Bruno Haible.
75972
75973 2000-07-04  Jim Meyering  <meyering@lucent.com>
75974
75975         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
75976         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
75977         lacks mbrtowc.
75978
75979 2000-07-03  Paul Eggert  <eggert@twinsun.com>
75980
75981         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
75982         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
75983
75984 2000-07-03  Paul Eggert  <eggert@twinsun.com>
75985         and Bruno Haible  <haible@clisp.cons.org>
75986
75987         * lib/quotearg.c (mbrtowc):
75988         Assign to *pwc, and return 1 only if result is nonzero.
75989         (iswprint): Use ISPRINT when substituting our own mbrtowc.
75990
75991 2000-07-03  Jim Meyering  <meyering@lucent.com>
75992
75993         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
75994
75995 2000-07-03  Jim Meyering  <meyering@lucent.com>
75996
75997         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
75998         This is necessary to get a definition of e.g., UTMP_FILE on
75999         HP-UX 10.20.
76000         From Bob Proulx.
76001
76002 2000-07-02  Jim Meyering  <meyering@lucent.com>
76003
76004         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
76005
76006         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
76007         AC_LIBOBJ(function_name).
76008         * m4/chown.m4: Likewise.
76009         * m4/fnmatch.m4: Likewise.
76010         * m4/ftruncate.m4: Likewise.
76011         * m4/getgroups.m4: Likewise.
76012         * m4/getline.m4: Likewise.
76013         * m4/group-member.m4: Likewise.
76014         * m4/jm-macros.m4: Likewise.
76015         * m4/lstat.m4: Likewise.
76016         * m4/malloc.m4: Likewise.
76017         * m4/memcmp.m4: Likewise.
76018         * m4/nanosleep.m4: Likewise.
76019         * m4/putenv.m4: Likewise.
76020         * m4/realloc.m4: Likewise.
76021         * m4/regex.m4: Likewise.
76022         * m4/stat.m4: Likewise.
76023         * m4/strftime.m4: Likewise.
76024
76025 2000-07-02  Jim Meyering  <meyering@lucent.com>
76026
76027         * lib/quotearg.c (mbstate_t): Don't define here.
76028
76029 2000-07-02  Jim Meyering  <meyering@lucent.com>
76030
76031         * lib/nanosleep.c (SIGCONT): Define if not already defined.
76032
76033 2000-07-01  Jim Meyering  <meyering@lucent.com>
76034
76035         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
76036
76037 2000-07-01  Jim Meyering  <meyering@lucent.com>
76038
76039         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
76040         problem.
76041
76042 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
76043
76044         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
76045         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
76046
76047 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
76048
76049         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
76050         per change in ../m4/ls-mntd-fs.m4.
76051         (read_filesystem_list): Ignore symbolic links.
76052
76053 2000-06-29  Jim Meyering  <meyering@lucent.com>
76054
76055         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
76056         for declaration of strcmp.
76057
76058         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
76059
76060         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
76061         Avoid warning by casting result to `char *' to remove `const'.
76062
76063 2000-06-28  Jim Meyering  <meyering@lucent.com>
76064
76065         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
76066         included by quotearg.c, for which we perform this test.  From
76067         Bruno Haible.
76068
76069 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
76070
76071         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
76072         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
76073         <utmpx.h> exists, put readutmp.o into LIBOBJS.
76074
76075 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
76076
76077         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
76078
76079 2000-06-26  Paul Eggert  <eggert@twinsun.com>
76080
76081         savedir now sets errno on failure and invokes xmalloc to get memory.
76082         Fix a couple of other minor bugs while we're at it.
76083
76084         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
76085         (NAMLEN): Remove macro.
76086         (malloc, realloc): Remove decls.
76087         (stpcpy): Likewise.
76088         ("xalloc.h"): Include.
76089         (NAME_SIZE_DEFAULT): New macro.
76090         (savedir): Use xmalloc / xrealloc to allocate memory.
76091         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
76092         Skip "" directory entries.
76093         Use strlen to calculate directory entry length, since the old method
76094         is rarely used these days and isn't worth supporting.
76095         Don't use a pointer after freeing it.
76096         Check for integer overflow when calculating allocation size.
76097         Use memcpy to copy entries, instead of stpcpy.
76098         Set errno properly when returning NULL.
76099         Check for readdir error.
76100
76101 2000-06-26  Jim Meyering  <meyering@lucent.com>
76102
76103         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
76104
76105 2000-06-25  Jim Meyering  <meyering@lucent.com>
76106
76107         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
76108         Linux header bug when _XOPEN_SOURCE is defined to 500.
76109
76110 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
76111
76112         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
76113         deficiency.
76114
76115 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
76116
76117         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
76118         Include xalloc.h.
76119         Don't include <stdlib.h>.  Don't declare malloc, realloc.
76120
76121 2000-06-24  Jim Meyering  <meyering@lucent.com>
76122
76123         * m4/strerror_r.m4: Revive this file -- to try out an experimental
76124         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
76125         for which strerror does return char*, but which lacks a conveniently
76126         accessible declaration of the function.  If the compile-test says
76127         strerror_r doesn't work, then resort to a `run'-test that works on
76128         BeOS and segfaults on DEC Unix.
76129
76130 2000-06-24  Jim Meyering  <meyering@lucent.com>
76131
76132         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
76133
76134 2000-06-23  Paul Eggert  <eggert@twinsun.com>
76135
76136         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
76137         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
76138
76139 2000-06-23  Paul Eggert  <eggert@twinsun.com>
76140
76141         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
76142         (mbrtowc, mbstate_t): Define substitutes if
76143         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
76144         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
76145         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
76146
76147 2000-06-23  Jim Meyering  <meyering@lucent.com>
76148
76149         * m4/afs.m4: Add missing AC_MSG_RESULT.
76150         Reported by Bruno Haible.
76151
76152         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
76153         Suggestion from Bruno Haible.
76154
76155 2000-06-23  Jim Meyering  <meyering@lucent.com>
76156
76157         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
76158
76159 2000-06-21  Jim Meyering  <meyering@lucent.com>
76160
76161         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
76162
76163 2000-06-21  Jim Meyering  <meyering@lucent.com>
76164
76165         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
76166         (noinst_HEADERS): Add getstr.h.
76167
76168         * lib/getline.c (getstr): Move into a separate file.
76169         * lib/getstr.c (getstr): New file, extracted from getline.c, with
76170         the following changes: new parameter, delim2; both delim[12]
76171         parameters have type `int', not `char'.  The latter would lose
76172         with 8-bit delimiters.
76173         * lib/getstr.h: New file.
76174
76175 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76176
76177         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
76178         than 1024, return a memory chunk of least possible size, instead
76179         of size PATH_MAX + 2. In the loop, increment the size proportionally.
76180         Use free/xmalloc instead of xrealloc to avoid copying for very long
76181         paths.
76182
76183 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76184
76185         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
76186         the empty string.
76187
76188 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76189
76190         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
76191         address, not strdup.  Include <stdlib.h> and don't declare free().
76192
76193 2000-06-19  Jim Meyering  <meyering@lucent.com>
76194
76195         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
76196
76197 2000-06-18  Jim Meyering  <meyering@lucent.com>
76198
76199         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
76200
76201         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
76202         `checking whether...' message to be consistent with that of the
76203         lstat test.
76204
76205 2000-06-18  Jim Meyering  <meyering@lucent.com>
76206
76207         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
76208         Besides, these days every porting target provides a mkdir function.
76209
76210         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
76211         needed. (this snippet comes from src/system.h).
76212
76213 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
76214
76215         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
76216
76217 2000-06-15  Paul Eggert  <eggert@twinsun.com>
76218
76219         * lib/human.c (adjust_value): New function.
76220         (human_readable_inexact): Apply rounding style even when
76221         printing approximate values.
76222
76223 2000-06-14  Paul Eggert  <eggert@twinsun.com>
76224
76225         * lib/human.c (human_readable_inexact): Allow an input block
76226         size that is not a multiple of the output block size, and vice versa.
76227         Reported by Piergiorgio Sartor.
76228
76229 2000-06-14  Paul Eggert  <eggert@twinsun.com>
76230
76231         * lib/getdate.y (get_date): Apply relative times after time
76232         zone indicator, not before.  Reported by Todd A. Jacobs.
76233
76234 2000-06-13  Jim Meyering  <meyering@lucent.com>
76235
76236         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
76237
76238         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
76239
76240 2000-06-12  Paul Eggert  <eggert@twinsun.com>
76241
76242         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
76243
76244 2000-06-12  Jim Meyering  <meyering@lucent.com>
76245
76246         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
76247         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
76248         optional argument.
76249         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
76250         the optional argument, `lib'.
76251
76252 2000-06-08  Jim Meyering  <meyering@lucent.com>
76253
76254         * m4/largefile.m4: Remove file (now that it's part of autoconf).
76255
76256 2000-06-04  Paul Eggert  <eggert@twinsun.com>
76257
76258         Rewrite largefile configuration so that we don't need to run
76259         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
76260         AC_CANONICAL_HOST in configure.in -- jmm]
76261
76262         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
76263         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
76264         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
76265         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
76266         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
76267         All uses changed.
76268         Instead of inspecting the output of getconf, try to compile the
76269         test program without and with the macro definition.
76270         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
76271         for getconf.  Instead, check for the needed flags by compiling
76272         test programs.
76273
76274 2000-06-04  Paul Eggert  <eggert@twinsun.com>
76275
76276         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
76277
76278 2000-06-04  Jim Meyering  <meyering@lucent.com>
76279
76280         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
76281         SunOS 4.1.4 for which gid_t is an unsigned type.
76282
76283 2000-06-03  Jim Meyering  <meyering@lucent.com>
76284
76285         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
76286         now that autoconf requires that.
76287
76288         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
76289         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
76290         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
76291
76292 2000-06-03  Jim Meyering  <meyering@lucent.com>
76293
76294         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
76295
76296 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
76297
76298         * m4/glibc21.m4: New file.
76299         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
76300
76301 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
76302
76303         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
76304         newer, don't install charset.alias.
76305         * lib/config.charset: Change the Linux/glibc rules so they become empty
76306         on glibc-2.1 or newer.
76307
76308 2000-06-02  Jim Meyering  <meyering@lucent.com>
76309
76310         * lib/mountlist.c: Back out last change.  Instead, do this...
76311         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
76312         me_dummy member using the same `ignore'-testing code.
76313         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
76314         fs_type strings.
76315         From Mark D. Roth.
76316
76317 2000-05-29  Jim Meyering  <meyering@lucent.com>
76318
76319         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
76320         mounts with the `ignore' attribute.  Based on a patch from
76321         Mark D. Roth.
76322
76323 2000-05-28  Jim Meyering  <meyering@lucent.com>
76324
76325         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
76326         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
76327         * m4/stat.m4: Likewise.
76328         * m4/lstat.m4: Likewise.
76329         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
76330
76331         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
76332         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
76333
76334 2000-05-26  Jim Meyering  <meyering@lucent.com>
76335
76336         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
76337
76338 2000-05-24  Jim Meyering  <meyering@lucent.com>
76339
76340         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
76341         autoconf requires that.
76342         * m4/lib-check.m4: Likewise.
76343         * m4/jm-macros.m4: Likewise.
76344         * m4/strftime.m4: Likewise.
76345
76346         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
76347         AC_CHECK_DECLS, now that autoconf requires that.
76348
76349 2000-05-22  Jim Meyering  <meyering@lucent.com>
76350
76351         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
76352         * m4/lstat.m4: Likewise.
76353
76354 2000-05-22  Jim Meyering  <meyering@lucent.com>
76355
76356         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
76357
76358 2000-05-20  Jim Meyering  <meyering@lucent.com>
76359
76360         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
76361         (jm_PREREQ): Use it.
76362
76363 2000-05-18  Jim Meyering  <meyering@lucent.com>
76364
76365         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
76366         back, too, since it may have been modified by allocate_entry.
76367         (hash_delete): Rewrite to use neither the assignment operator
76368         nor the comma operator in an if-expression.
76369
76370 2000-05-15  Paul Eggert  <eggert@twinsun.com>
76371
76372         * lib/closeout.c:
76373         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
76374         Remove; no longer needed.
76375         "quotearg.h": Add include.
76376         (file_name): Do not bother to explicitly initialize to NULL; it's less
76377         efficient on some hosts.
76378         (close_stdout_status): Remove test as to whether stdout was already
76379         closed; it breaks for the case "echo x | sort >&-".
76380         Quote file name colons.
76381         Do not assume that _("write error") lacks format strings.
76382
76383 2000-05-15  Jim Meyering  <meyering@lucent.com>
76384
76385         * lib/version-etc.c (version_etc_copyright): Update the copyright
76386         string used in all --version output.
76387
76388 2000-05-14  Jim Meyering  <meyering@lucent.com>
76389
76390         * lib/closeout.c (close_stdout_set_file_name): New function.
76391         (close_stdout_status): Use new file-scoped global.
76392         Return right away if fstat says the stdout file descriptor is invalid.
76393         * lib/closeout.h (close_stdout_set_file_name): Declare.
76394
76395 2000-05-10  Jim Meyering  <meyering@lucent.com>
76396
76397         * lib/closeout.c [default_exit_status]: New file-scoped variable.
76398         (close_stdout_set_status): New function.
76399         * lib/closeout.h (close_stdout_set_status): Declare.
76400
76401 2000-05-09  Jim Meyering  <meyering@lucent.com>
76402
76403         * m4/gettext.m4: Rename this...
76404         * m4/libintl.m4: ...to this.
76405
76406 2000-05-08  Jim Meyering  <meyering@lucent.com>
76407
76408         * lib/long-options.c: Don't include closeout.h.
76409         (parse_long_options): Don't call close_stdout for --version.
76410
76411 2000-05-06  Paul Eggert  <eggert@twinsun.com>
76412
76413         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
76414         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
76415         2.1.3 bug.  This avoids a clash when files like regex.c define
76416         _GNU_SOURCE.
76417
76418 2000-05-06  Jim Meyering  <meyering@lucent.com>
76419
76420         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
76421         (AC_REPLACE_FUNCS): Add strnlen.
76422
76423         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
76424         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
76425
76426         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
76427         AC_SEARCH_LIBS call for nanosleep.
76428         (LIB_NANOSLEEP): Set and AC_SUBST.
76429
76430 2000-05-06  Jim Meyering  <meyering@lucent.com>
76431
76432         * lib/strnlen.c: Undefine __strnlen and strnlen.
76433         [!weak_alias]: Define __strnlen to strnlen.
76434
76435         * lib/atexit.c: New file, from libiberty.
76436
76437 2000-05-06  Jim Meyering  <meyering@lucent.com>
76438
76439         * lib/closeout.c (close_stdout_status): Also check for errors on the
76440         stderr stream.
76441
76442 2000-05-05  Jim Meyering  <meyering@lucent.com>
76443
76444         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
76445         AC_SEARCH_LIBS call for clock_gettime.
76446         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
76447
76448         * m4/search-libs.m4: Update from autoconf.
76449
76450         su doesn't work on Solaris 2.6.
76451         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
76452         <shadow.h>.  Reported by Dragos Harabor.
76453
76454 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
76455
76456         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
76457         memcpy instead of xmalloc, xrealloc, path_concat.
76458         (locale_charset): Treat empty environment variables as absent.
76459         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
76460
76461 2000-05-04  Jim Meyering  <meyering@lucent.com>
76462
76463         * lib/getopt.c: Update from glibc.
76464         * lib/obstack.c: Likewise.
76465         * lib/obstack.h: Likewise.
76466         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
76467         file
76468
76469         * lib/regex.h: Likewise.
76470         * lib/strndup.c: Likewise.
76471         * lib/strnlen.c: New file, from glibc.
76472
76473 2000-05-03  Jim Meyering  <meyering@lucent.com>
76474
76475         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
76476
76477 2000-05-02  Paul Eggert  <eggert@twinsun.com>
76478
76479         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
76480         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
76481         compile-time test, rather than inspecting host and OS, to
76482         decide whether to define _LARGEFILE_SOURCE.
76483
76484 2000-05-01  Jim Meyering  <meyering@lucent.com>
76485
76486         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
76487
76488         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
76489         Based on a patch from Bruno Haible.
76490
76491 2000-05-01  Jim Meyering  <meyering@lucent.com>
76492
76493         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
76494
76495 2000-04-29  Jim Meyering  <meyering@lucent.com>
76496
76497         * lib/path-concat.c: Declare strdup only if it's not defined.
76498         * lib/canon-host.c: Likewise.
76499
76500 2000-04-28  Jim Meyering  <meyering@lucent.com>
76501
76502         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
76503         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
76504         is included first, then limits.h is included by locale.h by libintl.h.
76505         From John David Anglin.
76506
76507 2000-04-25  Jim Meyering  <meyering@lucent.com>
76508
76509         * lib/makepath.c (S_IRWXUGO): Define.
76510         (make_path): Always perform explicit chmod if MODE specifies any
76511         of the `special' permission bits.  Prompted by a bug report against
76512         install from Mate Wierdl and Joost van Baal.
76513
76514 2000-04-18  Jim Meyering  <meyering@lucent.com>
76515
76516         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
76517         (jm_PREREQ): Use it.
76518
76519 2000-04-18  Jim Meyering  <meyering@lucent.com>
76520
76521         * lib/README: New file.
76522
76523         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
76524         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
76525
76526 2000-04-17  Jim Meyering  <meyering@lucent.com>
76527
76528         Get it right :-)
76529         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
76530         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
76531         Suggestion from Akim Demaille.
76532
76533 2000-04-17  Jim Meyering  <meyering@lucent.com>
76534
76535         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
76536         the definition of it to rpl_strftime also defined-away the system's
76537         declaration.
76538
76539 2000-04-15  Jim Meyering  <meyering@lucent.com>
76540
76541         Use `C' to denote so-called `contiguous' files, the same way
76542         that tar does.
76543         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
76544         (ftypelet): Use S_ISCTG.
76545         From Michael Deutschmann.
76546
76547 2000-04-14  Jim Meyering  <meyering@lucent.com>
76548
76549         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
76550         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
76551         clobbered.
76552
76553 2000-04-14  Jim Meyering  <meyering@lucent.com>
76554
76555         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
76556
76557 2000-04-13  Jim Meyering  <meyering@lucent.com>
76558
76559         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
76560         AH_VERBATIM to insert required #ifndef into config.h.in.
76561         Suggestion from Akim Demaille.
76562
76563 2000-04-12  Jim Meyering  <meyering@lucent.com>
76564
76565         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
76566         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
76567         Christian Krackowizer.
76568
76569         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
76570         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
76571         (AC_SYS_LARGEFILE): Require.
76572         (AM_C_PROTOTYPES): Require.
76573
76574 2000-04-08  Jim Meyering  <meyering@lucent.com>
76575
76576         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
76577         names don't conflict.  Reported by Eli Zaretskii.
76578
76579 2000-04-07  Jim Meyering  <meyering@lucent.com>
76580
76581         * lib/putenv.c: Move inclusion of errno.h so it follows that of
76582         sys/types.h, to work around system header problems on AIX 3.2.5.
76583         From Bruno Haible.
76584
76585 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
76586
76587         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
76588         bug.  Deal with the different error behavior of Irix iconv.
76589
76590 2000-04-05  Paul Eggert  <eggert@twinsun.com>
76591
76592         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
76593         IRIX if the installer said otherwise.
76594
76595 2000-04-05  Jim Meyering  <meyering@lucent.com>
76596
76597         Portability tweaks required for ultrix4.3.
76598         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
76599         (jm_CHECK_DECLS): Add getutent to the list of functions.
76600         (_jm_DECL_HEADERS): Add utmpx.h.
76601         From John David Anglin.
76602
76603         * m4/strftime.m4: Back out the 2000-04-02 change.
76604         Instead of that change, simply undefine putenv in the test program.
76605
76606 2000-04-05  Jim Meyering  <meyering@lucent.com>
76607
76608         Portability tweaks required for ultrix4.3.
76609         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
76610         getutent.
76611         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
76612         * lib/canon-host.c: Declare strdup.
76613         * lib/path-concat.c: Likewise.
76614         From John David Anglin.
76615
76616 2000-04-04  Jim Meyering  <meyering@lucent.com>
76617
76618         Be more DOS 8.3-friendly.
76619         * lib/ref-add.sin: Renamed from ref-add.sed.in.
76620         * lib/ref-del.sin: Renamed from ref-del.sed.in.
76621         * lib/Makefile.am: Reflect renaming.
76622         Reported by Eli Zaretskii.
76623
76624         Use a temporary file name that won't clash with `charset.alias'
76625         in the DOS 8.3 name space.
76626         * lib/Makefile.am (charset_tmp): Define.
76627         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
76628         (uninstall-local): Likewise.
76629         Reported by Eli Zaretskii.
76630
76631 2000-04-03  Jim Meyering  <meyering@lucent.com>
76632
76633         * m4/gettext.m4: Fix typo in comment.
76634
76635         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
76636         textutils/configure.in).  Suggestion from Paul Eggert.
76637         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
76638
76639 2000-04-02  Paul Eggert  <eggert@twinsun.com>
76640
76641         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
76642         variable in the shell rather than using putenv, which isn't
76643         portable.  This avoids the configure-time inter-test dependency
76644         on the potentially-renamed putenv function.
76645
76646 2000-03-30  Paul Eggert  <eggert@twinsun.com>
76647
76648         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
76649         before checking struct stat.st_blksize, so that
76650         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
76651
76652 2000-03-29  Paul Eggert  <eggert@twinsun.com>
76653
76654         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
76655         since strftime.c uses HAVE_STRFTIME to decide whether to use
76656         the underlying strftime.
76657
76658 2000-03-29  Paul Eggert  <eggert@twinsun.com>
76659
76660         * lib/time/strftime.c (my_strftime): Make sure we call the system
76661         strftime, not ourselves, when invoking the underlying strftime.
76662
76663 2000-03-24  Jim Meyering  <meyering@lucent.com>
76664
76665         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
76666         (charset_alias): Define.
76667         (install-exec-local): Factor out common code.
76668         (uninstall-local): Split lines longer than 80.
76669         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
76670         (SUFFIXES): Define.
76671         (.sed.in.sed): New rule.  Don't redirect directly to $@.
76672         (CLEANFILES): Add ref-add.sed and ref-del.sed.
76673
76674 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
76675
76676         * lib/config.charset: Output a line containing "Packages using this
76677         file".
76678         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
76679         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
76680         ref-del.sed): New rules.
76681
76682 2000-03-17  Jim Meyering  <meyering@lucent.com>
76683
76684         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
76685         Otherwise, include <strings.h>
76686
76687 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
76688
76689         * lib/unicodeio.c (utf8_wctomb): New function.
76690         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
76691         format instead of in UCS-4 with platform dependent endianness.
76692
76693 2000-03-10  Jim Meyering  <meyering@lucent.com>
76694
76695         * m4/lib-check.m4: Look for getspnam in -lgen, too.
76696         From Marco Franzen.
76697
76698 2000-03-07  Paul Eggert  <eggert@twinsun.com>
76699
76700         * lib/savedir.c (savedir): Work even if directory size is
76701         negative; this can happen with some screwy NFS configurations.
76702
76703 2000-03-06  Jim Meyering  <meyering@lucent.com>
76704
76705         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
76706         if it's NULL (because we ran out of memory).  From Bruno Haible.
76707
76708 2000-03-05  Jim Meyering  <meyering@lucent.com>
76709
76710         * lib/localcharset.c ("path-concat.h"): Include.
76711         (get_charset_aliases): Use path_concat instead of ANSI string
76712         concatenation.
76713
76714         * lib/unicodeio.h (PARAMS): Define.
76715         Use it to guard prototype.
76716
76717 2000-03-04  Jim Meyering  <meyering@lucent.com>
76718
76719         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
76720         for lib/localcharset.c.
76721
76722 2000-03-04  Jim Meyering  <meyering@lucent.com>
76723
76724         * lib/Makefile.am (install-exec-local): Create $(libdir) before
76725         installing into it.
76726         (uninstall-local): Uncomment this rule so `make distcheck' works
76727         once again.
76728
76729         * lib/unicodeio.c (<errno.h>): Include it.
76730         (errno): Declare if not defined.
76731
76732         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
76733
76734         * lib/config.charset: New version, incorporating remarks from a linux
76735         i18n mailing list.  From Bruno Haible.
76736
76737 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
76738
76739         * m4/codeset.m4: New file.
76740         * m4/iconv.m4: New file.
76741         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
76742
76743 2000-03-03  Jim Meyering  <meyering@lucent.com>
76744
76745         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
76746
76747 2000-03-02  Jim Meyering  <meyering@lucent.com>
76748
76749         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
76750         the messages come out on separate lines.
76751
76752         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
76753         rather than jm_CHECK_DECLARATIONS.
76754         * m4/decl.m4: Remove now-unused file.
76755
76756         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
76757         geteuid.
76758
76759 2000-03-02  Jim Meyering  <meyering@lucent.com>
76760
76761         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
76762
76763 2000-03-01  Jim Meyering  <meyering@lucent.com>
76764
76765         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
76766         * lib/unicodeio.c: Likewise.
76767
76768 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
76769
76770         * lib/config.charset: New file.
76771         * lib/localcharset.c: New file.
76772         * lib/unicodeio.h, lib/unicodeio.c: New files.
76773         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
76774         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
76775         (noinst_HEADERS): Add unicodeio.h.
76776         (all-local, install-exec-local, charset.alias): New targets.
76777
76778 2000-02-28  Paul Eggert  <eggert@twinsun.com>
76779
76780         * lib/quotearg.c (ALERT_CHAR): New macro.
76781         (quotearg_buffer_restyled): Use it.
76782
76783 2000-02-27  Jim Meyering  <meyering@lucent.com>
76784
76785         * m4/check-decl.m4: Add getenv to the list.
76786
76787 2000-02-27  Jim Meyering  <meyering@lucent.com>
76788
76789         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
76790         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
76791
76792         * lib/backupfile.c: Guard inclusion of stdlib.h with
76793         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
76794         Declare malloc if needed.
76795
76796         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
76797         `#ifndef HAVE_DECL..'
76798         now that autoconf always defines the HAVE_DECL_ symbols.
76799         * lib/human.c: Likewise.
76800         * lib/same.c: Likewise.
76801         * lib/strtoumax.c: Likewise.
76802
76803         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
76804         declaration check was not run.
76805         * lib/hash.c: Likewise.
76806         * lib/human.c: Likewise.
76807         * lib/same.c: Likewise.
76808         * lib/strtoumax.c: Likewise.
76809
76810         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
76811         `.', then first look up the entire `.'-containing string as a login
76812         name.
76813
76814 2000-02-23  Jim Meyering  <meyering@lucent.com>
76815
76816         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
76817         in place of my hack.
76818
76819 2000-02-18  Paul Eggert  <eggert@twinsun.com>
76820
76821         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
76822         (textint): New typedef.
76823         (parser_control): Member year changed from int to textint.
76824         All uses changed.
76825         (YYSTYPE): Removed; replaced by %union with int and textint members.
76826         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
76827         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
76828         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
76829         (tSNUMBER, tUNUMBER): Now of type <textintval>.
76830         (date, number, to_year): Use width of number in digits, not its value,
76831         to determine whether it's a 2-digit year, or a 2-digit time.
76832         (yylex): Store number of digits of numeric tokens.
76833         Reported by John Kendall.
76834
76835         (parser_control): Changed from struct parser_control to typedef (for
76836         consistency).  All uses changed.
76837
76838         (tID): Removed; not used.
76839         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
76840
76841 2000-02-14  Paul Eggert  <eggert@twinsun.com>
76842
76843         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
76844         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
76845
76846 2000-02-12  Jim Meyering  <meyering@lucent.com>
76847
76848         * lib/userspec.c (ISDIGIT): Define it.
76849         (isdigit): Remove definition.
76850         (is_number): Use ISDIGIT, not isdigit.
76851         <libintl.h>: Include.
76852         (_ and N_): Define.
76853         (parse_user_spec): Mark translatable strings.
76854
76855 2000-02-10  Jim Meyering  <meyering@lucent.com>
76856
76857         With these changes, nanosleep.[ch] are finally enough like the other
76858         lib/* replacement files to compile on a few more losing systems.
76859
76860         * lib/nanosleep.h: Don't include config.h.
76861         Remove prototype from declaration of nanosleep.
76862         (PARAMS): Remove now-unneeded definition.
76863         * lib/nanosleep.c: #undef nanosleep.
76864         (rpl_nanosleep): Rename from nanosleep.
76865
76866 2000-02-10  Jim Meyering  <meyering@lucent.com>
76867
76868         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
76869         gnu_nanosleep to rpl_nanosleep.
76870
76871 2000-02-09  Jim Meyering  <meyering@lucent.com>
76872
76873         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
76874         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
76875
76876 2000-02-08  Akim Demaille  <akim@epita.fr>
76877
76878         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
76879         `[' and `]' and remove uses of `changequote'.
76880         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
76881         (AC_SYS_LARGEFILE): Likewise.
76882         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
76883         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
76884         of changequote.
76885         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
76886         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
76887         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
76888         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
76889
76890 2000-02-05  Jim Meyering  <meyering@lucent.com>
76891
76892         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
76893         Remove explicit use of AC_HEADER_TIME.  It is required by
76894         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
76895         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
76896         in autoconf whereby the expansion of the latter ended up preceding
76897         the expansion of its prerequisite, AC_HEADER_TIME.
76898         Reported by Volker Borchert.
76899
76900 2000-02-03  Jim Meyering  <meyering@lucent.com>
76901
76902         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
76903
76904 2000-02-03  Jim Meyering  <meyering@lucent.com>
76905
76906         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
76907         rather than with `#if HAVE_UTMPNAME'.
76908
76909 2000-02-02  Jim Meyering  <meyering@lucent.com>
76910
76911         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
76912         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
76913         Reported by Eli Zaretskii.
76914
76915 2000-02-01  Jim Meyering  <meyering@lucent.com>
76916
76917         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
76918
76919 2000-01-31  Jim Meyering  <meyering@lucent.com>
76920
76921         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
76922         functions.  Add the time.h and sys/time.h headers along with the
76923         AC_REQUIRE'ment of AC_HEADER_TIME.
76924
76925 2000-01-31  Jim Meyering  <meyering@lucent.com>
76926
76927         * lib/nanosleep.h (nanosleep): Guard declaration with
76928         `#if ! HAVE_DECL_NANOSLEEP'.
76929         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
76930         the declaration in that vendor's sys/timers.h.
76931         Reported by Christian Krackowizer.
76932
76933         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
76934         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
76935         (ISPRINT): Likewise.
76936         Reported by Tom Tromey.
76937
76938 2000-01-30  Jim Meyering  <meyering@lucent.com>
76939
76940         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
76941
76942         * m4/prereq.m4 (utmp_includes): Define.
76943         Check for ut_user and ut_name members in both struct utmpx
76944         and struct utmp.
76945
76946 2000-01-30  Jim Meyering  <meyering@lucent.com>
76947
76948         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
76949         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
76950         header files where only utmpx.ut_user is declared.
76951
76952         * lib/readutmp.h (UT_USER): Define.
76953
76954 2000-01-29  Jim Meyering  <meyering@lucent.com>
76955
76956         * m4/lib-check.m4: New file containing library-related checks from
76957         fileutils and sh-utils (textutils had none).
76958
76959 2000-01-28  Jim Meyering  <meyering@lucent.com>
76960
76961         * m4/perl.m4: Change format of warning message to look more like that
76962         from the missing script.  Suggestion from François Pinard.
76963
76964 2000-01-25  Jim Meyering  <meyering@lucent.com>
76965
76966         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
76967         well as time.h in the compile check.
76968         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
76969         Fix typo in cross-compiling case: s/yes/no/.
76970
76971 2000-01-23  Jim Meyering  <meyering@lucent.com>
76972
76973         * m4/jm-macros.m4: Move df-related tests here from
76974         fileutils/configure.in
76975
76976         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
76977         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
76978
76979         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
76980         s/space/ac_fsusage_space/.
76981         (jm_FILE_SYSTEM_USAGE): Take two parameters.
76982
76983         * m4/ftruncate.m4: New file (derived from part of
76984         fileutils/configure.in).
76985         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
76986         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
76987
76988         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
76989         AC_SUBST these here, rather than just in sh-util/configure.in, so
76990         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
76991         all the same.
76992         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
76993         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
76994         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
76995         (AC_SUBST(POW_LIBM)): Likewise.
76996         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
76997
76998 2000-01-23  Jim Meyering  <meyering@lucent.com>
76999
77000         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
77001         obstack.c.
77002
77003 2000-01-22  Jim Meyering  <meyering@lucent.com>
77004
77005         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
77006
77007         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
77008
77009         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
77010         configure.in
77011         (AC_CHECK_HEADERS): Likewise for sh-utils.
77012         (AC_CHECK_HEADERS): Likewise for textutils.
77013         Merge the three lists of headers.
77014
77015         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
77016         from fileutils' configure.in.
77017
77018         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
77019         code. Moved tests into their own function (_jm_DECL_HEADERS) in
77020         check-decl.m4.
77021
77022         * m4/check-decl.m4: Use #if rather than #ifdef.
77023         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
77024         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
77025         (_jm_DECL_HEADERS): Define new function.
77026         (jm_CHECK_DECLARATIONS): Require it.
77027
77028 2000-01-22  Jim Meyering  <meyering@lucent.com>
77029
77030         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
77031         [! HAVE_DECL_STRTOULL]: Declare strtoull.
77032         Required for some AIX systems.  Reported by Christian Krackowizer.
77033         [TESTING] (main): New function.
77034
77035         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
77036         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
77037         letters.
77038
77039         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
77040         iswprint.
77041
77042         * lib/strverscmp.c (ISDIGIT): Define.
77043         (strverscmp): Use ISDIGIT, not isdigit.
77044
77045 2000-01-19  Jim Meyering  <meyering@lucent.com>
77046
77047         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
77048         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
77049         defines `struct timespec' in <sys/time.h>
77050
77051         * m4/c-bs-a.m4: Remove uses of changequote altogether.
77052         Thanks to Akim for explaining.
77053
77054 2000-01-17  Paul Eggert  <eggert@twinsun.com>
77055
77056         * lib/nanosleep.c (nanosleep):
77057         Don't use SA_INTERRUPT to decide whether to call sigaction, as
77058         POSIX.1 doesn't require SA_INTERRUPT and some systems
77059         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
77060         it's been part of POSIX.1 since day 1 (in 1988).
77061
77062 2000-01-17  Jim Meyering  <meyering@lucent.com>
77063
77064         * lib/interlock: Remove unused file.  Reported by François Pinard.
77065
77066 2000-01-16  Paul Eggert  <eggert@twinsun.com>
77067
77068         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
77069         alert, backslash, formfeed, and vertical tab unnecessarily in
77070         shell quoting style.
77071
77072 2000-01-16  Jim Meyering  <meyering@lucent.com>
77073
77074         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
77075         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
77076         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
77077         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
77078
77079 2000-01-16  Jim Meyering  <meyering@lucent.com>
77080
77081         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
77082         because the latter didn't work.
77083
77084 2000-01-15  Jim Meyering  <meyering@lucent.com>
77085
77086         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
77087         (AC_REPLACE_FUNCS): Add memcpy and memset.
77088         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
77089         Add strpbrk.
77090         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
77091
77092 2000-01-12  Jim Meyering  <meyering@lucent.com>
77093
77094         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
77095         (jm_PREREQ): Use it.
77096         (jm_PREREQ_READUTMP): New macro.
77097         (jm_PREREQ): Use it.
77098
77099 2000-01-11  Paul Eggert  <eggert@twinsun.com>
77100
77101         Quote multibyte characters correctly.
77102         * m4/c-bs-a.m4: New file.
77103         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
77104         (jm_PREREQ): Use it.
77105
77106 2000-01-11  Paul Eggert  <eggert@twinsun.com>
77107
77108         * m4/uintmax_t.m4: Port to autoconf 2.13.
77109
77110 2000-01-08  Jim Meyering  <meyering@ascend.com>
77111
77112         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
77113         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
77114
77115 2000-01-04  Jim Meyering  <meyering@ascend.com>
77116
77117         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
77118         jm_STRUCT_DIRENT_D_TYPE.
77119         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
77120         jm_STRUCT_DIRENT_D_INO.
77121         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
77122         jm_STRUCT_UTIMBUF.
77123         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
77124         renamings.
77125         * m4/utime.m4: Likewise.
77126
77127         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
77128         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
77129
77130 2000-01-03  Paul Eggert  <eggert@twinsun.com>
77131
77132         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
77133         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
77134
77135 2000-01-02  Jim Meyering  <meyering@ascend.com>
77136
77137         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
77138         remember if this is necessary.
77139
77140 1999-12-26  Jim Meyering  <meyering@ascend.com>
77141
77142         * m4/jm-macros.m4: Use it here.
77143         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
77144
77145 1999-12-23  Jim Meyering  <meyering@ascend.com>
77146
77147         * m4/jm-macros.m4: Check for clock_gettime (moved from
77148         fileutils/configure.in)
77149         Check for gettimeofday.
77150
77151 1999-12-20  Jim Meyering  <meyering@ascend.com>
77152
77153         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
77154         autoconf-2.14a-1999-12-20.
77155
77156 1999-12-19  Jim Meyering  <meyering@ascend.com>
77157
77158         * m4/lstat-slash.m4: New file.
77159         * m4/jm-macros.m4: Use the new macro:
77160         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77161
77162 1999-12-07  Jim Meyering  <meyering@ascend.com>
77163
77164         * m4/perl.m4: Require that File::Compare be available, too.
77165         Too many systems seem to lack it.
77166
77167         * m4/strftime.m4: Add checks for most of the cpp macros tested in
77168         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
77169
77170 1999-11-18  Paul Eggert  <eggert@twinsun.com>
77171
77172         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
77173         problem with the QNX 4.25 shell, which doesn't propagate exit
77174         status of failed commands inside shell assignments.
77175
77176 1999-11-17  Jim Meyering  <meyering@ascend.com>
77177
77178         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
77179
77180 1999-11-07  Jim Meyering  <meyering@ascend.com>
77181
77182         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
77183
77184 1999-11-06  Jim Meyering  <meyering@ascend.com>
77185
77186         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
77187         * m4/jm-macros.m4 (jm_MACROS): Use it here.
77188
77189 1999-11-05  Jim Meyering  <meyering@ascend.com>
77190
77191         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
77192         configure.in of textutils, fileutils, and sh-utils into this one
77193         (shared between those packages) file.
77194         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
77195         AC_STRUCT_ST_BLKSIZE.
77196
77197 1999-11-03  Jim Meyering  <meyering@ascend.com>
77198
77199         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
77200         of AC_CHECK_TYPE checks includes unistd.h.
77201         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
77202         Suggestion from Akim Demaille.
77203
77204 1999-10-30  Jim Meyering  <meyering@ascend.com>
77205
77206         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
77207         m4-quoted string.
77208         * m4/ls-mntd-fs.m4: Likewise.
77209         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
77210         * m4/jm-winsz1.m4: Likewise.
77211
77212         * m4/const.m4: Remove file, since the fix made it into the experimental
77213         version of autoconf.
77214         * m4/mktime.m4: Likewise.
77215
77216         * m4/check-type.m4: Remove file, now that the latest version of
77217         AC_CHECK_TYPE takes a third arg to specify additional #includes.
77218
77219         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
77220         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
77221         AC_CHECK_TYPE.
77222
77223 1999-10-04  Jim Meyering  <meyering@ascend.com>
77224
77225         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
77226
77227 1999-09-22  Paul Eggert  <eggert@twinsun.com>
77228
77229         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
77230         2.95.1 bug with HP-UX 10.20.
77231
77232 1999-09-17  Jim Meyering  <meyering@ascend.com>
77233
77234         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
77235         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
77236         due to missing strdup (against sh-utils-2.0).
77237
77238 1999-08-29  Jim Meyering  <meyering@ascend.com>
77239
77240         * m4/jm-macros.m4: Require jm_BISON.
77241         * m4/bison.m4: New file.
77242
77243 1999-08-17  Paul Eggert  <eggert@twinsun.com>
77244
77245         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
77246         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
77247
77248 1999-08-05  Jim Meyering  <meyering@ascend.com>
77249
77250         * m4/getline.m4: Rename test file from conftestdata to conftest.data
77251         to avoid conflicts with `conftest' on 8+3 filesystems.
77252         Suggestion from Eli Zaretskii.
77253
77254 1999-08-04  Jim Meyering  <meyering@ascend.com>
77255
77256         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
77257         fileutils and sh-utils (textutils's getline test was inadequate).
77258         (AM_FUNC_GETLINE): Run this test.
77259         (AC_CHECK_FUNCS): Check for getdelim.
77260         Reported by Bob Proulx.
77261
77262 1999-08-02  Jim Meyering  <meyering@ascend.com>
77263
77264         * m4/jm-macros.m4: Add a comment.
77265
77266 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77267
77268         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
77269         <inttypes.h> defines strtoumax as a macro (and not as a
77270         function).
77271
77272 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77273
77274         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
77275         that we can shift, multiply and divide unsigned long long
77276         values; Ultrix cc can't do it.
77277
77278 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77279
77280         * m4/mktime.m4: New file, which is a preview of what should appear
77281         in the next public autoconf release.
77282
77283 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77284
77285         * m4/lfs.m4: Remove this file.
77286         * m4/largefile.m4: New file.  It contains the old contents of
77287         lfs.m4, except that all names with prefix AC_LFS have been
77288         changed to use the prefix AC_SYS_LARGEFILE instead, to be
77289         compatible with future autoconf versions.  Also, some minor m4
77290         quoting problems have been fixed.
77291
77292 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77293
77294         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
77295         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
77296         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
77297         and simplify the shell code.
77298
77299 1999-08-01  Jim Meyering  <meyering@ascend.com>
77300
77301         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
77302         m4.
77303
77304 1999-07-20  Jim Meyering  <meyering@ascend.com>
77305
77306         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
77307
77308 1999-07-15  Jim Meyering  <meyering@ascend.com>
77309
77310         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
77311
77312 1999-05-22  Jim Meyering  <meyering@ascend.com>
77313
77314         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
77315
77316 1999-05-20  Jim Meyering  <meyering@ascend.com>
77317
77318         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
77319         Add a colon after each `then' in case $4 is empty.
77320
77321 1999-05-16  Jim Meyering  <meyering@ascend.com>
77322
77323         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
77324
77325 1999-05-10  Jim Meyering  <meyering@ascend.com>
77326
77327         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
77328
77329         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
77330         AC_FUNC_MKTIME.
77331
77332 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
77333
77334         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
77335
77336 1999-05-04  Paul Eggert  <eggert@twinsun.com>
77337
77338         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
77339         not CPPFLAGS, so that linking works correctly in IRIX.
77340
77341 1999-04-30  Paul Eggert  <eggert@twinsun.com>
77342
77343         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
77344
77345 1999-04-20  Paul Eggert  <eggert@twinsun.com>
77346
77347         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
77348         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
77349         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
77350         jm_AC_TYPE_UNSIGNED_LONG_LONG.
77351         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
77352
77353         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
77354
77355 1999-04-20  Jim Meyering  <meyering@ascend.com>
77356
77357         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
77358         AC_REPLACE xstroull if necessary.  From Paul Eggert.
77359         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
77360
77361 1999-04-18  Jim Meyering  <meyering@ascend.com>
77362
77363         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
77364         * m4/jm-macros.m4: Use it.
77365
77366 1999-04-06  Jim Meyering  <meyering@ascend.com>
77367
77368         * m4/strftime.m4: Remove test for %f.
77369
77370 1999-03-29  Jim Meyering  <meyering@ascend.com>
77371
77372         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
77373         superset of the AC_TYPE_* checks in the textutils, fileutils,
77374         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
77375         AC_TYPE_PID_T.
77376
77377 1999-03-28  Jim Meyering  <meyering@ascend.com>
77378
77379         * m4/jm-macros.m4: Define GNU_PACKAGE here.
77380         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
77381         replaced e.g., in the *.sh files of the sh-utils.
77382
77383 1999-03-20  Jim Meyering  <meyering@ascend.com>
77384
77385         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
77386         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
77387         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
77388
77389 1999-03-19  Jim Meyering  <meyering@ascend.com>
77390
77391         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
77392
77393 1999-03-12  Jim Meyering  <meyering@ascend.com>
77394
77395         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
77396
77397 1999-03-07  Jim Meyering  <meyering@ascend.com>
77398
77399         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
77400         declared.
77401
77402 1999-02-17  Jim Meyering  <meyering@ascend.com>
77403
77404         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
77405         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
77406
77407 1999-02-07  Jim Meyering  <meyering@ascend.com>
77408
77409         * m4/group-member.m4: New file -- extracted from sh-utils'
77410         configure.in.
77411
77412         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
77413         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
77414
77415 1999-02-06  Jim Meyering  <meyering@ascend.com>
77416
77417         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
77418         * m4/fnmatch.m4: Likewise.
77419         * m4/getgroups.m4: Likewise.
77420         * m4/lstat.m4: Likewise.
77421         * m4/malloc.m4: Likewise.
77422         * m4/putenv.m4: Likewise.
77423         * m4/realloc.m4: Likewise.
77424         * m4/regex.m4: Likewise.
77425         * m4/stat.m4: Likewise.
77426         * m4/strftime.m4: Likewise.
77427         Suggestion from Alain Magloire.
77428
77429         * m4/chown.m4: Use `.$ac_objext', not `.o'.
77430         * m4/fnmatch.m4: Likewise.
77431         * m4/getgroups.m4: Likewise.
77432         * m4/getline.m4: Likewise.
77433         * m4/lstat.m4: Likewise.
77434         * m4/malloc.m4: Likewise.
77435         * m4/memcmp.m4: Likewise.
77436         * m4/putenv.m4: Likewise.
77437         * m4/realloc.m4: Likewise.
77438         * m4/regex.m4: Likewise.
77439         * m4/stat.m4: Likewise.
77440         * m4/strftime.m4: Likewise.
77441         Suggestion from Alain Magloire.
77442
77443         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
77444         an argument.
77445
77446         * m4/regex.m4: Add a run-time Test for proper operation of
77447         re_compile_pattern.
77448
77449 1999-01-31  Jim Meyering  <meyering@ascend.com>
77450
77451         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
77452
77453 1999-01-30  Jim Meyering  <meyering@ascend.com>
77454
77455         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
77456
77457         * m4/jm-mktime.m4: Make this a wrapper around the official
77458         AM_FUNC_MKTIME rather than my private copy, now that the official one
77459         is up to date.
77460         * m4/mktime.m4: Remove file.
77461
77462         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
77463         * m4/uptime.m4: Likewise.
77464         * m4/uintmax_t.m4: Likewise.
77465
77466 1999-01-28  Jim Meyering  <meyering@ascend.com>
77467
77468         * m4/jm-macros.m4: Use jm_AFS.
77469         * m4/afs.m4: New file (from fileutils' configure.in).
77470
77471         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
77472         * m4/chown.m4: Likewise.
77473         * m4/d-ino.m4: Likewise.
77474         * m4/d-type.m4: Likewise.
77475         * m4/fnmatch.m4: Likewise.
77476         * m4/getgroups.m4: Likewise.
77477         * m4/gettext.m4: Likewise.
77478         * m4/jm-mktime.m4: Likewise.
77479         * m4/jm-winsz2.m4: Likewise.
77480         * m4/lcmessage.m4: Likewise.
77481         * m4/ls-mntd-fs.m4: Likewise.
77482         * m4/malloc.m4: Likewise.
77483         * m4/memcmp.m4: Likewise.
77484         * m4/putenv.m4: Likewise.
77485         * m4/realloc.m4: Likewise.
77486         * m4/st_mtim.m4: Likewise.
77487         * m4/strftime.m4: Likewise.
77488
77489 1999-01-16  Jim Meyering  <meyering@ascend.com>
77490
77491         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
77492         (ARGMATCH_DIE_DECL): Define.
77493
77494 1999-01-12  Jim Meyering  <meyering@ascend.com>
77495
77496         * m4/Makefile.am.in: Rewrite to avoid using fmt.
77497         Reported by Lars Hecking.
77498
77499 1999-01-10  Jim Meyering  <meyering@ascend.com>
77500
77501         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
77502         gross kludge.
77503         * m4/inttypes_h.m4: Likewise.
77504         * m4/lstat.m4: Likewise.
77505         * m4/malloc.m4: Likewise.
77506         * m4/readdir.m4: Likewise.
77507         * m4/realloc.m4: Likewise.
77508         * m4/st_dm_mode.m4: Likewise.
77509         * m4/stat.m4: Likewise.
77510         * m4/utimbuf.m4: Likewise.
77511         * m4/utimes.m4: Likewise.
77512
77513         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
77514         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
77515         comments in config.h.in are meaningful.
77516
77517         * m4/jm-macros.m4: Require autoconf-2.13 here.
77518
77519         * m4/regex.m4: By default, don't use the included regex.c on systems
77520         with glibc 2.  Suggestion from Uli Drepper.
77521
77522 1999-01-02  Jim Meyering  <meyering@ascend.com>
77523
77524         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
77525
77526 1998-12-18  Jim Meyering  <meyering@ascend.com>
77527
77528         * m4/Makefile.am.in (Makefile.am): Simplify rule.
77529         Based on a suggestion from Lars Hecking.
77530
77531 1998-11-16  Paul Eggert  <eggert@twinsun.com>
77532
77533         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
77534
77535 1998-11-16  Jim Meyering  <meyering@ascend.com>
77536
77537         * m4/lfs.m4: Double-quote the `uname...` expression.
77538
77539 1998-11-14  Jim Meyering  <meyering@ascend.com>
77540
77541         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
77542         * m4/stat.m4: Likewise.
77543
77544 1998-11-03  Jim Meyering  <meyering@ascend.com>
77545
77546         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
77547         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
77548
77549 1998-10-18  Jim Meyering  <meyering@ascend.com>
77550
77551         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
77552
77553 1998-10-17  Jim Meyering  <meyering@ascend.com>
77554
77555         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
77556         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
77557         calls for those previously hard-coded headers.  Instead, take a new
77558         parameter.
77559         (jm_CHECK_DECLARATIONS): Reflect interface change.
77560         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
77561         (jm_CHECK_DECL_LOCALTIME_R): New macro.
77562
77563         * m4/mktime.m4: Test for spring-forward gap before long-running test.
77564
77565 1998-10-14  Jim Meyering  <meyering@ascend.com>
77566
77567         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
77568         instead of "TZ=America/Vancouver".  From Paul Eggert.
77569
77570 1998-10-11  Jim Meyering  <meyering@ascend.com>
77571
77572         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
77573         This adds a test for a recently added compatibility fix for mktime.c.
77574         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
77575
77576 1998-09-27  Jim Meyering  <meyering@ascend.com>
77577
77578         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
77579
77580         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
77581         ../configure.in, including a change from Gordon Matzigkeit to allow
77582         cross-compiling for the Hurd.
77583
77584         * m4/glibc.m4: New file/macro to test for the GNU C Library
77585         versions 1 and 2.  From Gordon Matzigkeit.
77586         Indent.
77587
77588 1998-09-21  Jim Meyering  <meyering@ascend.com>
77589
77590         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
77591
77592 1998-08-18  Paul Eggert  <eggert@twinsun.com>
77593
77594         Port nanosecond-resolution times to UnixWare 2.1.2 and
77595         pedantic Solaris 2.6.
77596
77597         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
77598         AC_STRUCT_ST_MTIM.
77599         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
77600         Generate name of ns member, instead of just 1 or undef.
77601         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
77602
77603 1998-08-15  Jim Meyering  <meyering@ascend.com>
77604
77605         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
77606         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
77607         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
77608         instead of jm_TYPE_SSIZE_T.
77609
77610 1998-08-12  Jim Meyering  <meyering@ascend.com>
77611
77612         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
77613
77614 1998-08-02  Jim Meyering  <meyering@ascend.com>
77615
77616         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
77617         in acconfig.h manually.
77618
77619 1998-07-31  Paul Eggert  <eggert@twinsun.com>
77620
77621         * m4/st_mtim.m4: New file.
77622
77623 1998-07-28  Jim Meyering  <meyering@ascend.com>
77624
77625         * m4/utimes.m4: Undef stat.
77626
77627 1998-07-25  Jim Meyering  <meyering@ascend.com>
77628
77629         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
77630         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
77631
77632 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
77633
77634         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
77635         uid and gid actually remain unchanged.
77636
77637 1998-07-07  Jim Meyering  <meyering@ascend.com>
77638
77639         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
77640
77641 1998-07-04  Jim Meyering  <meyering@ascend.com>
77642
77643         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
77644         to prove that this macro can be used in packages without regex.c.
77645
77646 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
77647
77648         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
77649         is to be used.
77650
77651 1998-07-03  Jim Meyering  <meyering@ascend.com>
77652
77653         * m4/gettext.m4: Add -lintl if it's found to be necessary.
77654
77655         * m4/gettext.m4: New file -- from gettext-0.10.35.
77656         * m4/lcmessage.m4: Likewise.
77657         * m4/progtest.m4: Likewise.
77658
77659         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
77660         * m4/jm-macros.m4: Require the new macro.
77661
77662 1998-06-29  Jim Meyering  <meyering@ascend.com>
77663
77664         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
77665         for the definition of NGROUPS (used in a system header included
77666         by sys/mount.h).
77667
77668 1998-06-28  Jim Meyering  <meyering@ascend.com>
77669
77670         * m4/ls-mntd-fs.m4: New file.
77671         * m4/fstypename.m4: New file.
77672
77673         * m4/jm-macros.m4: Require the new macro.
77674         * m4/jm-glibc-io.m4: New file.
77675
77676 1998-05-19  Jim Meyering  <meyering@ascend.com>
77677
77678         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
77679         * m4/lchown.m4: New file.
77680
77681         * m4/Makefile.am.in: New file.
77682         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
77683
77684 1998-05-14  Jim Meyering  <meyering@ascend.com>
77685
77686         * m4/Makefile.am (EXTRA_DIST): Add them.
77687         * m4/jm-macros.m4: New file.
77688         * m4/utimbuf.m4: New file.
77689
77690 1998-05-12  Jim Meyering  <meyering@ascend.com>
77691
77692         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
77693
77694 1998-05-11  Jim Meyering  <meyering@ascend.com>
77695
77696         * m4/isc-posix.m4: New file.
77697
77698 1998-05-10  Jim Meyering  <meyering@ascend.com>
77699
77700         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
77701
77702 1998-05-09  Jim Meyering  <meyering@ascend.com>
77703
77704         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
77705         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
77706         with automake.
77707
77708         * m4/ssize_t.m4: New file.
77709         * m4/mktime.m4: Remove file -- the new automake has this now.
77710
77711 1998-04-26  Jim Meyering  <meyering@ascend.com>
77712
77713         * m4/assert.m4: New file.
77714         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
77715
77716 1998-04-05  Jim Meyering  <meyering@ascend.com>
77717
77718         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
77719         (jm_PREREQ): Use it here.
77720
77721 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
77722
77723         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
77724         in acconfig.h.
77725
77726 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
77727
77728         * m4/prereq.m4: New file.
77729         * m4/error.m4: New file.
77730         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
77731
77732 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
77733
77734         * m4/getline.m4: Don't set am_cv_func_working_getline before the
77735         cache-check for the same variable -- that defeated the purpose of
77736         the test; the test program was never run.  This was a problem only
77737         on systems with losing getline functions -- HP-UX 10.20 is one.
77738         Reported by Bjorn Helgaas.
77739
77740 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
77741
77742         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
77743
77744 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
77745
77746         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
77747
77748         * m4/const.m4: New file.  Use an initializer in this declaration
77749         typedef int charset[2]; const charset x;
77750         Reported by Bob Glickstein.
77751
77752 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
77753
77754         * m4/chown.m4: Fix reversed types on -1 args to chown.
77755         From Kaveh Ghazi.
77756
77757 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
77758
77759         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
77760         Add lseek and memchr.
77761
77762         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
77763         T.E.Dickey <dickey@clark.net> said that some older preprocessors
77764         have a 20-character limit on names.
77765
77766 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
77767
77768         * m4/inttypes_h.m4: New file.
77769         * m4/uintmax_t.m4: New file.
77770         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
77771
77772
77773         -----
77774
77775         Local Variables:
77776         coding: utf-8
77777         End:
77778
77779         Copyright (C) 1997-2011 Free Software Foundation, Inc.
77780
77781         Copying and distribution of this file, with or without
77782         modification, are permitted provided the copyright notice
77783         and this notice are preserved.